Hadoop建設工具Ambari的安裝部署及完整使用(二)——準備工作
二.準備工作
關於linux環境建立,yum源配置等基礎系統搭建過程就不在此贅述了。以下內容完全是基於centos7環境,root使用者。
1.安裝JAVA環境
1) 下載jdk套件,此處作者使用的是:jdk1.8.0_111 (選擇合適的穩定版本即可)
oracle官方下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2) 將下載的jdk解壓至 /usr/java目錄下,執行命令
修改檔案許可權:
chmod -R 777 /usr/java
修改環境變數:
vi /etc/profile
新增內容:
JAVA_HOME=/usr/java/jdk1.8.0_111
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH CATALINA_HOME
3) 啟用新的環境變數,並驗證:
source /etc/profile
java –version
javac –version
效果如圖所示:
2.域名配置
1) 修改本地域名(必須為FQDN的完整域名形式(Ambari要求))
修改命令:
hostnamectl set-hostname <host-name>
檢查修改後的狀態:
hostnamectl status
效果如圖所示:
2) 修改/etc/hosts
修改命令:
vi /etc/hosts
新增內容:
192.168.61.41 config.hadoop.com 192.168.61.42 master1.hadoop.com 192.168.61.43 master2.hadoop.com 192.168.61.44 slave1.hadoop.com 192.168.61.45 slave2.hadoop.com 192.168.61.46 slave3.hadoop.com
效果如圖所示:
3.SSH免密碼登入配置
1) 生成祕鑰對
生成金鑰對命令(連續回車即可):
ssh-keygen -t rsa
效果如圖所示:
2) 將id_rsa.pub匯入到authorized_keys檔案中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3) 用scp命令,將母伺服器的authorized_keys檔案分發到遠端的子伺服器的對應目錄上
scp ~/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys
4) 測試無密碼登入
ssh [email protected]
效果如圖所示:
注:.ssh/目錄必須是700許可權;.ssh/authorized_keys檔案必須是600許可權
4.NTP時間同步配置
1) 全部伺服器——校驗並安裝ntpd服務
檢查是否已經安裝:
rpm –q ntp
若沒有,則執行yum安裝:
yum install ntp -y
設定系統開機自動啟動並啟動服務:
systemctl enable ntpd
systemctl start ntpd
2) 母伺服器——校準服務端時間
同步時間至正確(xxx.xxx.xxx 為ntp同步伺服器):
ntpdate –u xxx.xxx.xxx
3) 母伺服器——修改服務端配置檔案
修改命令:
/etc/ntp.conf
新增:
restrict xxx.xxx.xxx.0 mask 255.255.255.0 nomodify notrap
server 1.cn.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
restrict 1.cn.pool.ntp.org nomodify notrap noquery
restrict 1.asia.pool.ntp.org nomodify notrap noquery
restrict 2.asia.pool.ntp.org nomodify notrap noquery
server 127.0.0.1 # local clock
fudge 127.0.0.1 stratum 10
效果如圖所示:
4) 母伺服器——重啟ntpd服務並檢查ntp同步狀態
systemctl restart ntpd
ntpstat
效果如圖所示(需要等待5-10分鐘):
5) 子伺服器——修改客戶端配置檔案
修改命令:
vi /etc/ntp.conf
新增內容:
server xxx.xxx.xxx.xxx
restrict xxx.xxx.xxx.xxx nomodify notrap noquery
server 127.0.0.1
fudge 127.0.0.1 stratum 10
效果如圖所示:
6) 子伺服器——重啟ntpd服務並檢查ntp同步狀態
systemctl restart ntpd
ntpstat
效果如圖所示:
5.Mysql資料庫安裝(也可忽略此步,直接採用Ambari自帶的PostgreSQL資料庫)
1) 獲取mysql倉庫地址並下載、解包(mysql版本請自行選擇)
wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
2) yum安裝mysql
yum install mysql-server -y
可能會缺少依賴庫:
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm
rpm -Uvh libaio-0.3.109-13.el7.x86_64.rpm
3) 啟動mysql服務並檢視狀態
systemctl start mysqld
systemctl status mysqld
4) 設定開機啟動
systemctl enable mysqld
systemctl daemon-reload
5) 找到root預設密碼並修改(需要修改密碼策略)
根據日誌找到預設密碼:
grep 'temporary password' /var/log/mysqld.log
效果如圖所示:
用找到的預設密碼登入mysql,並進入mysql命令列:
mysql -uroot –p
mysql命令列,檢視密碼策略:
SHOW VARIABLES LIKE 'validate_password%';
mysql命令列,修改密碼策略(取消特殊字元的要求):
set global validate_password_special_char_count=0;
mysql命令列,修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';
6) mysql預設只允許root帳戶在本地登入,因此修改root允許遠端連線
還是在mysql命令列下,執行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPass123!' WITH GRANT OPTION;
7) 修改配置檔案,配置預設編碼為UTF-8
修改命令:
vi /etc/my.cnf
在[mysqld]下新增:
character_set_server=utf8
init_connect='SET NAMES utf8'
8) 重啟mysql服務
systemctl restart mysqld
進入mysql命令列,檢查修改情況:
show variables like '%character%';
效果如圖所示:
9) 使用桌面客戶端或是CLI連線,並建立ambari使用者
客戶端或mysql命令列,執行命令:
CREATE USER 'ambari'@'%' IDENTIFIED BY 'Ambarixxx41';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'Ambarixxx41';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
FLUSH PRIVILEGES;