大資料叢集搭建 – 1. CDH叢集安裝 – 環境準備

星空發表於2018-07-18

叢集環境準備

一、機器準備

首先需要準備3臺機器或者虛擬機器,安裝好centos7.5版本和JDK1.8。

我們這次準備安裝的是Cloudera的CDH 5.14.3 。

TIPS:快速建立機器的技巧是規範好要裝的軟體,迅速利用映象功能建立好三臺機器出來。

ip地址這裡我們設定為192.168.168.81,192.168.168.82,192.168.168.83。

如果是本地的虛擬機器,需要自己配置IP地址。

我們以192.168.168.81為例子。

進入網路配置目錄
cd /etc/sysconfig/network-scripts

編輯網路卡配置檔案,這裡的ens33根據您實際的網路卡名稱來。
vi ifcfg-ens33 

這裡注意幾個引數
BOOTPROTO=static  # 這裡需要設定為靜態的ip地址
ONBOOT=yes # 啟動的時候開啟網路,不然不能聯網
IPADDR=192.168.168.81 # 你要設定的IP地址,這裡最好不要在DHCP範圍內,避免IP衝突
GATEWAY=192.168.168.2 # 閘道器
NETMASK=255.255.255.0 # 網路掩碼
DNS1=8.8.8.8  # google的 DNS伺服器
DNS2=192.168.168.2  # 閘道器做DNS伺服器

最後重啟網路服務。
service network restart

網路模型參考:
https://www.linuxidc.com/Linux/2016-09/135521.htm

二、修改hostname和hosts檔案

1.檢視hostname

在每臺機器上我們可以通過命令
hostname

2. 修改hostname

在192.168.168.81上執行命令,修改主機名稱為dev-hd001。
hostnamectl set-hostname dev-hd001

在192.168.168.82上執行命令,修改主機名稱為dev-hd002。
hostnamectl set-hostname dev-hd002

在192.168.168.82上執行命令,修改主機名稱為dev-hd002。
hostnamectl set-hostname dev-hd003

3.修改hosts檔案

在每一臺機器的hosts檔案中加入如下內容。
vim /etc/hosts
192.168.168.81  dev-hd001  hd1
192.168.168.82  dev-hd002  hd2
192.168.168.83  dev-hd003  hd3

三、關閉防火牆和selinux

1.關閉防火牆

檢視預設防火牆狀態。
(關閉後顯示notrunning,開啟後顯示running)
firewall-cmd --state 

停止firewall
systemctl stop firewalld.service 

禁止firewall開機啟動
systemctl disable firewalld.service 

如果安裝了iptables, 我們還需要關閉iptables

檢視iptables狀態
service iptables status

停止iptables
service iptables stop

啟動的時候關閉iptables
chkconfig iptables off

2.關閉selinux

永久關閉selinux,需要通過修改配置檔案/etc/selinux/config。
vim /etc/selinux/config

修改SELINUX。引數可選(enforcing、permissive、disabled)
SELINUX=disabled

需要reboot重啟生效。

四、安裝ssh免密碼登入

  1. 免密登入原理
現在我們有A和B兩臺機器。

1.我們在A上生成一對金鑰。
2.將在A上生成的公鑰拷貝給B機器,新增到~/.ssh/authorized_keys這個檔案中。
3.A向B傳送一個連線請求,資訊包括使用者名稱,IP等
4.B的到A的資訊後,回到authorized_keys中查詢,如果有對應的使用者名稱和ip, B會隨機生成一個字串,比如"DMAC"。
5.B使用公鑰對字串"DMAC"進行加密,然後傳送給A。
6.A得到B發來的訊息後,使用私鑰進行解密,然後將解密後的字串傳送給B.
7.B接收到A發過來的字串後,會跟先前生成的字串進行對比,如果一致,就允許免密碼登入。

2.操作步驟

1.確認有沒有~/.ssh目錄,沒有的話
mkdir ~/.ssh

2.在dev-hd001機下生成公鑰和私鑰對。
ssh-keygen
這裡直接三次回車,會看到在~/.ssh有id_rsa檔案和id_rsa.pub檔案。

id_rsa.pub檔案是公鑰檔案。
可以通過cat命令檢視。
cat id_rsa.pub

3.從dev-hd001機器拷貝公鑰到dev-hd002機器。
ssh-copy-id -i root@dev-hd002

ssh-copy-id命令可以把本地主機的公鑰複製到遠端主機的authorized_keys檔案上。
ssh-copy-id命令也會給遠端主機的使用者主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設定合適的許可權。

4.在dev-hd001上登入到dev-hd002
ssh root@dev-hd002
logout 登出

相關文章