随着大数据的越发流行,大大小小的互联网公司都开始参与一些大数据相关的业务,都想从中分一杯羹。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. mysql分页查询详解

    我们做的后端项目一般都会有admin管理端,当管理端将要展示数据的时候,就需要用到分页.所以分页的考查在面试中也相当多.在mysql中进行分页查询时,一般会使用limit查询,而且通常查询中都会使用o ...

  2. No suitable driver found for jdbc:mysql://localhost:3306/dmc

    1. 使用java jdbc直接连接数据库操作, 出现题中错误, 参考网上说法, 将mysql连接jar放入jre拓展底下 不再报错

  3. 关于HTML面试题汇总之visibility

    一.页面可见性(visibility) 主要提供两个属性,一个事件(都在document对象上):1. 属性:   1.1.  hidden:获取或设置当前页面的可见性,boolean值:   1.2 ...

  4. EpicEditor – 可嵌入的 JavaScript Markdown 编辑器

    EpicEditor 是一款可以嵌入到网页中的 JavaScript Markdown 编辑器,支持全屏编辑.在线预览.自动保存草稿,离线支持等等.对于开发人员,它提供了一个健壮的API,可以很容易定 ...

  5. 小白的CSS基础学习

    CSS定义: CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式. CSS代码语法: css样式选择组成部分:选择符+声明( ...

  6. go语言选择语句 switch case

    根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...

  7. 关于sharepoint2013的SPUtility.GetGenericSetupPath()方法过期解决办法

    有个时候需要读取layouts下的xml文件,因此需要知道路径,以前在SP2010用的SPUtility.GetGenericSetupPath()方法获取.现在SP2013提示过期否决 看2个结构分 ...

  8. Android布局优化策略

    我们要知道布局是否合理,可以通过Hierarchy Viewer这个工具.打开Hierarchy Viewer(定位到tools/目录下,直接执行hierarchyviewer的命令,选定需要查看的P ...

  9. Kotlin语法(函数和lambda表达式)

    三.函数和lambda表达式 1. 函数声明 fun double(x: Int): Int { } 函数参数是用 Pascal 符号定义的 name:type.参数之间用逗号隔开,每个参数必须指明类 ...

  10. android 切换fragment的两种方式

    使用add方法切换时:载入Fragment1Fragment1 onCreateFragment1 onCreateViewFragment1 onStartFragment1 onResume用以下 ...