前言 年過30惶惶不安,又逢疫情,還是不斷學習,強化自己的能力。hadoop的視頻和書籍在15年的時候就看過,但是一直沒動手實踐過,要知道技術不經過實戰,一點提升也沒有。因此下定決心邊學邊做,希望能有所收穫。 軟體版本介紹 virtualbox 6.1 centos7 hadoop 3.2.1 jd ...
前言
年過30惶惶不安,又逢疫情,還是不斷學習,強化自己的能力。hadoop的視頻和書籍在15年的時候就看過,但是一直沒動手實踐過,要知道技術不經過實戰,一點提升也沒有。因此下定決心邊學邊做,希望能有所收穫。
軟體版本介紹
- virtualbox 6.1
- centos7
- hadoop-3.2.1
- jdk-8u241-linux-x64
- xshell
xftp
虛擬機配置規劃
name | ip | role |
---|---|---|
61 | 192.168.3.61 | namenode,datanode |
62 | 192.168.3.62 | datanode |
63 | 192.168.3.63 | secondnamenode |
64 | 192.168.3.64 | datanode |
虛擬機的創建
安裝virtualbox
新建虛擬機如下圖所示:
選擇red hat 64位。點擊下一步,記憶體根據情況設置
下一步
現在創建虛擬機硬碟,點擊創建。
勾選第一個,下一步。
動態分配,下一步。
點擊創建。
雙擊啟動。
註冊系統鏡像iso.啟動安裝
記得設置連接方式,橋接網卡,可以讓虛擬機和本機在同一個網路下。
複製虛擬機,避免多次安裝
右擊複製
虛擬機配置ip
- 修改192.168.3.61的網路配置,192.168.3.62,192.168.3.63,192.168.3.64的雷同。
# vi /etc/sysconfig/network-scripts/ifcfg-ens3
TYPE=Ethernet
BOOTPROTO=static //dhcp改成static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes //no改成yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens3
UUID=851ae637-14d4-4435-9c38-d3a3e4c2f0c3
DEVICE=ens3
IPADDR=192.168.3.61 //新加上的
NETMASK=255.255.255.0 //新加上的
GATEWAY=192.168.3.1 //新加上的
ONBOOT=yes //no改成yes
- 重啟網路
# service network restart
當所有結果都顯示為OK時,才能成功。
- curl測試網路是否通了
返回網頁表示統領。
使用 xshell
在虛擬機中輸入命令很受,讓我們用專門的客戶端吧,讓你寫命令6的起飛。
點擊連接,輸入用戶名和密碼,記得勾選記住用戶名和密碼。下次就避免輸入了。
SSH免密碼登錄
ssh-keygen 用來生成ssh登錄的key,可以使我們以後登錄遠程主機時無需再輸入遠程主機的key具體使用方法如下:
當我們需要用主機61登錄遠程主機62時,我們在主機61上輸入:
- 生成Key
# ssh-keygen -t rsa
會產生如下的信息:
- key的名稱輸入id_rsa,密碼直接回車表示空
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ->輸入key文件的名稱
Enter passphrase (empty for no passphrase): ->輸入使用key時的密碼,註意這裡不是遠處伺服器的密碼,
只是你使用sshkey時需要輸入的密碼,
建議不輸入(如果要輸入這個密碼還不如直接輸入遠處主機的密碼:))
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
11:ae:00:bd:92:bc:70:f8:4b:cb:47:06:7f:e2:73:21 root@xxxxxx
- 把公匙複製到62
scp id_rsa.pub 192.168.3.62:/root/.ssh/
- 遠程到62
ssh 192.168.3.62 ->登錄遠程主機
[email protected]'s password: ->輸入密碼
- 生成authorized_keys
# cd /root/.ssh ->進入到key目錄
# cat id_rsa.pub >> authorized_keys
- 修改.ssh和authorized_keys許可權。退出62,重啟ssh服務
600 設置擁有者可讀寫,其他人不可讀寫執行,
700 ** 只有擁有者有讀、寫、執行許可權。**
#chmod 700 .ssh
#chmod 600 authorized_keys
#exit -> 推出遠程62伺服器
#service sshd restart ->重新啟動ssh服務
#ssh 192.168.3.62 ->遠程登錄到62測試下吧:)
關閉防火牆
了使兩台機器之間進行通信,還需要將每個節點的防火牆都關閉。關閉防火牆有兩種方法,一種是永久生效;另一種是立即生效,重啟後無效。這兩條命令我們可以都運行一遍,這樣就代表防火牆立即關閉,並且機器重啟後仍然處於關閉狀態。
停止firewall
systemctl stop firewalld.service
禁止firewall開機啟動
systemctl disable firewalld.service