三臺虛擬機器,關閉防火牆,關閉selinux
檢視防火狀態 systemctl status firewalld
暫時關閉防火牆 systemctl stop firewalld
永久關閉防火牆 systemctl disable firewalld
檢視 selinux狀態 getenforce
暫時關閉 selinux setenforce 0
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