hadoop完全分散式環境搭建

阿刁@發表於2020-10-24

以三臺虛擬機器為例

建立主機名和ip對映

sudo vi /etc/hosts
在這裡插入圖片描述
上傳到slave1和slave2
sudo scp -r /etc/hosts slave2:/etc/hosts
在這裡插入圖片描述

關閉防火牆

(master,slave1,slave2)

關閉防火牆:sudo service iptables stop
關閉防火牆自啟:sudo chkconfig iptables off
在這裡插入圖片描述

配置免密登入

(每臺虛擬機器上都要執行這四條語句)
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

master
在這裡插入圖片描述
slave1(slave2)
在這裡插入圖片描述
ssh免密登入驗證

在這裡插入圖片描述

安裝JDK

建立自定義資料夾
mkdir apps(每臺虛擬機器都要建立)
在這裡插入圖片描述
上傳JDK檔案並解壓

上傳教程點這裡

解壓JDK檔案
tar -zxvf jdk-8u181-linux-x64.tar.gz -C /home/hadoop/apps
解壓完成更改配置檔案
sudo vi /etc/profile
在最後面增加
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181

export PATH=$PATH:$JAVA_HOME/bin

在這裡插入圖片描述
更新配置檔案
source /etc/profile
Java環境測試
java/javac

在這裡插入圖片描述
把Java上傳到slave1,slave2
scp -r jdk1.8.0_161/ slave1:/home/hadoop/apps
scp -r jdk1.8.0_161/ slave2:/home/hadoop/apps
在這裡插入圖片描述
把配置環境上傳到其他虛擬機器
scp -r /etc/profile slave1: /etc/
scp -r /etc/profile slave2: /etc/
在這裡插入圖片描述
在其他機器上做Java測試
在這裡插入圖片描述

hdfs安裝與配置

解壓hadoop
tar -xzvf hadoop-2.8.5.tar.gz -C /home/hadoop/apps
修改hadoop-env.sh
進入/home/hadoop/apps/hadoop-2.8.5/etc/hadoop
vi hadoop-env.sh
新增
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181
修改 core-site.xml
vi core-site.xml


fs.defaultFS
hdfs://master:9000


hadoop.tmp.dir
/home/hadoop/tmp


在這裡插入圖片描述
修改hdfs-site.xml

vi hdfs-site.xml

dfs.namenode.http-address master:50070 dfs.namenode.secondary.http-address master:50090 dfs.namenode.name.dir /home/hadoop/hdpdata/name/ dfs.datanode.data.dir /home/hadoop/hdpdata/data

在這裡插入圖片描述
修改slaves
sudo vi slaves
新增
slave1、slave2
(slaves檔案開啟後出現localhost的名稱這個預設是master節點的名稱,應該把它修改為master或者是你自己設定的主節點名稱,不然後續格式化,jps驗證時會出錯)

配置hadoop環境變數
sudo vi /etc/profile
新增

export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

上傳到slave1,slave2
sudo scp -r /etc/profile slave2:/etc/profile
sudo scp -r /etc/profile slave1:/etc/profile
在這裡插入圖片描述
更新配置檔案
source /etc/profile
將hadoop上傳到其他主機
scp -r hadoop-2.7.6/ slave1:/home/hadoopapps/(此命令需要在/home/Hadoop/apps路徑下執行)
scp -r hadoop-2.7.6/ slave2:/home/hadoopapps/
在這裡插入圖片描述
格式化後設資料目錄
hadoop namenode –format(master節點做,其他節點不做)
格式化完成後啟動hdfs
start-dfs.sh(所有節點都做)

在這裡插入圖片描述
啟動之後jps驗證(這是正確的,如果master節點jps這四項顯示錯誤證明格式化出錯,namenode和datanode未出現的解決方法,點選這裡檢視
在這裡插入圖片描述
在這裡插入圖片描述

下載安裝spark

解壓spark
tar xzvf spark-2.2.3-bin-hadoop2.7.tgz -C /home/hadoop/apps
spark叢集規劃
在這裡插入圖片描述
配置檔案修改
進入到解壓縮後的spark資料夾下的conf資料夾

在這裡插入圖片描述
複製模板檔案

在這裡插入圖片描述

配置環境變數
vi spark-env.sh (記得把路徑和地址改成自己的,腦子要時刻保持清醒!)

export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_161
export SPARK_MASTER_HOST=192.168.3.100
export SPARK_MASTER_PORT=7077
在這裡插入圖片描述
配置slaves
vi slaves

增加slave1,slave2
在這裡插入圖片描述
將master配置好的spark 拷貝到slave1,slave2(存放解壓縮檔案的路徑下做)
scp -r spark-2.2.3-bin-hadoop2.7/ slave1:/home/hadoop/apps
scp -r spark-2.2.3-bin-hadoop2.7/ slave2:/home/hadoop/apps

在這裡插入圖片描述
配置環境變數
sudo vi /etc/profile
增加

export SPARK_HOME=/home/hadoop/apps/spark-2.2.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

更新
source /etc/profile

把環境變數拷貝到其他主機
sudo scp –r /etc/profile slave1:/etc/profile
sudo scp –r /etc/profile slave2:/etc/profile

在這裡插入圖片描述
啟動與驗證
進入到spark資料夾下的conf資料夾

start-master.sh (啟動主節點)
在這裡插入圖片描述

start-slaves.sh (啟動從節點)
在這裡插入圖片描述
jps驗證
master
在這裡插入圖片描述
出現了master

slave1,slave2驗證

在這裡插入圖片描述
出現了woker
接下來網頁驗證
在網頁位址列輸入 master節點主機名:8080 進行檢視
在這裡插入圖片描述
如果無法檢視的話可以在主機的windows/system/divers/etc/hosts檔案下新增master主機的ip試試

相關文章