一、環境準備
1、centos7以上系統
2、mysql版本:mysql-5.7.21
3、jdk版本:java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
4、Ambari版本:Ambari-2.7.1.0
5、HDP版本:HDP-3.1.0
6、保證所有節點時間同步
二、關閉服務器防火牆並設置開機不啓動(所有服務器)
指令:
systemctl disable firewalld
service firewalld stop
三、分別設置SSH免密登陸
請參考以下博客:
https://blog.csdn.net/Alan3344/article/details/84131661
注:配置好後給所有的ssh的公鑰和私鑰配置權限
指令:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
四、分別修改主機名
指令:
vim /etc/sysconfig/network
添加以下內容到network文件中
NETWORKING=yes
HOSTNAME=zgl
##注:zgl處填寫此臺服務器的名稱
注:以上操作每一臺服務器都需執行
五、分別添加服務器的DNS
指令:
vim /etc/hosts
添加以下內容在hosts文件中
10.11.123.123 zgl-1
10.11.123.124 zgl-2
10.11.123.125 zgl-3
注:前面爲服務器ip、中間空格、後面是服務器的名稱
將hosts文件分發到所有的服務器中
scp /etc/hosts root@zgl-2/etc/hosts
scp /etc/hosts root@zgl-3/etc/hosts
注:zgl-2、zgl-3是其它節點的服務器名稱
六、分別禁用linux huge page
指令:
vim /etc/rc.d/rc.local
在rc.local文件中添加以下內容:
#disable THP at boot time
if zgl-1 -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if zgl-1 -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
分發到其它節點上:
scp /etc/rc.d/rc.local root@zgl-2:/etc/rc.d
scp /etc/rc.d/rc.local root@zgl-3:/etc/rc.d
注:zgl-2、zgl-3是其它節點的服務器名稱
七、分別禁用selinux
指令:
vim /etc/selinux/config
修改config文件中的SELINUX爲disabled,如下:
SELINUX=disabled
八、安裝jdk(每一個節點都需要)
指令:
yum install -y lsof java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 bzip2 net-tools.x86_64 rsync nfs-utils ntp ntpdate ntp-doc
查找jdk的安裝路徑:
指令:
which java
ll /usr/bin/java
ll /etc/alternatives/java
如圖:
再配置jdk的環境變量:
指令:
vim /etc/profile
在profile文件中添加如下內容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
##注:JAVA—HOME中是服務器jdk的安裝地址
將配置好的環境文件profile分發到其它節點
指令:
scp /etc/profile root@zgl-2:/etc
scp /etc/profile root@zgl-3:/etc
注:zgl-2、zgl-3是其它節點的服務器名稱
分別使各個節點的環境配置生效,所有節點均執行以下指令:
source /etc/profile
九、重啓服務器,讓所有配置生效
reboot
十、安裝mysql
1、安裝步驟參考以下博客:
https://blog.csdn.net/Alan3344/article/details/103567870
2、安裝完成後創建ambari數據庫和用戶
指令:
##先登錄mysql
use mysql;
create database ambari default charset utf8 collate utf8_general_ci; #新建ambari數據庫
CREATE USER 'ambari'@'%' IDENTIFIED BY 'Ambari-123';#新建ambari用戶
GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';#分配ambari權限
FLUSH PRIVILEGES;#刷新系統權限表
3、創建hive數據庫和用戶(需要安裝hive)
指令:
create database hive default charset utf8 collate utf8_general_ci; #新建hive數據庫
CREATE USER 'hive'@'%' IDENTIFIED BY 'Hive-123';#新建hive用戶
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';#分配hive權限
FLUSH PRIVILEGES;#刷新系統權限表
4、創建Oozie數據庫和用戶(需要安裝Oozie)
指令:
create database Oozie default charset utf8 collate utf8_general_ci; #新建Oozie數據庫
CREATE USER 'Oozie'@'%' IDENTIFIED BY 'Oozie-123';#新建Oozie用戶
GRANT ALL PRIVILEGES ON Oozie.* TO 'Oozie'@'%';#分配Oozie權限
FLUSH PRIVILEGES;#刷新系統權限表
十一、安裝Httpd
指令:
yum install httpd -y #下載安裝
systemctl start httpd.service #啓動服務
systemctl enable httpd.service #設置開機啓動
systemctl status httpd.service #查看httpd的狀態
十二、下載Ambari和HDP的安裝包
1、在根目錄下創建data文件夾用於存放安裝包
mkdir /data
cd /data
2、執行以下指令下載安裝包
##下載HDP安裝包
wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/HDP-3.0.1.0-centos7-rpm.tar.gz
##下載HDP-UTILS安裝包
wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
##下載ambari安裝包
wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari-2.7.1.0-centos7.tar.gz
##下載HDP-GPL安裝包
wget http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.0.1.0/HDP-GPL-3.0.1.0-centos7-gpl.tar.gz
注:以上安裝包下載需要一定的時間,請耐心等待,下載好後如下圖所示(四個tar.gz壓縮包):
3、在/var/www/html目錄下創建一個ambari文件夾
cd /var/www/html/
mkdir ambari
如圖:
4、將/data目錄下的四個安裝包解壓到/var/www/html/ambari目錄下
tar -zxvf /data/ambari-2.7.1.0-centos7.tar.gz -C /var/www/html/ambari
tar -zxvf /data/HDP-3.0.1.0-centos7-rpm.tar.gz -C /var/www/html/ambari
tar -zxvf /data/HDP-GPL-3.0.1.0-centos7-gpl.tar.gz -C /var/www/html/ambari
tar -zxvf /data/HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/ambari
解壓完後如下圖:
注:此時在瀏覽器登陸:
http://ip/ambari
注:將ip換成主節點ip
如圖:
5、下載ambari.repo 和hdp.repo文件
指令:
cd /data
##下載ambari.repo文件
wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari.repo
##下載hdp.repo文件
wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/hdp.repo
6、修改ambari.repo文件
指令:
vim ambari.repo
##替換以下內容
baseurl=http://${ip地址}/ambari/ambari/centos7/2.7.1.0-169/
gpgkey=http://${ip地址}/ambari/ambari/centos7/2.7.1.0-169/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
注:baseurl和gpgkey後面的路徑就是在httpd服務上的路徑
也就是在/var/www/html/路徑後的路徑
7、修改hdp.repo文件
指令:
vim hdp.repo
##替換以下內容
[HDP-3.0.1.0]
baseurl=http://${ip地址}/ambari/HDP/centos7/3.0.1.0-187/
gpgkey=http://${ip地址}/ambari/HDP/centos7/3.0.1.0-187/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
[HDP-UTILS-1.1.0.22]
baseurl=http://${ip地址}/ambari/HDP-UTILS/centos7/1.1.0.22/
gpgkey=http://${ip地址}/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
8、將ambari.repo和hdp.repo文件複製到/etc/yum.repos.d路徑下
指令:
cd /data
cp ambari.repo /etc/yum.repos.d
cp hdp.repo /etc/yum.repos.d
在將這兩個文件分發到其它節點對應的/etc/yum.repos.d目錄中
##分發ambari.repo文件到其餘子節點
scp /etc/yum.repos.d/ambari.repo @zgl-2:/etc/yum.repos.d
scp /etc/yum.repos.d/ambari.repo @zgl-3:/etc/yum.repos.d
##分發hdp.repo文件到其餘子節點
scp /etc/yum.repos.d/hdp.repo @zgl-2:/etc/yum.repos.d
scp /etc/yum.repos.d/hdp.repo @zgl-3:/etc/yum.repos.d
注:zgl-2、zgl-3是其它節點的服務器名稱
9、下載mysql驅動包並將驅動包放到/usr/share/java目錄下
此處我用的是mysql-connector-java-5.1.43.jar 如下圖:
十三、安裝ambari-server
1、更新yum緩存
yum clean all
yum makecache
yum repolist
2、安裝ambari-server
指令:
yum install ambari-server
3、設置ambari-server
指令:
ambari-server setup
安裝上圖操作:
a、第一個選y
b、在ambari-server da ..(root): root
c、選擇jdk的時候選擇2
d、輸入jdk的安裝路徑:就是前面查看jdk路徑所顯示的路徑,
注:我在此處路徑是: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
如上圖選擇數據庫操作:
e、自定義數據庫:y
f、選擇數據庫,此處選mysql:3
g、數據庫的操作一直enter就行,因爲有默認值,但是 在密碼處需要自己輸入:Amabri-123
h、在custom.jdbc.driver處:/usr/share/java/mysql-connector-java-5.1.43.jar
i、最後一個y,直到顯示success;
4、在mysql中生成ambari元數據表
指令:
##登陸mysql 用ambari用戶
mysql -uambari -p
Ambari-123 #密碼
use ambari;
##以下指令用於執行/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql的sql文件
Source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
5、啓動ambari
#啓動指令
ambari-server start
#停止指令
ambari-server stop
十四、安裝ambari-agent(每一個節點都需要操作,包括主節點,即ambari-server節點)
1、如果ambari-server是啓動狀態,就先停止ambari-server
2、安裝ambari-agent
yum install ambari-agent
3、編輯ambari-agent的配置文件
vim /etc/ambari-agent/conf/ambari-agent.ini
##修改以下內容
[server]
hostname=zgl-1
##注以上zgl-1是安裝ambari-server的主節點服務器名稱
4、啓動服務
#先啓動server
ambari-server start
#再啓動agent,每一個節點都需要啓動
ambari-agent start
十五、安裝HDP
1、使用瀏覽器登錄網址:http://ip:8080
注:ip 是主節點ambari-server服務器ip 登錄名/密碼:admin/admin
如圖:
2、點擊“Launch Install Wizard”進入如下界面:
注:這裏輸入集羣名稱
3、選擇版本
注:此處選擇use local reponsitory
4、只留下redhat7其餘的都移除掉,對應後面應該填如下內容:
HDP-3.1:http://ip地址/ambari/HDP/centos7/3.0.1.0-187/
HDP-3.1-GPL:http://ip地址/ambari/HDP-GPL/centos7/3.0.1.0-187/
HDP-UTILS-1.1.0.22:http://ip地址/ambari/HDP-UTILS/centos7/1.1.0.22/
注:以上ip地址是ambari-server服務器地址(在此臺服務器安裝的httpd服務)
5、安裝選項
注:以上圖片不準確,在這只是爲了方便有個界面做參考!!!!
Target Hosts框中內容填如下
zgl-1
zgl-2
zgl-3
##注以上內容是每一個服務器的名稱,名字之間換行,
選擇Perform manual registration on hosts and do not use SSH
注:因爲我們事先已經將ambari-agent啓動起來,所以直接選擇不要通過SSH的形式
6、確認主機
注:點擊這個是確定服務器安裝沒有問題,如果有錯誤信息則處理錯誤信息;
7、選擇服務
注:根據需要,自勾選需要安裝的組件;
8、分配master
注:根據情況自定義,或者選擇默認
9、分配slaves和clents
10、設置密碼
注:填入前面mysql中自定義的密碼,根據提示完成
11、修改hive元數據信息庫
注意:ambari-server所在結點添加mysql-java驅動
指令:
##在mabari-server服務器上
cd /usr/share/java
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.43.jar
注:選擇Existing Mysql (因爲前面已經安裝好了)
這裏的密碼是在mysql中配置hive數據庫時的密碼:Hive-123
最後:Connection OK即可。
12、後面的設置就跟着界面走就行,此處不再多說了
十六、結果