设为首页 收藏本站
查看: 632|回复: 0

[经验分享] 使用ambari搭建hadoop集群(local)

[复制链接]

尚未签到

发表于 2016-12-10 06:58:39 | 显示全部楼层 |阅读模式
     Ambari是Hortonworks开源的一个管理和安装hadoop集群的工具,跟ClouderaManager类似。
  1、系统要求

     1.1、操作系统要求

          都要求是64位操作系统。

              Red Hat EnterPrise Linux:5.x 或 6.x

              CentOS:5.x 或 6.x

              SUSE Linux Enterprise Server 11, SP1

          必须有相应版本的操作系统包,否则安装会遇到错误

     1.2、 浏览器要求

          Ambari是一个基于浏览器的web程序,要求如下:

          Windows(Vista,7)

               IE9或以上

               Firefox最新版

               Safari最新版

               Google Chrome最新版

          Mac OS X(10.6或以上)

               Firefox最新版

               Safari最新版

               Google Chrome最新版

          Linux(RHEL、CentOS、SLES)

               Firefox最新版

               Google Chrome最新版

     1.3、软件要求

          yum

          rpm

          scp

          curl

          wget

          pdsh

          如果使用SUSE操作系统,需要把Python版本升级到2.6.8-0.15.1

     1.4、数据库要求

          Hive/HCatalog、Oozie和Ambari都需要一个内部数据库。

          Hive/HCatalog:默认使用Ambari自带的Mysql5.x。也可以自己配置Oracle 11g r2。

          Oozie:默认使用Ambari自带的Derby。也可以自己配置Mysql5.x和Oracle 11g r2。

          Ambari:默认使用Ambari自带的PostgreSQL8.x,也可以使用Oracle 11g r2.

2、环境准备

     2.1、检查已经安装的软件:

          


 
RHEL/CentOS v5
RHEL/CentOS v6
SLES 11

Ambari Server



  • libffi 3.0.5-1.el5


  • python26 2.6.8-2.el5


  • python26-libs 2.6.8-2.el5






  • postgresql 8.4.13-1.el6_3


  • postgresql-libs 8.4.13-1.el6_3


  • postgresql-server 8.4.13-1.el6_3






  • libpq5 9.1.5-0.2.1


  • postgresql 8.3.20-0.4.1


  • postgresql-init 9.1-0.6.10.1


  • postgresql-server 8.3.20-0.4.1





Ambari Agent[a]



  • libffi 3.0.5-1.el5


  • python26 2.6.8-2.el5


  • python26-libs 2.6.8-2.el5




None



None




Nagios Server



  • nagios 3.2.3-2.el5


  • nagios-plugins 1.4.15-2.el5


  • nagios-common 2.12-10.el5






  • nagios 3.2.3-2.el6


  • nagios-plugins1.4.9-1






  • nagios 3.2.3-2.1


  • nagios-plugins 1.4.9-1


  • nagios-www 3.2.3-2.1





Ganglia Collector[c]



  • ganglia-gmetad 3.2.0-99


  • rrdtool 1.4.5-1.el5






  • ganglia-gmetad 3.2.0-99


  • rrdtool 1.4.5-1.el6






  • ganglia-gmetad 3.2.0-99


  • rrdtool 1.4.5-4.5.1





Ganglia Monitor[d]

ganglia-gmond 3.2.0-99



ganglia-gmond 3.2.0-99



ganglia-gmond 3.2.0-99




[a] 集群中的每台机器都要安装,用来与Ambari服务器沟通,来执行命令。



 用来运行Nagios的主机。



[c] 用来运行Ganglia收集服务器的主机。



[d] 集群中的每台机器都要安装,用来向Ganglia收集器发送指标。


  2.2、设置无密码SSH

          为了让Ambari Server在集群各节点上安装Ambari Agent,必须在各节点上配置无密码登录。

          步骤如下:

               1)在Ambari服务器上生成SSH公私钥对:

                    ssh-keygen

                    所有步骤全部点回车,如果提示是否要overwrite,填写y。会生成两个文件,分别是“/root/.ssh/id_rsa”是私钥,“/root/.ssh/id_rsa.pub”是公钥。

               2)将公私钥拷贝到服务器所在主机的主账号.ssh目录下。如果就是在目标主机进行的操作,那么公私钥会自动生成在对应的路径下,如果不是,就拷贝过去。

               3)将公钥的内容复制到“/root/.ssh/authorized_keys”文件中、

                    cat id_rsa.pub >> authorized_keys

               4)将~/.ssh目录权限设置为700,~/.ssh/authorized_keys文件权限设置为600

                    chmod 700 ~/.ssh

                    chmod 600 ~/.ssh/authorized_keys

               5)将authorized_keys文件拷贝到集群其他主机root用户的~/.ssh路径下。

               6)可以使用ssh root@{target.host} 命令来连接远程主机,如果不提示输入用户名密码说明配置成功。

     2.3、配置NTP,将集群中所有主机的时间同步。

     2.4、系统不支持ip访问,需要使用主机名。

          检查DNS,需要配置好集群中各节点的DNS和反向DNS,如果没有DNS,就需要配置各节点的/etc/hosts文件。

          将所有节点的“{ip} {对应主机名}”加入到/etc/hosts文件中即可。

          可以用hostname -f命令来查看主机名。

          最后还需要配置网络文件:

               打开网络配置文件:vi /etc/sysconfig/network

               输入以下内容:

                   NETWORKING=yes
                     NETWORKING_IPV6=yes
                   HOSTNAME={主机名}
                   GATEWAY={网关地址}

     2.5、 禁用SELinux

          可以选择临时性和永久性的禁用。

          临时性,使用命令:

               setenforce 0

          永久性,修改/etc/selinux/config文件

               SELINUX=disabled

               SELINUXTYPE=targeted

     2.6、禁用iptables,使用以下命令

          chkconfig iptables off

          /etc/init.d/iptables stop

     2.7、禁用PackageKit

          在RHEL/CentOS中,编辑/etc/yum/pluginconf.d/refresh-packagekit.conf,进行如下修改

               enabled=0

     2.8、检查umask的值

          集群的所有机器上,umask的值必须是022

          可以在/etc/profile中设置

     2.9、安装python26(集群所有机器都要安装)

          下载以下的包:

                python26:http://dl.fedoraproject.org/pub/epel/5/x86_64/python26-2.6.8-2.el5.x86_64.rpm

                libffi.so.5()(64bit):http://dl.fedoraproject.org/pub/epel/5/x86_64/libffi-3.0.5-1.el5.x86_64.rpm

                libpython2.6.so.1.0()(64bit):http://dl.fedoraproject.org/pub/epel/5/x86_64/python26-libs-2.6.8-2.el5.x86_64.rpm*

          把这三个放在同一个目录下,进行安装

               rpm -ivh *.rpm

               rpm -ivh python26*

3、创建系统软件源

     创建系统软件园系统apache server和createrepo软件包,如果没有需要安装。

     3.1、下载ambari、HDP和HDP-Utils软件包

          ambari:http://public-repo-1.hortonworks.com/ambari/centos5/ambari-1.2.5.17-centos5.tar.gz

          HDP:http://s3.amazonaws.com/public-repo-1.hortonworks.com/HDP/centos5/HDP-1.3.2.0-centos5-rpm.tar.gz

          HDP-Utils:http://s3.amazonaws.com/public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.16/repos/centos5/HDP-UTILS-1.1.0.16-centos5.tar.gz

     3.2、建立ambari库

          1)解压后,将(解压相对路径)

                     ambari-1.2.5.17-centos5\ambari\centos5\1.x\updates\1.2.5.17\noarch

                     ambari-1.2.5.17-centos5\ambari\centos5\1.x\updates\1.2.5.17\x86_64

               等两个目录拷贝到本地库所在主机的/var/www/html/ambari路径下(注意不要拷贝repodata目录)

          2)创建软件源

               chmod -R ugo+rX /var/www/html/ambari

               cd /var/www/html/ambari

               createrepo .

          3)创建/etc/yum.repos.d/ambari.repo文件并加入以下内容

               [ambari-1.2.5.17]

               name = Ambari
               baseurl = http://${server_id}/ambari/
               enabled=1
               gpgcheck = 0



     3.3、建立hdp-util库

          1)解压,将(解压相对路径)HDP-UTILS-1.1.0.16-centos5\HDP-UTILS-1.1.0.16\repos\centos5\目录下,除了hdp-util.repo文件和repodata目录之外的所有文件盒目录拷贝到软件源服务器的/var/www/html/hdp-util路径下

          2)创建软件源

               chmod -R ugo+rX /var/www/html/hdp-util

               cd /var/www/html/hdp-util

               createrepo .

          3)创建/etc/yum.repos.d/hdp-util.repo文件并加入以下内容

               [HDP-UTILS-1.1.0.16]

               name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16

               baseurl=http://${server_ip}/hdp-util/

               path=/

               enabled=1

               gpgcheck=0

     3.4、建立HDP库

          1)解压,将(解压相对路径)HDP-1.3.2.0-centos5-rpm\HDP\centos5\1.x\updates\1.3.2.0\目录下,除了hdp.repo文件和repodata目录之外的所有文件盒目录拷贝到软件源服务器的/var/www/html/hdp路径下

          2)创建软件源

               chmod -R ugo+rX /var/www/html/hdp

               cd /var/www/html/hdp

               createrepo .

          3)注意不要创建相应的库描述文件,这个文件会在ambari安装ambari-agent的过程中自动创建

     3.5、创建系统软件源

          1)把系统安装光盘(或镜像文件)下Packages(centos)路径下的所有软件包拷贝到软件源服务器的/var/www/html/system路径下

          2)创建软件源

               chmod -R ugo+rX /var/www/html/hdp

               cd /var/www/html/hdp

               createrepo .

          3)创建/etc/yum.repos.d/system.repo文件并加入以下内容

               [system]

               name=system

               baseurl=http://${server_ip}/system/

               path=/

               enabled=1

               gpgcheck=0

     3.6、验证软件源

          在浏览器中输入http://${server_ip}/$[ambari, hdp-util, system],如果三个源都正确显示,切生成了repodata目录,说明软件源创建正确。

     3.6、复制软件源描述文件

          将软件源服务器/etc/yum.repos.d/目录下的ambari.repo、hdp-util.repo、system.repo等三个文件拷贝到集群所有主机的/etc/yum.repos.d/目录下。

          在各主机上运行命令 yum repolist,如果显示下面的文字,说明操作正确。

               repo id                          repo name                                                                                   

               ambari-1.2.5.17             Ambari                                                                                                                                                                     

               HDP-UTILS-1.1.0.16        Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16       

               system                          system                                     

4、安装

     4.1、安装ambari-server的二进制包

          在ambari服务器上执行:

                yum install ambari-server

     4.2、修改/etc/ambari-server/conf/ambari.properties

          1)下载http://public-repo-1.hortonworks.com/ARTIFACTS/jce_policy-6.zip文件,放在本地http服务器上(软件源服务器即可)。

               将 jce_policy.url 属性值设为这个文件的本地地址。

               例如,将文件放在了apache server的/var/www/html/xx/jce_policy-6.zip路径的话,地址是:http://{server_ip}/xx/jce_policy-6.zip

          2)自己做一个名字叫“public-hostname”的文件,文件内容与/etc/hosts相同,要包含集群内所有主机的主机名和ip地址对,放到本地http服务器上。

               将server.fqdn.service.url 属性值设为文件的本地地址。

          3)到oracle网站下载一个jdk-6u31-linux-x64.bin 安装文件,放在本地http服务器上。

               将jdk.url 属性值改为文件的本地地址。

          4)在文件末尾加上:security.passwords.encryption.enabled=false

     4.2、安装ambari-server

          ambari-server setup -j ${JAVA_HOME}

          注意:这个JAVA_HOME需要在集群所有主机上使用同一个路径

     4.3、配置ambari-server,使之能够找到本地HDP库

          vi /var/lib/ambari-server/resources/stacks/HDPLocal/${version}/repos/repoinfo.xml

          这个文件中有很多操作系统条目,找到你的系统所在的条目,将baseurl的值改为hdp库的地址。

          注:根据你自己的版本号变更${version}的值

     4.4、启停ambari-server

          ambari-server start

          ambari-server stop

     4.5、登录ambari-server

          浏览器中输入:http://{main.install.hostname}:8080


          默认用户名/密码:admin/admin

          如果出现了登录界面并能登录成功,说明安装成功了。

5、安装HDP

     1、安装步骤如下:

          1)环境界面,敲入集群名:  

           

          2)选择安装包,我们选择1.3.0       

                    

          3)安装选项:

               填写要加入集群的机器,每行写一个,可以使用表达式,如:gic20[6-31],即使gic206-gic231之间的所有机器

               选择ssh私钥文件。选择之前做ssh无密码登陆时创建的私钥,通常名字为id_rsa。

               SSH user,我们使用root

               高级选项中,我们选择本地软件库而不是联网;填写主机上64位JDK的地址。

               


           4)确认主机:

               如果成功可能会抛出几个异常,包括:1)有些用户不应该存在;2)有些目录不应该存在;3)有的服务不应该启动;4)有的服务需要启动。按照提示,做相应的操作。

               


           5)选择要安装的服务。

               


           6)指定Master

               NameNode和SecondaryNameNode要放在一起

               NameNode和JobTracker要放在一起

               否则JobTracker和SecondaryNameNode会找不到NameNode,这个问题还没有解决,谁解决了请告诉一下解决方法。(zhang.jb@neusoft.com)

               


           7)选择slave和客户端

               


           8)定义服务参数

               


           9)review:检查一下设置,下一步就是部署了。

               


           10)安装、启动和测试

               


6、注意事项:

     6.1、ambari库描述文件的名称必须是 ambari.repo

     6.2、日志查看

          tail -300f /var/log/ambari-server/ambari-server.log

          tail -300f /var/log/ambari-agent/ambari-agent.log

     6.3、如果失败,可以使用下面的命令重新来过。

          手工在所有集群节点上执行:ambari-agent stop

          在主节点上执行:ambari-server stop ;   ambari-server reset;    ambari-server start,即可重新来过。

          有时候ambari-server启动时ambari-agent已经在之前安装完毕,会卡在集群安装的确认主机(第四步),需要手工将集群其他节点的agent启动。

     6.4、安装过程中如果失败,最好清空一下浏览器的历史记录,有时候即使ambari-server reset了,登录浏览器后也会直接跑到失败那一步。

     6.5、Hadoop安装过程中提示hdp库id找不到

          下面两个位置的库id要保持一致

               1)/var/lib/ambari-server/resources/stacks/HDPLocal/${version}/repos/repoinfo.xml文件中的“repoid”属性值

               2)安装集群第二步选择的版本号

     6.6、安装时设置的jdk路径,需要对创建的所有ambari用户具有可执行权限

     6.7、最好找一个干净的环境来安装,本人用之前装过Cloudera的机器来装,真是费了九牛二虎之力啊...

7、ambari卸载脚本

     网上找的,完善了一下,出处:http://www.cnblogs.com/cenyuhai/archive/2013/08/28/3287855.html


#1.删除hdp.repo和hdp-util.repo


cd /etc/yum.repos.d/
rm -rf hdp*
rm -rf HDP*
rm -rf ambari*
#
2.删除安装包
#用yum list installed | grep HDP来检查安装的ambari的包

yum remove -y ambari-server.noarch

yum remove -y ambari-agent.x86_64




yum remove -y sqoop.noarch  
yum remove -y lzo-devel.x86_64  
yum remove -y hadoop-libhdfs.x86_64  
yum remove -y rrdtool.x86_64  
yum remove -y hbase.noarch  
yum remove -y pig.noarch  
yum remove -y lzo.x86_64  
yum remove -y ambari-log4j.noarch  
yum remove -y oozie.noarch  
yum remove -y oozie-client.noarch  
yum remove -y gweb.noarch  
yum remove -y snappy-devel.x86_64  
yum remove -y hcatalog.noarch  
yum remove -y python-rrdtool.x86_64  
yum remove -y nagios.x86_64  
yum remove -y webhcat-tar-pig.noarch  
yum remove -y snappy.x86_64  
yum remove -y libconfuse.x86_64  
yum remove -y mysql.x86_64  
yum remove -y webhcat-tar-hive.noarch  
yum remove -y ganglia-gmetad.x86_64  
yum remove -y extjs.noarch  
yum remove -y hive.noarch  
yum remove -y hadoop-lzo.x86_64  
yum remove -y hadoop-lzo-native.x86_64  
yum remove -y hadoop-native.x86_64  
yum remove -y hadoop-pipes.x86_64  
yum remove -y nagios-plugins.x86_64  
yum remove -y hadoop.x86_64  
yum remove -y zookeeper.noarch  
yum remove -y mysql-libs.x86_64  
yum remove -y mysql-connector-java.noarch  
yum remove -y hadoop-sbin.x86_64  
yum remove -y ganglia-gmond.x86_64  
yum remove -y libganglia.x86_64  
yum remove -y perl-rrdtool.x86_64
yum remove -y epel-release.noarch
yum remove -y compat-readline5*
yum remove -y fping.x86_64
yum remove -y perl-Crypt-DES.x86_64
#3.删除用户
userdel nagios
userdel hive
userdel ambari-qa
userdel hbase
userdel oozie
userdel hcat
userdel mapred
userdel hdfs
userdel rrdcached
userdel zookeeper
userdel mysql
userdel sqoop
userdel puppet

userdel yarn


userdel hue


userdel flume


userdel sqoop2


#4.删除文件夹
rm -rf /hadoop
rm -rf /etc/hadoop
rm -rf /etc/hbase
rm -rf /etc/hcatalog
rm -rf /etc/hive
rm -rf /etc/ganglia
rm -rf /etc/nagios
rm -rf /etc/oozie
rm -rf /etc/sqoop
rm -rf /etc/zookeeper

rm -rf /etc/hue
rm -rf /var/run/hadoop
rm -rf /var/run/hbase
rm -rf /var/run/hive
rm -rf /var/run/ganglia
rm -rf /var/run/nagios
rm -rf /var/run/oozie


rm -rf /var/run/zookeeper
rm -rf /var/log/hadoop
rm -rf /var/log/hbase
rm -rf /var/log/hive
rm -rf /var/log/nagios
rm -rf /var/log/oozie
rm -rf /var/log/zookeeper


rm -rf /var/log/hue


rm -rf /usr/lib/hadoop
rm -rf /usr/lib/hbase
rm -rf /usr/lib/hcatalog
rm -rf /usr/lib/hive
rm -rf /usr/lib/oozie
rm -rf /usr/lib/sqoop
rm -rf /usr/lib/zookeeper
rm -rf /var/lib/hue
rm -rf /var/lib/hive


rm -rf /var/lib/ganglia
rm -rf /var/lib/oozie
rm -rf /var/lib/zookeeper
rm -rf /var/tmp/oozie
rm -rf /tmp/hive
rm -rf /tmp/nagios
rm -rf /tmp/ambari-qa
rm -rf /tmp/sqoop-ambari-qa
rm -rf /var/nagios
rm -rf /hadoop/oozie
rm -rf /hadoop/zookeeper
rm -rf /hadoop/mapred
rm -rf /hadoop/hdfs
rm -rf /tmp/hadoop-hive
rm -rf /tmp/hadoop-nagios
rm -rf /tmp/hadoop-hcat
rm -rf /tmp/hadoop-ambari-qa
rm -rf /tmp/hsperfdata_hbase
rm -rf /tmp/hsperfdata_hive
rm -rf /tmp/hsperfdata_nagios
rm -rf /tmp/hsperfdata_oozie
rm -rf /tmp/hsperfdata_zookeeper
rm -rf /tmp/hsperfdata_mapred
rm -rf /tmp/hsperfdata_hdfs
rm -rf /tmp/hsperfdata_hcat
rm -rf /tmp/hsperfdata_ambari-qa
#5.删除ambari包
#采用这句命令来检查yum list installed | grep ambari
yum remove -y ambari-*
yum remove -y postgresql
rm -rf /etc/yum.repos.d/ambari*
rm -rf /var/lib/ambari*
rm -rf /var/log/ambari*
rm -rf /etc/ambari*

rm -rf /usr/lib/ambari*


#6.删除快捷方式
cd /etc/alternatives

rm -rf hadoop-conf
rm -rf hbase-conf

rm -rf hive-conf
rm -rf hadoop-etc
rm -rf zookeeper-conf
rm -rf hbase-conf
rm -rf hadoop-log
rm -rf hadoop-lib
rm -rf hadoop-default
rm -rf oozie-conf
rm -rf hcatalog-conf
rm -rf hadoop-man

rm -rf sqoop-conf

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-312005-1-1.html 上篇帖子: hadoop 分布式应用(个人学习笔记) 下篇帖子: 与 Hadoop 对比,如何看待 Spark 技术?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表