Ambari部署hadoop集群
1、基本工具
yum、scp、curl、wget、pdsh、ssh
2、環境準備
2.1、系統環境
Centos6.5 64bit
Ambari 1.4.3.38
2.2、ambari server 與 ambari agent 服務器root ssh無密互訪
Ambari server服務器
Ssh-keygen 生產私鑰公鑰 id_rsa id_rsa.pub
Ambari agent服務器
將ambari server 服上root生成的id_rsa.pub上傳到各個集群機器上。
cat id_rsa.pub >> authorized_keys
Ambar server
ssh root@ambariagent
2.3、所有集群機器時間同步
安裝ntp服務
2.4、所有集群機器關閉selinux
setenforce 0
2.5、所有集群機器關閉防火墻
/etc/init.d/iptables stop
2.6、所有集群機器centos關閉packagekit
vim /etc/yum/pluginconf.d/refresh-packagekit.conf
enabled=0
3、安裝準備
注:本節只需要在ambari server服務器上做
3.1、安裝源
wget http://public-repo-1.hortonworks.com/ambari/centos6/1.x/GA/ambari.repo
cp ambari.repo /etc/yum.repos.d
這個源可能會非常慢,如果慢可以部署本地源(以下為可選,一般ambari源所需資源少,不需要部署本地源),步奏如下:
1、下載打包好的ambari源百度云盤
2、在ambari-server機器上部署源,將上面下載的文件解壓到如/var/www/html/目錄下
3、修改ambari.repo文件如下,注意黃色部分即可
[ambari-1.x]
name=Ambari 1.x
baseurl=file:///var/www/html/ambari/
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=file:///var/www/html/ambari/
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[Updates-ambari-1.x]
name=ambari-1.x - Updates
baseurl=file:///var/www/html/ambari/
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
3.2、Install the epel repository
yum install epel-release
yum repolist
3.3、安裝ambari server
yum install ambari-server
3.4、設置ambari server
ambari-server setup
一路按確定即可,ambari-server會用到數據庫,自行選擇默認使用PostgreSQL,如果你選擇使用mysql還需要把jdbc驅動放到/usr/lib/ambari-server目錄下,會自動下載jdk-6u31-linux-x64.bin到/var/lib/ambari-server/resources你可以可以自己下載
安裝好之后 啟動ambari-server
ambari-server start
如果啟動失敗主義看幾個日志文件/var/log/ambari-server
查看ambari-server狀態
ambari-server status
注:如果不自己使用自己創建的源,一下步奏略過
ambari-server 會自己搭建一個web服務器根目錄為/usr/lib/ambari-server/web端口號為8080我們可以通過 http://ambari-server-hostname:8080/訪問到,我們要利用起來這個web服務器(也可以使用自己已有服務器)部署我們的ambari 和 hdp源,步驟如下:
1、將3.1中/var/www/html/ambari/復制到/usr/lib/ambari-server/web
cp -r /var/www/html/ambari/ /usr/lib/ambari-server/web
2、同時修改ambari.repo
[ambari-1.x]
name=Ambari 1.x
baseurl=http://ambari-server-hostname:8080/ambari/
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=http://ambari-server-hostname:8080/ambari/
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[Updates-ambari-1.x]
name=ambari-1.x - Updates
baseurl=http://ambari-server-hostname:8080/ambari/
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
3、創建HDP源
將HDP源(我自己打包好的源)百度云盤下載并解壓到/usr/lib/ambari-server/web下可以看到一個hdp文件夾
4、修改repoinfo.xml文件
cd /var/lib/ambari-server/resources/stacks/HDP/2.0.6/repos
修改如下部分,我使用的是centos6.5所以修改對應的。
<os type="centos6">
<repo>
<baseurl>http://ambari-server-hostname:8080/hdp/</baseurl>
<repoid>HDP-2.0.6</repoid>
<reponame>HDP</reponame>
</repo>
</os>
<os type="oraclelinux6">
<repo>
<baseurl>http://ambari-server-hostname:8080/hdp/</baseurl>
<repoid>HDP-2.0.6</repoid>
<reponame>HDP</reponame>
</repo>
</os>
<os type="redhat6">
<repo>
<baseurl>http://ambari-server-hostname:8080/hdp/</baseurl>
<repoid>HDP-2.0.6</repoid>
<reponame>HDP</reponame>
</repo>
</os>
在安裝過程中,ambari會在集群機器上創建一個HDP.repo的源文件,文件的內容就是我們這里修改的相關信息。
4、安裝
瀏覽器訪問http://ambari-server-hostname:8080/
按照步奏一步步走在這一步時注意,選擇自己對應得版本,我使用的是2.0.6前面章節中我也配置的是2.0.6版本,其他版本類似修改。
在安裝中可能會出現多次失敗,如果retry很多次還這樣就要清理各個機器上的相關類庫,用戶,目錄,配置等信息。所以建議最好在一個新安裝的純凈系統上使用。
5、重新安裝
注:以下來自網絡,我在安裝中也是這樣做的,有些內容可能與實際不同,主要就是刪除相關包、用戶、以及配置
1、停止ambari
所有集群機器
ambari-agent stop
Ambari-server機器
ambari-server stop
2、刪除安裝包
#用yum list installed | grep HDP來檢查安裝的hadoop相關的包
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 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 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
yum remove -y exim.x86_64
yum remove -y ganglia-web.noarch
yum remove -y perl-Digest-HMAC.noarch
yum remove -y perl-Digest-SHA1.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 sqoop
userdel puppet
4.刪除快捷方式
cd /etc/alternatives
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 hive-conf
rm -rf hadoop-man
rm -rf sqoop-conf
rm -rf hadoop-conf
5.刪除文件夾
rm -rf /var/lib/pgsql
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 /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 /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/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
6.刪除ambari包
#采用這句命令來檢查yum list installed | grep ambari
yum remove -y ambari-*
yum remove -y postgresql
rm -rf /var/lib/ambari*
rm -rf /var/log/ambari*
rm -rf /etc/ambari*
7.刪除HDP.repo和amabari.repo
cd /etc/yum.repos.d/
rm -rf HDP*
rm -rf ambari*