centos7安裝Hadoop

(這篇部落格是本人csdn原創)

虛擬機的創建(可以自行百度)

虛擬機靜態網路的設置

1:首先更改虛擬機的名字

hostnamectl  set-hostname hadoop2

2:進入network配置文件夾中,配置你的虛擬網卡

cd /etc/sysconfig/network-scripts/

vim ifcfg-ens33

在這裡插入圖片描述

3:在系統原來的配置上,改
BOOTPROTO=static

ONBOOT=yes

4:添加配置(記得和你的相應配置相對應)
IPADDR=192.168.72.100
NETMASK=255.255.255.0
GATEWAY=192.168.72.2
DNS1=8.8.4.4

5:下面就有一些長得比較帥的小同學問了,上面這些東西我從哪裡來呢?,別著急,這就一步一步告訴你
首先,打開vmware,點擊編輯,
在這裡插入圖片描述
點擊虛擬網路編輯器
在這裡插入圖片描述

點擊vMent8,再點擊net設置即可

在這裡插入圖片描述

IPADDR 代表你的新的ip
NETMASK 代表子網掩碼
GATEWAY 你的網關
DNS1 你的 DNS(默認填寫8.8.8.8)

在這裡插入圖片描述
配置好網路之後,記得重啟網路服務

service network restart

在這裡插入圖片描述
嘗試ping百度

ping www.baidu.com

在這裡插入圖片描述

最後使用yum源安裝你的vim,讓你的字體擁有顏色

yum -y install vim

xshell連接你的虛擬機,xftp傳入hadoop和java的安裝包

**xshell連接虛擬機不再過多介紹,
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

開始解壓java和hadoop的安裝包

cd ~

在這裡插入圖片描述

在虛擬機opt目錄下soft文件夾再在soft文件夾下創建java和hadoop文件夾
在這裡插入圖片描述

cd ~

解壓javaJDK到opt目錄的java目錄

tar -zxvf jdk-8u261-linux-x64.tar.gz -C /opt/soft/java/

在這裡插入圖片描述
解壓hadoop到opt下的hadoop目錄下

tar -zxvf hadoop-2.7.7.tar.gz -C /opt/soft/hadoop/

在這裡插入圖片描述
查看是否解壓成功

將Hadoop添加到環境變數

獲取 Hadoop 安裝路徑
在這裡插入圖片描述

打開/etc/profile 文件

在這裡插入圖片描述

在 profile 文件末尾添加 JDK 路徑:(shitf+g)

##HADOOP_HOME
export HADOOP_HOME=/opt/soft/hadoop/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

將Java添加到環境變數

獲取java安裝環境
在這裡插入圖片描述

打開/etc/profile 文件

在這裡插入圖片描述
在 profile 文件末尾添加 JDK 路徑

#JAVA_HOME
export JAVA_HOME=/opt/soft/jdk/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin

退出保存後讓配置生效

 source /etc/profile

在這裡插入圖片描述

測試Java環境和Hadoop環境

Java測試
在這裡插入圖片描述
hadoop測試

hadoop version

在這裡插入圖片描述

開始hadoop完全分散式的搭建

集群規劃部署
在這裡插入圖片描述
配置集群
首先進入hadoop的相關目錄(千萬別進錯目錄了 (0-0))

在這裡插入圖片描述
配置 core-site.xml


vim core-site.xml 
在該文件中編寫如下配置

<!-- 指定 HDFS 中 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
 <value>hdfs://hadoop102:9000</value>
</property>
<!-- 指定 Hadoop 運行時產生文件的存儲目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoop-2.7.7/data/tmp</value>
</property>

在這裡插入圖片描述

配置HDFS 配置文件

配置 hadoop-env.sh
vim hadoop-env.sh

export JAVA_HOME=/opt/java/jdk1.8.0_261
在這裡插入圖片描述

配置 hdfs-site.xml

vi hdfs-site.xml

<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定 Hadoop 輔助名稱節點主機配置 -->
<property>
 <name>dfs.namenode.secondary.http-address</name>
 <value>hadoop4:50090</value>
</property>

在這裡插入圖片描述

**配置 yarn-env.sh

 vim yarn-env.sh**
 
export JAVA_HOME=/opt/java/jdk1.8.0_261

在這裡插入圖片描述

**配置 yarn-site.xml
vi yarn-site.xml**

在該文件中增加如下配置


<!-- Reducer 獲取數據的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop3</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日誌保留時間設置 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

在這裡插入圖片描述

**MapReduce 配置文件
配置 mapred-env.sh**

 vim mapred-env.sh
 
export JAVA_HOME=/opt/java/jdk1.8.0_261

在這裡插入圖片描述

**配置 mapred-site.xml**

從模板複製一份並改名為 mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

編輯 mapred-site.xml

vi mapred-site.xml
 
在該文件中增加如下配置


<!-- 指定 MR 運行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property><!-- 歷史伺服器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop2:10020</value>
</property>
<!-- 歷史伺服器 web 端地址 -->
<property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>hadoop2:19888</value>
</property>

在這裡插入圖片描述

將配置好的虛擬機克隆為三台(如何克隆?不會?別慌!這就來教你)

1:首先,關閉你創建好的虛擬機

shutdown -h now

在這裡插入圖片描述

2 點擊下一步
在這裡插入圖片描述
3 點擊下一步
在這裡插入圖片描述

4:選擇完整克隆
在這裡插入圖片描述

配置另外兩台虛擬機的ip和主機名

把已經克隆的兩台機子的主機名和ip添加在etc下面的hosts

vim /etc/hosts

添加另外兩台的主機名和ip

最後三台虛擬機的hosts內容應當一致

在這裡插入圖片描述

配置相關的ssh免密鑰登錄(為什麼要配置ssh免密鑰登錄)

單節點啟動太麻煩!!!

生成公鑰和私鑰:

 ssh-keygen -t rsa

然後敲(三個回車),就會生成兩個文件 id_rsa(私鑰)、id_rsa.pub(公鑰)
將公鑰拷貝到要免密登錄的目標機器上

 ssh-copy-id hadoop2
 ssh-copy-id hadoop3
 ssh-copy-id hadoop4

群起節點最後的準備

配置 slaves

cd /opt/soft/hadoop-2.7.t/etc/hadoop/slaves

編輯salves

 vim  slaves

在該文件中增加如下內容:(創建的三台虛擬機都要添加)

hadoop2
hadoop3
hadoop4

在這裡插入圖片描述

啟動集群

如果集群是第一次啟動,需要格式化 NameNode(注意格式化之前,一定要先停
止上次啟動的所有 namenode 和 datanode 進程,然後再刪除 data 和 log 數據

 bin/hdfs namenode -format

在這裡插入圖片描述

在你的主節點上啟動dfs上面的查看進程沒有啟動yarn

start-dfs.sh

在這裡插入圖片描述

在你配置yarn的機子上啟動yarn

start-yarn.sh

在這裡插入圖片描述

打開你的瀏覽器輸入ip+埠(埠是50070)可以看到hadoop對應的介面

在這裡插入圖片描述