Ambari安裝大數據集羣
本文是基於CentOS 7.3系統環境,學習和使用大數據集羣:
- CentOS-7.3-x86_64-DVD-1611.iso
- ambari-2.6.0.0-centos7.tar.gz
- HDP-2.6.3.0-centos7-rpm.tar.gz
- HDP-UTILS-1.1.0.21-centos7.tar.gz
一、集羣配置
(1)集羣列表
大數據集羣由5臺虛擬服務器組成,4核,6G內存,100G硬盤,集羣信息列表如下
hostname | CPU | 內存 | 硬盤 | IP地址 |
---|---|---|---|---|
master | 4核 | 6G | 100G | 192.168.0.201 |
slave01 | 4核 | 6G | 100G | 192.168.0.202 |
slave02 | 4核 | 6G | 100G | 192.168.0.203 |
slave03 | 4核 | 6G | 100G | 192.168.0.204 |
slave04 | 4核 | 6G | 100G | 192.168.0.205 |
(2)集羣配置IP地址
- 登錄每一臺服務器,並進入IP地址配置目錄
cd /etc/sysconfig/network-scripts/
- 使用vi命令,編輯網絡配置文件ifcfg-eth0
vi ifcfg-eth0
- 修改IP地址
- 重啓網絡服務
systemctl restart network
(2)集羣配置hostname
1. 修改主節點
登錄主節點服務器(192.168.0.201),並使用hostnamectl命令修改hostname
hostnamectl --static set-hostname master
2. 修改從節點1
登錄從節點1服務器(192.168.0.202),並使用hostnamectl命令修改hostname
hostnamectl --static set-hostname slave01
3. 修改從節點2
登錄從節點2服務器(192.168.0.203),並使用hostnamectl命令修改hostname
hostnamectl --static set-hostname slave02
4. 修改從節點3
登錄從節點3服務器(192.168.0.204),並使用hostnamectl命令修改hostname
hostnamectl --static set-hostname slave03
5. 修改從節點4
登錄從節點4服務器(192.168.0.205),並使用hostnamectl命令修改hostname
hostnamectl --static set-hostname slave04
6. 重啓所有的機器
shutdown -r now
7. 修改hosts配置文件
- 使用vi命令,編輯配置文件hosts
vi /etc/hosts
編輯內容如下:
8. 測試所有機器的連通性
- 使用ping命令,測試連通性
ping master
ping slave01
ping slave02
ping slave03
ping slave04
(3)配置免密登錄
登錄所有服務器,並執行以下命令,然後一路Enter
ssh-keygen -t rsa
登錄slave01節點,將id_rsa.pub文件拷貝到master節點,執行以下命令
scp /root/.ssh/id_rsa.pub master:/root/.ssh/id_rsa.pub-slave01
登錄slave02節點,將id_rsa.pub文件拷貝到master節點,執行以下命令
scp /root/.ssh/id_rsa.pub master:/root/.ssh/id_rsa.pub-slave02
登錄slave03節點,將id_rsa.pub文件拷貝到master節點,執行以下命令
scp /root/.ssh/id_rsa.pub master:/root/.ssh/id_rsa.pub-slave03
登錄slave04節點,將id_rsa.pub文件拷貝到master節點,執行以下命令
scp /root/.ssh/id_rsa.pub master:/root/.ssh/id_rsa.pub-slave04
登錄master節點,將id_rsa.pub文件追加到authorized_keys,並將所有從節點發來的公鑰也追加到authorized_keys,執行以下命令
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub-slave01 >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub-slave02 >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub-slave03 >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub-slave04 >> /root/.ssh/authorized_keys
在master節點,修改authorized_keys文件的權限,執行以下命令
chmod 600 /root/.ssh/authorized_keys
master節點將authorized_keys文件分發至所有的從節點,執行以下命令
scp /root/.ssh/authorized_keys slave01:/root/.ssh/
scp /root/.ssh/authorized_keys slave02:/root/.ssh/
scp /root/.ssh/authorized_keys slave03:/root/.ssh/
scp /root/.ssh/authorized_keys slave04:/root/.ssh/
(4)軟件環境配置
1. JDK1.8安裝
詳細的安裝教程參考Linux下安裝java編程環境
2. 安裝createrepo用於製作yum源倉庫
以下是爲了安裝createrepo,而提前安裝的依賴包,這些依賴包可以在CentOS-7.3-x86_64-DVD-1611.iso/Packages裏面找到:
libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
deltarpm-3.6-3.el7.x86_64.rpm
python-deltarpm-3.6-3.el7.x86_64.rpm
createrepo-0.9.9-28.el7.noarch.rpm
3. 安裝httpd用於提供web服務
以下是爲了安裝httpd,而提前安裝的依賴包,這些依賴包可以在CentOS-7.3-x86_64-DVD-1611.iso/Packages裏面找到:
apr-util-1.5.2-6.el7.x86_64.rpm
Apr-1.4.8-3.el7_4.1.x86_64.rpm
mailcap-2.1.41-2.el7.noarch.rpm
httpd-tools-2.4.6-88.el7.centos.x86_64.rpm
httpd-2.4.6-88.el7.centos.x86_64.rpm
修改配置文件
cd /etc/httpd/conf/
vi httpd.conf
添加一行 ServerName localhost:80
修改防火牆,開放80端口
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
啓用httpd服務
systemctl enable httpd.service
systemctl start httpd.service
重啓服務器,並測試httpd服務,在瀏覽器訪問192.168.0.201,如果成功訪問,就說明httpd啓用成功
4. 安裝yum源
1.登錄master節點,進入/var/www/html目錄,新建centos7目錄,將CentOS-7.3-x86_64-DVD-1611.iso中的Packages目錄,拷貝到centos7目錄中。
2.建立yum索引
createrepo /var/www/html/centos7/Packages
3.備份原始yum源配置文件
cd /etc/yum.repo.d
mdkir bak
mv *.repo ./bak
4.新建yum源配置文件
vi CentOS-Self,內容如下:
[self]
name=CentOS-Self
baseurl=http://192.168.0.201/centos7/Packages
gpgcheck=0
enabled=1
5.清除yum源緩存
yum clean all
6.驗證yum源是否生效
yum list
7.其他節點配置
scp /etc/yum.repo.d/CentOS-Self.repo slave01:/etc/yum.repo.d
將所有的非 CentOS-Self.repo放入bak目錄
yum clean all
yum list
5. 安裝ntp,並配置時間同步
- 所有節點下載ntp
yum install ntp
- 服務端配置/etc/ntp.conf
- 棄用chronyd服務
systemclt disable chronyd
- 啓用並開啓ntpd服務
systemclt enable ntpd
systemclt start ntpd
- 客戶端配置crontab
crontab –e # 進入crontab進行編輯
* */1 * * * /usr/sbin/ntpdate master # 與vi類似,按i進行編輯,wq保存退出
- 配置crontab開機自啓動
systemclt enable crond