叢集搭建1之前期準備
阿新 • • 發佈:2018-12-17
軟體版本準備
1.hadoop-2.6.0-cdh5.7.0.tar.gz
2.jdk-8u45-linux-x64.gz
3.zookeeper-3.4.6.tar.gz
需要軟體的小夥伴可以評論裡面留下郵箱地址
建立hadoop使用者上傳軟體
1.在/home/hadoop(也就是hadoop使用者的家目錄下面)建立幾個資料夾用於存放資料
[[email protected] software]$3 mkdir app software data lib source
[[email protected] software]$3代表小視窗中同時將命令列輸入到三臺機器上,[ [email protected] software]$1代表將命令列輸入到當前機器上
2.將三個tar.gz包上傳至software資料夾中。外網傳輸下載的速度是很慢的。所以選擇在hadoop002這臺機子上下載tar.gz包。再通過scp傳輸到其他兩臺機器上
[[email protected] software]$1 scp * 192.168.2.65
(如果這樣的話代表的是在當前使用者也就是hadoop使用者下執行這個命令,但是我們建立使用者的時候並沒有給hadoop這個使用者設定密碼,所以用root去執行命令即如下:
[[email protected] software]$1 scp * [email protected]:/home/hadoop/software/
[[email protected] software]$1 scp * [email protected]:/home/hadoop/software/
[[email protected] software]$3 exit
[[email protected] ~]#3 chown -R hadoop:hadoop /home/hadoop/software/*(在root下面將三臺機器的使用者和使用者組同時修改為hadoop)
[[email protected] ~]#3 ll /home/hadoop/software/*(三臺檢視一下是否已經改過來)
[[email protected] ~]# su - hadoop(到此上傳軟體結束)
3.修改主機名:一臺一臺進行修改
如:[[email protected] ~]$1 hostname hadoop003 (必須在root下面執行命令)
[[email protected] ~]#1 vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop003
配置三臺機器的/etc/hosts檔案
1.先把hadoop001這臺機器的/etc/hosts檔案配置好,然後通過scp命令把檔案傳輸到其他兩臺機器上,替換其他兩臺機器的/etc/hosts檔案。具體操作如下:
[[email protected] ~]#1 cat /etc/hosts (檢視一下內容)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.65 hadoop001
[[email protected] ~]#1 vi /etc/hosts (把其他兩臺機器的ip和主機名新增進去)
192.168.2.65 hadoop001
192.168.2.199 hadoop002
192.168.2.200 hadoop003
[[email protected] ~]#1 scp /etc/hosts 192.168.2.199:/etc/hosts
[[email protected] ~]#1 scp /etc/hosts 192.168.2.200:/etc/hosts
[[email protected] ~]#3 cat /etc/hosts (三臺機器檢視檔案主機名配置及網路配置,都ok,到此/etc/hosts檔案修改完成)
192.168.2.65 hadoop001
192.168.2.199 hadoop002
192.168.2.200 hadoop003
多臺機器配置ssh無密碼訪問
1.建立生成hadoop使用者的公鑰和私鑰,把其他兩臺機器的公鑰都發到同一臺機器上,然後生成一個authorized_keys 檔案
[[email protected] ~]#3 su - hadoop
[[email protected] ~]$3 ll -a (發現三臺機器都有.ssh檔案)
[[email protected] ~]$3 rm -rf .ssh (把hadoop使用者下的.ssh先刪掉,反正沒什麼用)
[[email protected] ~]$3 ll -a (再次檢視一下)
[[email protected] ~]$3 ssh-keygen(建立公鑰(Pulic Key)和金鑰(Private Key)ssh-keygen -t[rsa|dsa]預設為dsa)(此命令的時候中間直接輸入幾次enter鍵)
接下來,把hadoop001作為主機,其他兩臺機器為輔。把其他兩臺機器的公鑰檔案傳送給hadoop001
[[email protected] .ssh]$1 scp id_rsa.pub [email protected]:/home/hadoop/.ssh/id_rsa.pub2(id_rsa.pub2代表這是來自於第二臺機器的公鑰)
[[email protected] .ssh]$1 scp id_rsa.pub [email protected]:/home/hadoop/.ssh/id_rsa.pub3(id_rsa.pub3代表這是來自於第三臺機器的公鑰)
[[email protected] .ssh]$1 ll (檢視hadoop001 機器此時下面的是否已經有了其他兩臺機器的公鑰)
接下來把這個三個機器的公鑰 追加 至hadoop001這臺機器的/home/hadoop/.ssh/authorized_keys 中,(>>:追加 >:覆蓋)如下:
[[email protected] .ssh]$1 cat id_rsa.pub >> authorized_keys
[[email protected] .ssh]$1 cat id_rsa.pub2 >> authorized_keys
[[email protected] .ssh]$1 cat id_rsa.pub3 >> authorized_keys
[[email protected] .ssh]$1 cat authorized_keys (檢視該檔案的內容)
[[email protected] .ssh]$1 ll(檢視一下這個檔案已經存在於這個資料夾下)
2.接下來要把hadoop001上面的這個authorized_keys檔案scp到其他兩臺機器下面
[[email protected] .ssh]$1 scp authorized_keys [email protected]:/home/hadoop/.ssh/(因為不想再給hadoop使用者設定密碼,所以我們每次scp就選擇使用root使用者執行,輸入root的密碼 注:root執行的,所以執行後的檔案使用者使用者組也就變成了root)
[[email protected] .ssh]$ scp authorized_keys [email protected]:/home/hadoop/.ssh/ (此時已經把這份公鑰上傳到三臺機器了)
[[email protected] .ssh]$3 ll (可以看到authorized_keys在其他兩臺機器中的使用者使用者組是root。所以要通過root來修改許可權其為hadoop,如下:)
[[email protected] .ssh]$3 exit
[[email protected] ~]#3 chown -R hadoop:hadoop /home/hadoop/.ssh/*
[[email protected] ~]#3 chown -R hadoop:hadoop /home/hadoop/.ssh(通過這兩個命名確保三臺機器的 .ssh資料夾及這個資料夾下的所有東西使用者使用者組都被修改為hadoop)
然後進入hadoop使用者 檢視是否許可權修改成功
3.修改對應的許可權
chmod 700 -R /home/hadoop/.ssh
chmod 600 /home/hadoop/.ssh/authorized_keys
因為我們的.ssh資料夾本來就是700.所以這一步就不用操作了。如果不是需要改為700
[[email protected] .ssh]$3 chmod 600 authorized_keys (把三臺機器的authorized_keys檔案許可權改為600)
[[email protected] .ssh]$3 ll (確認一下許可權是否都已經修改成功)
驗證方式1.每臺機器輪流做
[[email protected] .ssh]$1 ssh hadoop001 date(列印hadoop001機器的當前時間,驗證是否ssh無密碼配置成功)
[[email protected] .ssh]$1 ssh hadoop002 date
[[email protected] .ssh]$1 ssh hadoop003 date
驗證方式2:
[[email protected] .ssh]$3 ssh hadoop001 date && ssh hadoop002 date && ssh hadoop003 date (&&代表三個命令同時做,先做第一個再做第二個再做第三個,顯示如下:)
Tue Nov 6 11:33:26 CST 2018
Tue Nov 27 11:14:48 CST 2018
Tue Nov 27 11:14:48 CST 2018
到此為止,三臺機器的ssh無密碼訪問已經建立成功