目錄
一、基本環境 準備
1.1、系統環境說明
環境:阿里雲內網服務器
Ambari 離線下載:
MySQL 安裝參考(繞過坑):https://blog.csdn.net/qq_35995514/article/details/106175801
說明:阿里雲 內網 服務器,使用跳板機 登錄,安裝包 放在跳板機 ,上傳文件很大使用WinSCP, 平時 練手的可以使用虛擬機也是 OK 的
配置:
10.174.96.212 root 8核32G 40G(系統盤) + 2T(數據盤) hdp02
10.168.138.188 root 8核32G 20G (系統盤)+ 500G(數據盤) hdp01
這塊安裝可以參考: Apache Ambari-2.7.3+Centos7離線安裝
https://blog.csdn.net/Happy_Sunshine_Boy/article/details/86595945
官網版本覈對Ambari 對應的 系統,數據庫,JDK一定要正確
版本選擇
組件 | 描述 |
操作系統 | CentOS7.3 |
Ambari | 2.7.4 |
HDP | 3.1.4.0 |
HDP-GPL | 3.1.4.0 |
HDP-UTILS | 1.1.0.22 |
MySQL | 5.7.19 |
OracleJDK | 1.8.0_252 |
X86 | X86-64 |
1.2、基本配置
說明:基本的配置兩臺機器都要做,MySQL 安裝在 ambari-server 的那臺 10.168.138.188
1.主機名映射的修改
vim /etc/sysconfig/network
vim /etc/hosts
hostnamectl set-hostname <newhostname> 執行 此設置,重新打開 Xhell會話
2.關閉防火牆
systemctl stop firewalld
systemctl status firewalld
systemctl disable firewalld
systemctl enable firewalld
3. 關閉SELINUX
4.關閉Linux的THP服務
如果不關閉transparent_hugepage,HDFS會因爲這個性能嚴重受影響。
關閉transparent_hugepage方法是:
[root@hdp02 ~]# vim /etc/grub.conf
添加 transparent_hugepage=never
[root@hdp02 ~]# vim /etc/rc.local 添加:
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
exit 0
5. SSH免密登錄
生成公鑰和私鑰
ssh-keygen -t rsa
命令,一路回車就OK
以ssh-copy-id命令拷貝祕鑰實現免密碼登錄
ssh-copy-id -i /root/.ssh/id_rsa.pub hdp02
6.時鐘同步
安裝ntp客戶端
使用netpdate -u同步時間, 10.168.138.188 是一個自建的時間服務器(也可以指定任何一個時間服務器)
yum -y install chrony
systemctl start chronyd
配置開機啓動
systemctl enable chronyd.service
時鐘同步兩種方式參考文檔https://blog.csdn.net/weixin_42758707/article/details/94738761
ntp:將系統時鐘和世界協調時UTC同步,精度在局域網內可達0.1ms,在互聯網上絕大多數的地方精度可以達到1-50ms,項目官網:http://www.ntp.org
chrony:通過Internet同步的兩臺機器之間的典型精度在幾毫秒之內,在LAN上,精度通常爲幾十微秒。利用硬件時間戳或硬件參考時鐘,可實現亞微秒的精度
7.配置最大打開文件數最大進程數等操作系統限制
vim /etc/security/limits.conf
* - nofile 409600
* - nproc 63535
root - nofile 409600
root - nproc 63535
8.安裝JDK
- 在 hdp01 根目錄創建 /usr/java 文件夾解壓
- 打開/etc/profile文件
export JAVA_HOME=/usr/java/jdk1.8.0_251
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
查看版本是否正確
執行 yum -y install mysql-connector-java* 安裝 ambari-server 會用到。
查看路徑是否正確
echo $JAVA_HOME
echo $JRE_HOME
echo $CLASSPATH
echo $PATH
9.安裝httpd服務
yum -y install httpd;
systemctl start httpd.service
systemctl enable httpd.service #開機啓動
systemctl status httpd.service #狀態查看
10. 數據盤格式掛載
說明:阿里雲的數據盤具體的操作可以參考博客:https://blog.csdn.net/qq_35995514/article/details/106229387
跟掛載普通的磁盤差不多
11.MySQL 數據庫安裝
官網下載地址,版本可以自己決定,符合Ambari要求就行:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
詳細的操作和安裝出現的問題可以參考博客(5.7.19):https://blog.csdn.net/qq_35995514/article/details/106175801
踩過的坑都已經解決,
[root@hdp01 mysql]# /etc/init.d/mysqld start
Starting mysqld (via systemctl):
[ OK ]
[root@hdp01 mysql]#
[root@hdp01 mysql]# cat /var/log/mysqld.log | grep password
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=8;
Query OK, 0 rows affected (0.00 sec)
mysql> alter user 'root'@'localhost' identified by 'L1234567';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'L1234567' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
安裝完成後創建ambari數據庫及用戶,登錄root用戶執行下面語句:
mysql> create database ambari character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'ambari'@'%' IDENTIFIED BY 'L1234567';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql>
創建hive 元數據庫
mysql> create database hive character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'hive'@'%' IDENTIFIED BY 'L1234567';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
創建 ranger數據庫(安全組件)
mysql> create database ranger character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'ranger'@'%' IDENTIFIED BY 'L1234567';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
二、Ambari製作本地的yum 源
將 4個 tar 文件解壓到 /data 文件並解壓
2.1、配置repo文件
本次安裝需要配置三個repo文件,分別是 ambari.repo, hdp.repo ,hdp-gpl.repo,具體步驟如下
cd /var/www/html/
ln -s /data/ambari ./ambari
ln -s /data/HDP ./HDP
ln -s /data/HDP-GPL ./HDP-GPL
ln -s /data/HDP-UTILS ./HDP-UTILS
將默認的 repo 文件複製到 /etc/yum.repos.d/ 路徑下 進行修改
cp /data/ambari/centos7/2.7.4.0-118/ambari.repo /etc/yum.repos.d/
cp /data/HDP/centos7/3.1.4.0-315/hdp.repo /etc/yum.repos.d/
cp /data/HDP-GPL/centos7/3.1.4.0-315/hdp.gpl.repo /etc/yum.repos.d/
1. Ambari.repo
[root@hdp01 yum.repos.d]# cat ambari.repo
#VERSION_NUMBER=2.7.4.0-118
[ambari-2.7.4.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.4.0
baseurl=http://hdp01/ambari/centos7/2.7.4.0-118
gpgcheck=1
gpgkey=http://hdp01/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
2. hdp.repo
[root@hdp01 yum.repos.d]# cat hdp.repo
#VERSION_NUMBER=3.1.4.0-315
[HDP-3.1.4.0]
name=HDP Version - HDP-3.1.4.0
baseurl=http://hdp01/HDP/centos7/3.1.4.0-315
gpgcheck=1
gpgkey=http://hdp01/HDP/centos7/3.1.4.0-315/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://hdp01/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://hdp01/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
3. hdp.gp1.repo
[root@hdp01 yum.repos.d]# cat hdp.gpl.repo
#VERSION_NUMBER=3.1.4.0-315
[HDP-GPL-3.1.4.0]
name=HDP-GPL Version - HDP-GPL-3.1.4.0
baseurl=http://hdp01/HDP-GPL/centos7/3.1.4.0-315
gpgcheck=1
gpgkey=http://hdp01/HDP-GPL/centos7/3.1.4.0-315/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
查看Ambari 與 HDP 資源的資源庫
[root@hdp01 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
HDP-3.1-GPL-repo-1 HDP-3.1-GPL-repo-1 4
HDP-3.1-repo-1 HDP-3.1-repo-1 201
!HDP-3.1.4.0 HDP Version - HDP-3.1.4.0 201
!HDP-GPL-3.1.4.0 HDP-GPL Version - HDP-GPL-3.1.4.0 4
!HDP-UTILS-1.1.0.22 HDP-UTILS Version - HDP-UTILS-1.1.0.22 16
HDP-UTILS-1.1.0.22-repo-1 HDP-UTILS-1.1.0.22-repo-1 16
ambari-2.7.4.0 ambari Version - ambari-2.7.4.0 13
!base/7/x86_64 CentOS-7 - Base 10,070
!epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,277
!extras/7/x86_64 CentOS-7 - Extras 397
!updates/7/x86_64 CentOS-7 - Updates 671
repolist: 24,870
將配置好的 repo 文件,scp 到其他的節點
三、Ambari 安裝
- 在 ambari-server機器上執行: yum -y install ambari-server 選 yes 就行
- 拷貝mysql驅動 將mysql-connector-java.jar複製到/usr/share/java目錄下並改名爲mysql-connector-java.jar
使用 yum -y install mysql-connector-java* 會在 /usr/share/java 下有這個 jar, 只需查看 jar 存在就可以
3.1、 使用Ambari自帶腳本創建表
mysql >use ambari;
mysql>source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
3.2、 ambari-server setup 具體步驟
根據自己的 JAVA_HOME 進行配置就可以
設置數據庫的具體配置信息,根據實際情況輸入,如果和括號內相同,則可以直接回車
顯式 如上的 Ambari Server 'setup' completed successfully 就表示 setup 成功。
四、HDP安裝
4.1、登入ambari開始launch集羣
url: 10.168.138.188:8080
name: admin
passwd: admin
說明:之後將ambari-server 安裝在了10.168.138.188 機器上,安裝過程是一樣的,安裝失敗後,我重新選擇了更多的組件。
1. 點擊launch install wizard
2. 填寫主機映射,repo 源地址baseurl
http://10.168.138.188/HDP/centos7/3.1.4.0-315
http://10.168.138.188/HDP-GPL/centos7/3.1.4.0-315
http://10.168.138.188/HDP-UTILS/centos7/1.1.0.22
3.免密私鑰
cat /root/.ssh/id_rsa
可以複製 cat /root/.ssh/id_rsa 也可以保存爲文件方便選擇
4. 確認所有主機註冊成功且檢查通過
此處要保證所以的警告信息一個沒有,要不然後面安裝,啓動可能報錯,切記!切記!切記
5. 選擇要安裝的組件
6.根據服務器的性能和角色分配和調整每個節點要運行的服務
7.分配主服務
8. 輸入所有服務的用戶名密碼,輸入之前創建的hive用戶名密碼,確認test ok
如果 選擇了 ranger 也要 配置ranger的數據庫
9. 確認每個組件的數據目錄,結合磁盤掛載情況確定,以及各個組件的日誌存放目錄,請勿配置在系統目錄下。
10.確認每組件的參數配置,參數配置是ambari安裝過程中系統自適應的配置,一般不需要調整,如果需要調整也可以調整
11. 下一步點擊deploy
當然了,這一步可能出錯,
- 一種是組件的安裝成功,那就是環境有問題了,具體查找日誌
- 二是組件的啓動不成功,如果一個組件啓動失敗就會報出黃色的安裝條,而不是通過,具體問題具體分析
Dashboard
4.2 組件的添加
1、選擇 Services
2、根據需求繼續添加就可以,跟前面的安裝是一樣的
4.3、高可用配置
說明:由於我只有兩臺機器,所以配置不了高可用只能簡單說明。
1、 HDFS高可用
後面的操作差不多,大家有條件的話,可以參考其他優秀的博客
參考的博客:
阿里雲服務器搭建及安裝Ambari環境 https://blog.csdn.net/L_x_4/article/details/103742753
Linux格式化數據盤(阿里雲數據盤) https://blog.csdn.net/qq_35995514/article/details/106229387
linux 安裝 MySQL5.7.19 https://blog.csdn.net/qq_35995514/article/details/106175801
Apache Ambari-2.7.3+Centos7離線安裝 https://blog.csdn.net/Happy_Sunshine_Boy/article/details/86595945