共计 7804 个字符,预计需要花费 20 分钟才能阅读完成。
前言
做大数据相关的后端开发工作一年多来, 随着 Hadoop 社区的不断发展, 也在不断尝试新的东西, 本文着重来讲解下 Ambari, 这个新的 Apache 的项目, 旨在让大家能够方便快速的配置和部署 Hadoop 生态圈相关的组件的环境, 并提供维护和监控的功能.
作为新手, 我讲讲我自己的学习经历, 刚刚开始学习的时候, 当然最简单的 Google 下 Hadoop , 然后下载相关的包, 在自己的虚拟机 (CentOS 6.3) 上安装一个单机的 Hadoop 版本用来做测试, 写几个测试类, 然后做下 CRUD 测试之类的, 跑跑 Map/Reduce 的测试, 当然这个时候对于 Hadoop 还不是很了解, 不断的看别人的文章, 了解下整体的架构, 自己所做的就是修改 conf 下的几个配置文件, 让 Hadoop 能够正常的跑起来, 这个时候几种在修改配置上, 这个阶段之后, 又用到了 HBase, 这个 Hadoop 生态圈的另外一个产品, 当然还是修改配置, 然后 start-all.sh , start-hbase.sh 把服务起起来, 然后就是修改自己的程序, 做测试, 随着用 Hbase 学了下 Zookeeper 和 Hive 等, 接着过了这个操作阶段了之后, 开始研究 Hadoop2.0, 算是对 Hadoop 的生态圈整体有一些了解, 介于自己在公司所承担的开发所涉及到相关的技术仅仅就这些. 但是作为一个爱好探索的人, 是否想多了解下呢, 它的性能怎么样? 它是具体如何运作的? 看大公司的那些 PPT, 人家(淘宝等大公司) 动不动就是几十个, 几百个, 乃至几千个节点, 人家是如何管理的, 性能是怎么样的? 看着 PPT 里面的那些性能测试的曲线, 你是否也能够详细的了解, 并且对自己的项目进行性能调优呢? 我貌似找到答案了, 那就是 Ambari , 由 HortonWorks 开发的一个 Hadoop 相关的项目, 具体可以上官方去了解.
————————————– 分割线 ————————————–
相关阅读:
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop LZO 安装教程 http://www.linuxidc.com/Linux/2013-01/78397.htm
Hadoop 集群上使用 Lzo 压缩 http://www.linuxidc.com/Linux/2012-05/60554.htm
————————————– 分割线 ————————————–
了解 Hadoop 生态圈
现在我们经常看到的一些关键字有: HDFS,MapReduce,HBase,Hive,ZooKeeper,Pig,Sqoop,Oozie,Ganglia,Nagios,CDH3,CDH4,Flume,Scribe,Fluented,HttpFS 等等, 其实应该还有更多,Hadoop 生态圈现在发展算是相当繁荣了, 而在这些繁荣的背后又是谁在推动的呢? 读过 Hadoop 历史的朋友可能知道,Hadoop 最早是始于 Yahoo, 但是现在主要是由 HortonWorks 和 Cloudera 这 2 家公司在维护者, 大部分的 commiter 都属于这 2 家公司, 所以现在市面上看到的主要有 2 个版本,CDH 系列, 和社区版, 我最早用的是社区版本, 后来换到 CDH3, 现在又换回社区版, 因为有 Ambari. 当然, 用什么和不用什么, 只要自己的技术到家, 还是都能修改的跑的正常的. 这里就不多说了. 讲了这么多废话了, 开始讲 Ambari 安装吧.
开始部署
首先了解下 Ambari, 项目地址在:http://incubator.apache.org/ambari/
安装文档在: http://incubator.apache.org/ambari/1.2.2/installing-hadoop-using-ambari/content/index.html
HortonWorks 的人写的一篇介绍安装的文章我翻译了下: http://www.linuxidc.com/Linux/2014-05/101530.htm 安装的时候请大家先看下安装文档吧, 安装文档必须认真看, 结合自己当前所使用的系统版本, 配置不同的源, 而且安装过程中需要的时间相对比较长, 所以需要认真的做好安装文档的每个步骤. 这里我就说我遇到的一些问题.
以下说说我自己的安装过程.
机器准备:
我的测试环境采用 9 台 HP 的烂机器, 分别是 cloud100 – cloud108 , cloud108 做为管理节点.
Ambari 安装的环境路径:
各台机器的安装目录:
/usr/lib/hadoop
/usr/lib/hbase
/usr/lib/zookeeper
/usr/lib/hcatalog
/usr/lib/hive
Log 路径, 这里需要看出错信息都可以在目录下找到相关的日志
/var/log/hadoop
/var/log/hbase
配置文件的路径
/etc/hadoop
/etc/hbase
/etc/hive
HDFS 的存储路径
/hadoop/hdfs
安装过程需要注意的点:
1, 安装的时候, 需要做好每台机器的 ssh 免密码登陆, 这篇 http://www.linuxidc.com/Linux/2014-05/101532.htm 中提到了, 做好之后, 从 管理节点到各个集群节点之间, 都能使用这个登陆.
2, 如果你的机器之前安装过 Hadoop 的相关服务, 特别是 Hbase 里面配置了 HBASE_HOME 的环境变量, 需要 unset 掉, 这个环境变量会影响, 因为我之前把这些路径放到 /etc/profile 里面导致影响了 HBase, 因为 Ambari 安装的路径和你之前安装的可能不一样.
3, 在服务选择页面的时候, NameNode 和 SNameNode 需要布置在一起, 我之前尝试做 HA 而把他们分开, 但是 SNameNode 一直起不来, 导致整个启动失败, 接下来时间需要花在 HA 上.
4. JobTrakcer 不和 Namenode 在一起也会导致 启动不起来.
5. Datanode 的节点 不能少于 Block replication 中数, 基本都是需要 >= 3.
6. Confirm Hosts 的时候, 需要注意里面的 Warning 信息, 把相关的 Warning 都处理掉, 有一些 Warning 会导致安装出错.
7. 记住安装中所新建的用户, 接下来需要用到这些用户.
8. Hive 和 HBase Master 部署在同一个节点, 这里当然你也可以分开. 设置好后就开始安装了.
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/101531p2.htm
9. 如果安装失败的情况下, 如何重新安装.
首先, 先删除掉系统已经安装的文件相关的目录,
sh file_cp.sh cmd “rm -rf /usr/lib/Hadoop && rm -rf /usr/lib/hbase && rm -rf /usr/lib/zookeeper”
sh file_cp.sh cmd “rm -rf /etc/hadoop && rm -rf /etc/hbase && rm -rf /hadoop && rm -rf /var/log/hadoop”
sh file_cp.sh cmd “rm -rf /etc/ganglia && rm -rf /etc/hcatalog && rm -rf /etc/hive && rm -rf /etc/nagios && rm -rf /etc/sqoop && rm -rf /var/log/hbase && rm -rf /var/log/nagios && rm -rf /var/log/hive && rm -rf /var/log/zookeeper && rm -rf /var/run/hadoop && rm -rf /var/run/hbase && rm -rf /var/run/zookeeper “
再在 Yum remove 掉安装的相关的包.
sh file_cp.sh cmd “yum -y remove ambari-log4j hadoop hadoop-lzo hbase hive libconfuse nagios sqoop zookeeper”
我这里使用到了自己写的 Shell, 方便在多台机器之间执行命令:
https://github.com/xinqiyang/opshell/tree/master/hadoop
Reset 下 Ambari-Server
ambari-server stop
ambari-server reset
ambari-server start
10. 注意时间的同步, 时间问题会导致 regionserver 起不来
11. iptables 需要关闭, 有的时候可能机器会重新启动, 所以不单单需要 service stop 也需要 chkconfig 关闭掉.
最后安装完成后, 登陆地址查看下服务的情况:
http:// 管理节点 ip:8080 , 比如我这里的: http://192.168.1.108:8080/ 登陆之后, 需要设置之前在安装 Ambari-server 时候输入的账号和密码, 进入
查看 ganglia 的监控
查看 nagios 的监控
前言
做大数据相关的后端开发工作一年多来, 随着 Hadoop 社区的不断发展, 也在不断尝试新的东西, 本文着重来讲解下 Ambari, 这个新的 Apache 的项目, 旨在让大家能够方便快速的配置和部署 Hadoop 生态圈相关的组件的环境, 并提供维护和监控的功能.
作为新手, 我讲讲我自己的学习经历, 刚刚开始学习的时候, 当然最简单的 Google 下 Hadoop , 然后下载相关的包, 在自己的虚拟机 (CentOS 6.3) 上安装一个单机的 Hadoop 版本用来做测试, 写几个测试类, 然后做下 CRUD 测试之类的, 跑跑 Map/Reduce 的测试, 当然这个时候对于 Hadoop 还不是很了解, 不断的看别人的文章, 了解下整体的架构, 自己所做的就是修改 conf 下的几个配置文件, 让 Hadoop 能够正常的跑起来, 这个时候几种在修改配置上, 这个阶段之后, 又用到了 HBase, 这个 Hadoop 生态圈的另外一个产品, 当然还是修改配置, 然后 start-all.sh , start-hbase.sh 把服务起起来, 然后就是修改自己的程序, 做测试, 随着用 Hbase 学了下 Zookeeper 和 Hive 等, 接着过了这个操作阶段了之后, 开始研究 Hadoop2.0, 算是对 Hadoop 的生态圈整体有一些了解, 介于自己在公司所承担的开发所涉及到相关的技术仅仅就这些. 但是作为一个爱好探索的人, 是否想多了解下呢, 它的性能怎么样? 它是具体如何运作的? 看大公司的那些 PPT, 人家(淘宝等大公司) 动不动就是几十个, 几百个, 乃至几千个节点, 人家是如何管理的, 性能是怎么样的? 看着 PPT 里面的那些性能测试的曲线, 你是否也能够详细的了解, 并且对自己的项目进行性能调优呢? 我貌似找到答案了, 那就是 Ambari , 由 HortonWorks 开发的一个 Hadoop 相关的项目, 具体可以上官方去了解.
————————————– 分割线 ————————————–
相关阅读:
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop LZO 安装教程 http://www.linuxidc.com/Linux/2013-01/78397.htm
Hadoop 集群上使用 Lzo 压缩 http://www.linuxidc.com/Linux/2012-05/60554.htm
————————————– 分割线 ————————————–
了解 Hadoop 生态圈
现在我们经常看到的一些关键字有: HDFS,MapReduce,HBase,Hive,ZooKeeper,Pig,Sqoop,Oozie,Ganglia,Nagios,CDH3,CDH4,Flume,Scribe,Fluented,HttpFS 等等, 其实应该还有更多,Hadoop 生态圈现在发展算是相当繁荣了, 而在这些繁荣的背后又是谁在推动的呢? 读过 Hadoop 历史的朋友可能知道,Hadoop 最早是始于 Yahoo, 但是现在主要是由 HortonWorks 和 Cloudera 这 2 家公司在维护者, 大部分的 commiter 都属于这 2 家公司, 所以现在市面上看到的主要有 2 个版本,CDH 系列, 和社区版, 我最早用的是社区版本, 后来换到 CDH3, 现在又换回社区版, 因为有 Ambari. 当然, 用什么和不用什么, 只要自己的技术到家, 还是都能修改的跑的正常的. 这里就不多说了. 讲了这么多废话了, 开始讲 Ambari 安装吧.
开始部署
首先了解下 Ambari, 项目地址在:http://incubator.apache.org/ambari/
安装文档在: http://incubator.apache.org/ambari/1.2.2/installing-hadoop-using-ambari/content/index.html
HortonWorks 的人写的一篇介绍安装的文章我翻译了下: http://www.linuxidc.com/Linux/2014-05/101530.htm 安装的时候请大家先看下安装文档吧, 安装文档必须认真看, 结合自己当前所使用的系统版本, 配置不同的源, 而且安装过程中需要的时间相对比较长, 所以需要认真的做好安装文档的每个步骤. 这里我就说我遇到的一些问题.
以下说说我自己的安装过程.
机器准备:
我的测试环境采用 9 台 HP 的烂机器, 分别是 cloud100 – cloud108 , cloud108 做为管理节点.
Ambari 安装的环境路径:
各台机器的安装目录:
/usr/lib/hadoop
/usr/lib/hbase
/usr/lib/zookeeper
/usr/lib/hcatalog
/usr/lib/hive
Log 路径, 这里需要看出错信息都可以在目录下找到相关的日志
/var/log/hadoop
/var/log/hbase
配置文件的路径
/etc/hadoop
/etc/hbase
/etc/hive
HDFS 的存储路径
/hadoop/hdfs
安装过程需要注意的点:
1, 安装的时候, 需要做好每台机器的 ssh 免密码登陆, 这篇 http://www.linuxidc.com/Linux/2014-05/101532.htm 中提到了, 做好之后, 从 管理节点到各个集群节点之间, 都能使用这个登陆.
2, 如果你的机器之前安装过 Hadoop 的相关服务, 特别是 Hbase 里面配置了 HBASE_HOME 的环境变量, 需要 unset 掉, 这个环境变量会影响, 因为我之前把这些路径放到 /etc/profile 里面导致影响了 HBase, 因为 Ambari 安装的路径和你之前安装的可能不一样.
3, 在服务选择页面的时候, NameNode 和 SNameNode 需要布置在一起, 我之前尝试做 HA 而把他们分开, 但是 SNameNode 一直起不来, 导致整个启动失败, 接下来时间需要花在 HA 上.
4. JobTrakcer 不和 Namenode 在一起也会导致 启动不起来.
5. Datanode 的节点 不能少于 Block replication 中数, 基本都是需要 >= 3.
6. Confirm Hosts 的时候, 需要注意里面的 Warning 信息, 把相关的 Warning 都处理掉, 有一些 Warning 会导致安装出错.
7. 记住安装中所新建的用户, 接下来需要用到这些用户.
8. Hive 和 HBase Master 部署在同一个节点, 这里当然你也可以分开. 设置好后就开始安装了.
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/101531p2.htm
测试
安装完成后, 看着这些都正常了, 是否需要自己验证一下呢? 不过基本跑了冒烟测试后, 正常的话, 基本还是正常的, 但是我们自己也得来操作下吧.
验证 HDFS
验证 Map/Reduce
验证 HBase
验证 Hive
总结
到这里, 相关的 Hadoop 及 hbase 及 hive 的相关配置就都配置完成了, 接下来需要做一些压力测试. 还有其他方面的测试, 对于 Ambari 带的是 HortonWorks 打包的 rpm 版本的 Hadoop 相关的源码, 所以这里可能会和其他的版本有一些不同, 但是作为开发环境来说, 暂时还是没有很多大的影响的, 但是现在还没有在生产上使用, 所以也不管说如何的稳定, 接下来我会在开发项目的过程中, 将所遇到的 Bug 给列出来. 总体来说 Ambari 还是很值得使用的, 毕竟能够减少很多不必要的配置时间, 而且相对在单机环境下, 在集群环境下更能贴近生产做一些相关的性能测试和调优测试等等, 而且配置的 ganglia 和 nagios 的监控也能够发布的让我们查看到集群相关的数据, 总体来说还是推荐使用的, 新东西有 Bug 是在所难免的, 但是在用的过程中我们会不断的完善. 接下来如果有时间, 会对 Ambariserver 的功能进行扩展, 添加诸如 redis/nginx 之类的常用的高性能模块的监控选项. 这个有时间在弄了. 总之, 欢迎使用 Ambari.
//update:
最近遇到 Ambari 的一些问题:
1. 在自定义里面开启了 append 选项后, 还是依旧无法 append.
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13