
如上圖 準備好該準備的食材(ps:其中的hadoop-3.1.2-src更改為hadoop-3.1.2
src為源文件的意思? 反正就是換了 大家注意一下 后面截圖有錯的地方有空我再改吧 肝疼)
安裝好centos7

桌面右鍵打開terminal——輸入ifconfig——查看ens33的ip——記住然后打開xftp6

點擊新建



把食材多選,右鍵傳輸即可,內網傳輸速度不快不慢
所示很完美了

解壓hadoop安裝包 tar -zxvf hadoop-3.1.2-src.tar.gz

重新裝了centos7 解壓的時候分文件夾了

如上圖編寫

打開xshell 新建
輸入你的主機ip 在用戶身份驗證上寫上用戶名和密碼


yes就完事了——然后三臺機器都需要改了名字

時間同步 時區一致。要保證設置主機時間準確,每臺機器時區必須一致。實驗中我們需要同步網絡時間,因此要首先選擇一樣的時區。先確保時區一樣,否則同步以后時間也是有時區差。可以使用 date 命令查看自己的機器時間. 選擇時區:tzselect

1.關閉防火墻
當其狀態是 dead 時,即防火墻關閉。 關閉防火墻:systemctl stop firewalld 查看狀態:systemctl status firewalld
2. hosts文件配置 (三臺機器) 如下圖輸入各節點的ip
3. master 作為 ntp 服務器,修改 ntp 配置文件。(master 上執行)
vi /etc/ntp.conf
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10 #stratum 設置為其它值也是可以的,其范圍為 0~15

重啟 ntp 服務。
/bin/systemctl restart ntpd.service
其他機器同步(slave1,slave2)
等待大概五分鐘,再到其他機上同步該 master 服務器時間。
ntpdate master
如果配置平臺式沒有外網連接可以將三臺機器設為統一時間,輸入命令:
date -s 10:00(時間)

終于走到正題??? 別慌快了
1. SSH免密
(1)每個結點分別產生公私密鑰:
ssh-keygen -t dsa -P ‘' -f ~/.ssh/id_dsa(三臺機器)
秘鑰產生目錄在用戶主目錄下的.ssh 目錄中,進入相應目錄查看:
cd .ssh/

(2)Id_dsa.pub 為公鑰,id_dsa 為私鑰,緊接著將公鑰文件復制成 authorized_keys 文 件:(僅 master)
cat id_dsa.pub >> authorized_keys(注意在.ssh/路徑下操作)

在主機上連接自己,也叫做 ssh 內回環。
ssh master

(3)讓主結點 master 能通過 SSH 免密碼登錄兩個子結點 slave。(slave 中操作)
為了實現這個功能,兩個 slave 結點的公鑰文件中必須要包含主結點的公鑰信息,這樣
當 master 就可以順利安全地訪問這兩個 slave 結點了。
slave1 結點通過 scp 命令遠程登錄 master 結點,并復制 master 的公鑰文件到當前的目錄
下,且重命名為 master_das.pub,這一過程需要密碼驗證。
scp master:~/.ssh/id_dsa.pub ./master_das.pub

將 master 結點的公鑰文件追加至 authorized_keys 文件:
cat master_das.pub >> authorized_keys
(1)每個結點分別產生公私密鑰: ssh-keygen -t dsa -P ‘' -f ~/.ssh/id_dsa(三臺機器)秘鑰產生目錄在用戶主目錄下的.ssh 目錄中,進入相應目錄查看: cd .ssh/ (2)Id_dsa.pub 為公鑰,id_dsa 為私鑰,緊接著將公鑰文件復制成 authorized_keys 文 件:(僅 master) cat id_dsa.pub >> authorized_keys(注意在.ssh/路徑下操作) 在主機上連接自己,也叫做 ssh 內回環。 ssh master
這時,
master 就可以連接 slave1 了。

slave1 結點首次連接時需要,“yes”確認連接,這意味著 master 結點連接 slave1 結點時需要人工詢問,無法自動連接,輸入 yes 后成功接入,緊接著注銷退出至 master 結點。
同理 slave2 中也是這么操作
jdk之前已經安裝好了,所以我們直接來配環境,就和windows的時候配環境變量一個道理(三臺)
修改環境變量:vi /etc/profile
> 添加內容如下:
> export JAVA_HOME=/usr/java/jdk1.8.0_241
> export CLASSPATH=$JAVA_HOME/lib/export
> PATH=$PATH:$JAVA_HOME/bin
> export PATH JAVA_HOME CLASSPATH
生效環境變量:source /etc/profile
插播一個小技巧scp

scp /etc/profile slave1:/etc/profile ##這樣就可以傳給slave1 和slave2了
終于到hadoop了??? 恭喜寧!
配置環境變量:
vi/etc/profile
export HADOOP_HOME=/usr/hadoop/hadoop-3.1.2
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin
我經常忘的一步大聲告訴我是什么!
使用以下命令使profile生效: source /etc/profile
溫馨提示 下面就是配置文件的內容了 本文暫時不做講解內容但是我已經給大家準備好標準的配置文件了

編輯hadoop環境配置文件hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_241
在這個文件里面會有好多注釋的語句,找到你要配置的模板把井號刪除完善即可 耐心找一下
然后我偷懶的地方就要到了!!!!!我上傳了幾個配置文件 我們復制到這個文件夾中即可 系統提示是否覆蓋時候就輸入y即可
core-site.xml yarn-site.xml hdfs-site.xml mapred-site.xml

還需要寫一下slave文件 加上slave1 slave2如下圖

還有master文件

(9)分發hadoop:
scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/
master中格式化hadoop hadoop namenode -format 如果報錯的話 看看是不是如下鏈接的錯誤 里面有解決辦法
總結
以上所述是小編給大家介紹的hadoop基于Linux7的安裝配置圖文詳解,希望對大家有所幫助!