随着大数据的越发流行,大大小小的互联网公司都开始参与一些大数据相关的业务,都想从中分一杯羹。Hadoop是大数据的典型代表,也可以说现在的领头大哥,很多互联网巨头都在使用hadoop,包括BAT等大公司。但是由于hadoop对于管理维护的人员要求比较高,企业需要对其投入大量的人力、财力。这里介绍个工具ambari,是apache开源社区的顶级子项目,由hortonworks公司开发维护的,并作为apache的一个子项目,hortonworks公司可以说是apache的新贵公司,实力相当雄厚。ambari主要功能是通过web端界面提供UI来实现hadoop及生态工具的自动化安装、配置、监控、报警功能于一体的工具。可以通过web界面点击鼠标来部署维护hadoop集群,可以大量减轻运维人员的劳动量。

其实关于ambari工具我也只是了解个皮毛,大概知道它的功能和简单系统结构。接触ambari也纯属偶然,公司最近需要做大数据方面的产品,想做一个类似ambari的工具,但是ambari工具的界面不是特别友好,架构也有点复杂,我们公司期望做一个可视化友好的,简单的,类似ambari的工具。所以最近开始研究这个ambari工具,大都是英文资料,研究起来也是很费力的。

前几天初次研究ambari系统的时候,也尝试安装ambari工具。安装方式主要2种:公共源安装和源码编译安装。初次使用源码安装,ambari-server大部分似乎是使用java编写的,编译工具是maven,之前没用过,尝试编译,中间遇到过很多次错误,编译安装过程中需要下载很多依赖的包,如果网络不好的话,安装过程中会中断,我记得试着安装了好几次,他妹的都被龟速的网络给卡住,实在没心情搞源码编译了,就放弃了。结果去采用yum方式来安装ambari,本想着这种方式肯定是万无一失,于是乎按照ambari官方文档进行了安装,配置ambari源,安装server,ambari-server setup设置server的环境和数据库等,设置完毕,开启server。在浏览器172.16.1.27:8080打开,顺利打开。按照向导开始部署hadoop测试集群,设定stack名称,填写主机列表,配置server的ssh私钥,开始安装ambari-agent(ambari-server自动会向各主机列表执行安装命令),第一步就报错,大概意思是yum安装ambari-agent失败,原因是找不到ambari-agent源。于是自己手动去搜索ambari-agent软件包,也没有搜素到,至于ambari-server等一些列的包,就是没有ambari-agent,当时这个问题困扰了我好长时间,也没有查出什么原因;前天又开始搞一下ambari,想大概看一下源码,就无意间看了下官方的一些文档,妹的,文档也藏得这么神秘,嵌套了好几层的目录。文档中只说明支持64系统,并没有说支持32bit的。后来又尝试了64bit的centos6.4系统,似乎可以了,以前的问题没有了,继续尝试安装hadoop集群,到最后安装hadoop的各个服务组件时候,需要向互联网源去下载hadoop的相关安装包,yum源是hortonworks官方的,速度可以说是很操蛋,需要下载的包还很多,很大。尝试过N次,最后都因为网络中断超时导致安装失败。最后又拿出了杀手锏,想自己搭建一个yum源服务器,让测试主机从内网的yum服务器去下载,这样应该可以了吧。于是乎去虚拟机上又搭建了个服务器,采用http方式的,步骤比较简单,搭建http服务器,简单配置,把下载到的rpm包放到相关目录,再执行createrepo命令,似乎是这个命令来生成repo的相关格式数据,即可从web浏览器上查看到相关安装包。于是就不再说了,成功安装,但是中间有点问题,可能是虚拟机本身内存太小,安装过程中有警告信息,没有理会,安装完毕后,有一个host经常会挂掉,应该是虚机内存问题,至少反映了ambari工具的功能还是比较强悍的,显示出来的dashboard也比较漂亮,要是能显示中文就更好了。

其中的一些技术细节先不记录了,下次有时间总结一下ambari的安装过程,包括建立yum本地源的过程。

Ambari工具之认识学习01的更多相关文章

  1. Android Testing学习01 介绍 测试测什么 测试的类型

    Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...

  2. Java学习01

    Java学习01 第一章 1.JRE与JDK JDK(JAVA Develop Kit,JAVA开发工具包)提供了Java的开发环境和运行环境,主要用于开发JAVA程序,面向Java程序的开发者; J ...

  3. Redis学习01——介绍与搭建环境

    Redis学习01介绍与搭建环境一简介二yum配置已经配置了的可以跳过三安装gcc四安装redis1 上传Redis到linux中2 解压到usrlocal下3 编译redis4 安装redis5 拷 ...

  4. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  5. Java虚拟机JVM学习01 流程概述

    Java虚拟机JVM学习01 流程概述 Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序. 当启动一个Java程序时,一个虚拟机实例诞生:当程序关闭退出,这 ...

  6. ThinkPhp学习01

    原文:ThinkPhp学习01 一.ThinkPHP的介绍           MVC  M - Model 模型                工作:负责数据的操作  V - View  视图(模板 ...

  7. 【iScroll源码学习01】准备阶段 - 叶小钗

    [iScroll源码学习01]准备阶段 - 叶小钗 时间 2013-12-29 18:41:00 博客园-原创精华区 原文  http://www.cnblogs.com/yexiaochai/p/3 ...

  8. JVM学习01:内存结构

    JVM学习01:内存结构 写在前面:本系列分享主要参考资料是  周志明老师的<深入理解Java虚拟机>第二版. 内存结构知识要点Xmind梳理 案例分析 分析1 package com.h ...

  9. webservice学习01:wsdl文档结构

    webservice学习01:wsdl文档结构 wsdl文档结构 WSDL文档示例 <wsdl:definitions xmlns:xsd="http://www.w3.org/200 ...

随机推荐

  1. 窗口之间的主从关系与Z-Order

    说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小段描述Window Mobile平台的内容已过时,大部分内容对于从事Win32开发的程序员还是很有参考价值的,也是对自己从事Windo ...

  2. Guava学习笔记:Guava新集合-Table等

    Table 当我们需要多个索引的数据结构的时候,通常情况下,我们只能用这种丑陋的Map<FirstName, Map<LastName, Person>>来实现.为此Guava ...

  3. 使用PhpStrom等IDE编辑 远程linux服务器上的文件 实时更新

    习惯了在linux上 vim进行PHP的开发,突然忘了IDE的感觉,所以想到了.通过PhpStrom等IDE直接编辑 samba共享到 mac或者windows本地的磁盘进行编辑. 为了忘却的纪念,有 ...

  4. 双重OAuth 2.0架构

    OAuth 2.0支持几种grant type,由于安全性不同,所以适用范围也不同.背景知识:<理解OAuth 2.0> grant type 是否需要secret 是否出现授权界面 授权 ...

  5. mysql在Windows下使用mysqldump命令备份数据库

    在cmd窗口中使用mysqldump命令首先需要配置环境变量 1,在计算机中找到MySQL的安装位置,找到MySQL Workbench,比如我的是C:\Program Files\MySQL\MyS ...

  6. 轻松掌握:JavaScript享元模式

    享元模式 在JavaScript中,浏览器特别是移动端的浏览器分配的内存很有限,如何节省内存就成了一件非常有意义的事情.节省内存的一个有效方法是减少对象的数量. 享元模式(Flyweight),运行共 ...

  7. javascript之DOM

    文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...

  8. 每次点击按钮后,判断页面是否已经有该行,没有弹出repeater的一行,并给他赋一个这行附值,没有则跳出

    protected void btnAdd_click(object sender, EventArgs e) { try { //记录第几次追加 pressCount++; typeString.A ...

  9. 优化MySchool数据库(事务、视图、索引)

    事务.视图.索引: 事务:当生活逻辑中的“一个步骤”,需要使用多条SQL去完成时,必须使用事务来确保其“完整性“. 视图:简化数据库结构,方便你编写SQL语句(简化SQL语句的编写) 索引:提高“数据 ...

  10. 【Android】Mac安装EasyTether导致无法识别设备的问题

    正文 想让手机走PC网络,然后抓包,于是搜索一番后安装了一个叫EasyTether的软件.还没来得及测试,就忙着写代码去了,重启MAC以后就发现连不上手机了,一开始并没有怀疑是 EasyTether的 ...