hadoop偽分散式叢集的安裝(不是單機版)

gudeman發表於2023-04-14

準備工作

三臺虛擬機器,關閉防火牆,關閉selinux

檢視防火狀態 systemctl status firewalld

暫時關閉防火牆 systemctl stop firewalld

永久關閉防火牆 systemctl disable firewalld

檢視 selinux狀態 getenforce

暫時關閉 selinux setenforce 0

永久關閉 selinux 在/etc/selinux/config檔案中將SELINUX改為disabled

 

修改主機名稱

三臺主機

hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2

使用bash命令重新整理生效

在/etc/hosts檔案中新增ip對映

IP+主機名稱

根據自己需求修改,這裡給出模板

 

 

 

配置ssh免密登入

 

ssh-keygten -t rsa   #生成金鑰

ssh-copy-id master  #分發給其他節點,分發給自己主要是為了之後群集叢集不需要輸入密碼
ssh-copy-id slave1
ssh-copy-id slave2

安裝JAVA和HADOOP

解壓JAVA

 

 解壓HADOOP

 

 修改名稱為jdk與hadoop

 

 配置環境變數

 

 

 重新整理環境變數,使生效

source /etc/profile

使用javac  與hadoop verison驗證是否安裝成功

配置hadoop檔案

core-site.xml檔案


<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>


<!-- 指定Hadoop執行時產生檔案的儲存目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-2.7.2/data/tmp</value>
</property>

 

hdfs-site.xml


<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.6.0/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.6.0/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

 

yarn.site.xml


<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

 

mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

在hadoop-env.sh yarn-env.sh  mapred-env.sh中配置java環境

 

 這裡給出hadoop-env.sh 其他相同

配置slave

寫入三臺主機的主機名

 

 將配置好的hadoop分發給其他主機

[root@master ~]# scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/

[root@master ~]# scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/

格式化namenode

hdfs namenode -format

啟動dfs

start-dfs.sh

啟動yarn

start-yarn.sh

使用jps檢視

master節點:ResourceManager,DataNode,SecondaryNameNode,NameNode,NodeManager

slave1節點與slave2節點:NodeManager,DataNode

叢集全部啟動則為啟動成功

進入web頁面驗證

namenode  web頁面 = IP+50070

yarn  web頁面 =IP 8088

 

相關文章