準備環境:
一臺虛擬機(centos7)
ip:192.168.8.124
hostname:hadoop124
一、前提環境準備
1.設置靜態ip
設置好後,需要重啓網絡
service network restart
2.設置主機名
臨時設置主機名
永久設置主機名
3.hosts文件配置
4.關閉防火牆
注意,centos6跟centos7命令不同
臨時關閉防火牆
systemctl stop firewalld
永久關閉防火牆
systemctl disable firewalld
5.ssh免密碼登錄
ssh-keygen -t rsa
#向本機複製公鑰
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
驗證
第一次需要輸入yes,後續就不用了
ssh hadoop124
6.jdk的安裝,略,我在虛擬機上安裝的是jdk1.8
二、正式安裝僞分佈集羣
上面的工作都是前提環境搭建。
官網下載hadoop3.2.1,我解壓到了/data/soft/目錄,需要配置一個環境變量
修改環境變量需要執行source /etc/profile讓環境變量生效
1.修改hadoop相關配置文件
[root@hadoop124 ~]# cd /data/soft/hadoop-3.2.1/etc/hadoop/
[root@hadoop124 hadoop]# vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop124:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop_repo</value>
</property>
</configuration>
[root@hadoop124 hadoop]# vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
[root@hadoop124 hadoop]# vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
[root@hadoop124 hadoop]# vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CL ASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
修改hadoop-env.sh文件,增加環境變量
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
2.格式化namenode
[root@hadoop124 hadoop-3.2.1]# pwd
/data/soft/hadoop-3.2.1
[root@hadoop124 hadoop-3.2.1]# bin/hdfs namenode -format
有如下信息,說明格式化成功
3.啓動hadoop集羣
[root@hadoop124 hadoop-3.2.1]# sbin/start-all.sh
報五個變量沒有定義,解決方法爲
修改start-dfs.sh,stop-dfs.sh這兩個腳本,在文件前面增加如下內容:(兩個都要加)
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
修改start-yarn.sh,stop-yarn.sh這兩個腳本,在文件前面增加如下內容:(兩個都要加)
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
再次執行成功了,可以看到有五個進程。
除了通過jps命令驗證,也可以通過webui界面來驗證集羣服務是否啓動成功。
HDFS 的web管理界面: http://192.168.8.124:9870
YARN 的web管理界面: http://192.168.8.124:8088
停止集羣