安裝hadoop總體分三步
本人經常遺忘su所以每個看這篇文章的童鞋幫我記一下
1.安裝三臺機器(基本環境配置)
1.1修改主機名(三臺機器均執行)
1.2下載相關工具( net-tools,ntp)
1.3關閉防火牆(三臺機器)
1.4時間同步(驗證一下就可以)
1.5修改 ntp 配置文件。(master 上執行)
1.6 配置 ssh 免密
2.安裝jdk(配置環境)
3.安裝hadoop(配置環境,啓動代碼,50070端口檢查)
1.安裝三臺機器(基本環境配置)
這兩個軟件算是輔助工具
如上圖 準備好該準備的食材
core-site.xml有關配置:[https://blog.csdn.net/qq_44172732/article/details/104433117]
hdfs-site.xml有關配置:https://blog.csdn.net/qq_44172732/article/details/104433372
安裝好centos7(推薦最小安裝 直接輸入代碼的那種 進入系統之後你的賬號是root密碼是你自己設置的)
本人後來使用的最小安裝
桌面右鍵打開terminal——輸入ifconfig——查看ens33的ip——記住
(最小安裝的話直接輸入ifconfig即可)(如果不能用這個命令就先下載ntp和net-tools,下面有詳細的)
使用ifconfig命令發現ens33 的ip地址沒有顯示的解決方法點擊這裏
然後打開xftp6(本操作進行你的windows和虛擬機的文件互傳,把下載好的文件傳入虛擬機中)
點擊新建
建立什麼文件夾都行你看着舒服就行了
把食材多選,右鍵傳輸即可,內網傳輸速度不快不慢
如上圖所示很完美了
後文進行了優化(說白了就是分開文件夾解壓了 jdk解壓到自己建立的jdk文件夾)
解壓hadoop安裝包
tar -zxvf hadoop-3.1.2.tar.gz
重新裝了centos7 解壓的時候分文件夾了 jdk解壓到jdk文件夾 hadoop解壓到hadoop文件夾
更改主機名字,如下圖編寫
hostnamectl set-hostname master
這個是vi /etc/sysconfig/network
裏面需要寫的內容
如下圖利用ifconfig
命令查看結點ip
打開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
這時,master 就可以連接 slave1 了。
slave1 結點首次連接時需要,“yes”確認連接,這意味着 master 結點連接 slave1 結點時需要人工詢問,無法自動連接,輸入 yes 後成功接入,緊接着註銷退出至 master 結點。
同理 slave2 中也是這麼操作
2.安裝jdk
jdk之前已經安裝好了,所以我們直接來配環境,就和windows的時候配環境變量一個道理(三臺)
安裝jdk1.8時出現沒有/lib/ld-linux.so.2:這個文件的原因分析點擊這裏
> 修改環境變量: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了??? 恭喜寧!
3.安裝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文件 (hadoop3之後的版本文件名叫做workers)
(9)分發hadoop:
scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/
master中格式化hadoop
hadoop namenode -format
然後在到圖片路徑下輸入 sbin/start.all.sh
主節點應有的進程 SecondaryNameNode ResourceManager NameNode
從節點
DataNode NodeMandager
在你的瀏覽器上輸入http://192.168.111.147:50070/ 我的主機ip和你的不一樣啊!
就可以看到如圖
可以說成功了吧!
(完結 四級沒過很難受