一、安裝環境
centos:6.9
ambari:2.6.0.3
mysql: 事先裝好
安裝過程中使用root賬戶
二、叢集規劃
192.16.16.101 cloud101 (master)
192.16.16.102 cloud102 (second master)
192.16.16.103 cloud103 (slave)
192.16.16.104 cloud104 (slave)
192.16.16.105 cloud105 (slave)
三、環境準備
1、 機器名配置,在每個節點上進行如下配置:
a、修改 /etc/hosts
192.16.16.101 cloud101 (master)
192.16.16.102 cloud102 (second master)
192.16.16.103 cloud103 (slave)
192.16.16.104 cloud104 (slave)
192.16.16.105 cloud105 (slave)
b、修改vim /etc/sysconfig/network
将hostname設定為正确的cloud**
c、執行centos指令:
hostname cloud**
這樣不用重新開機就可以直接改變hostname
d、退出後再登入看看,是否是正确的hostname
2、在每個節點上安裝ntp,保證各節點時間和國際标準時間一緻
yum install -y ntp
chkconfig ntpd on
service ntpd start
chkconfig --list ntpd
3、防護牆設定
chkconfig iptables off
/etc/init.d/iptables stop
4、Disable SELinux,在指令行中執行
setenforce 0
5、設定ssh無密登入
1)在cloud101上執行如下指令
ssh-keygen -t rsa
一路回車後将會在/root/.ssh/目錄下生成公私鑰檔案;
cd .ssh
進入.ssh目錄
cat id_rsa.pub >> authorized_keys
将id_rsa.pub公鑰内容拷貝到authorized_keys檔案中
2)在cloud102、cloud103、cloud104、cloud105上執行
ssh-keygen -t rsa
一路回車後将會在/root/.ssh/目錄下生成公私鑰檔案;
ssh-copy-id -i cloud101
将公鑰拷貝到cloud01的authorized_keys中
3)授權authorized_keys檔案
登入cloud101,在.ssh目錄下輸入指令:
chmod 600 authorized_keys
将授權檔案拷貝到cloud102、cloud103...,指令如下:
scp /root/.ssh/authorized_keys cloud102:/root/.ssh/ #拷貝到cloud102上
scp /root/.ssh/authorized_keys cloud103:/root/.ssh/ #拷貝到cloud103上
scp /root/.ssh/authorized_keys cloud104:/root/.ssh/ #拷貝到cloud104上
scp /root/.ssh/authorized_keys cloud105:/root/.ssh/ #拷貝到cloud105上
6、在各個節點上安裝java,統一路徑為/usr/local/java/jdk(這步可省略,jdk由ambari自己安裝)
7、在每個節點上安裝anaconda(這一步主要是為python使用者安裝,可在後面安裝)
8、編輯/etc/profile,vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
生效source /etc/profile
這一步若6、7不未執行,可省略
四、下載下傳和建立本地庫
1)下載下傳ambari和hdp的repositories
a、ambari下載下傳
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.0.3/ambari-2.5.0.3-centos6.tar.gz
b、hdp下載下傳
wget http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.6.0.3/HDP-2.6.0.3-centos6-rpm.tar.gz
c、hdp utils下載下傳
wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gz
暫存在/root/ambari_downloads目錄中
若下載下傳速度太慢,建議使用axel多線程下載下傳
axel -n 10 -q http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gz
2)建立本地庫
a、建立http伺服器,并啟動
yum install httpd
service httpd start
b、為web-server建立目錄
mkdir -p /var/www/html/
c、對于ambari,解壓到/var/www/html目錄; 對于HDP,解壓到/var/www/html/HDP/目錄下
cd /root/ambari_downloads
tar -zxvf ambari-2.5.0.3-centos6.tar.gz -C /var/www/html/
tar -zxvf HDP-2.6.0.3-centos6-rpm.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-UTILS-1.1.0.21-centos6.tar.gz -C /var/www/html/hdp/
d、浏覽器打開确認是否配置正确
http://cloud101/ambari/
http://cloud101/hdp/
e、準備ambari庫的配置檔案
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.0.3/ambari.repo -O /etc/yum.repos.d/ambari.repo
編輯/etc/yum.repos.d/ambari.repo, 如下:
#VERSION_NUMBER=2.5.0.3-7
[ambari-2.5.0.3]
name=ambari Version - ambari-2.5.0.3
baseurl=http://cloud101/ambari/centos6
gpgcheck=1
gpgkey=http://cloud101/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
vim /etc/yum/pluginconf.d/priorities.conf
修改如下:
[main]
enabled=1
gpgcheck=0
五、安裝、配置和啟動ambari
1)安裝ambari-server
yum install ambari-server
然後一直按y
預設将會裝上postgresql,jdk等等
2)建立(setup)ambari-server
ambari-server setup
啟動後會有若幹選項,建議如下:
Customize user account for ambari-server daemon [y/n] (n)? n
Do you want to change Oracle JDK [y/n] (n)? y 我是選了3,因為我的虛拟機叢集裡都裝好了jdk,隻需指定路徑即可
Enter advanced database configuration [y/n] (n)? n
3)啟動ambari-server
ambari-server start
後面兩個指令是"檢視狀态"和"關閉"指令
ambari-server status
ambari-server stop
啟動成功,現在可以使用http://cloud:8080來通路了
六、安裝hdp
1)使用浏覽器打開http://cloud:8080頁面,輸入使用者名和密碼,預設密碼均為admin
2)點選建立一個新的叢集,在後面的頁面輸入叢集名字,我這裡叫:cloud_test
3) 選擇hdp的版本号,我選擇了那個預設的版本号,然後選擇本地庫,我的是centos6,是以需要在redhat6那一欄輸入正确的hdp和hdp-utils位址
其中hdp位址為:http://cloud101/hdp/
hdp_utils的位址為http://cloud101/
4) 節點和私鑰确認
節點一欄換行輸入:
cloud101
cloud102
cloud103
cloud104
cloud105
私鑰一欄輸入cloud101上的private key
5)選擇相應的服務,這裡我選擇了hdfs、yarn + mapreduce2、tez、hive、hbase、oozie、zookeeper、spark2、pig、slider,後面兩個是因為被依賴而加入的
這裡zookeeper、hbase master、metrics collector、activity analyzer、activity explorer可以部署多個
6)設定master
将cloud101和cloud102作為master節點,部分節點需要存放在cloud103,分别如下:
cloud101:zookeeper、journeyNode、namenode、hmaster、resourcemanager
cloud102:zookeeper、journeyNode、snamenode、hmaster、resourcemanager
cloud103:zookeeper、journeyNode
7)設定slaves和client
cloud103: datanode、nodemanager、hregionserver
cloud104: datanode、nodemanager、hregionserver
cloud105: datanode、nodemanager、hregionserver
8)服務配置
重點配置hive、oozie等等,建議使用前面安裝好的myqsql
若oozie連不上mysql資料庫,建議執行以下語句:
yum install mysql-connector-java*
ls /usr/share/java/mysql-connector-java.jar
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
同時登陸上mysql資料庫,執行以下語句:
CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
create database oozie;
9) 完成