1. 程式人生 > >Hadoop建設工具Ambari的安裝部署及完整使用(二)——準備工作

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;