本案例软件包:链接:https://pan.baidu.com/s/1zABhjj2umontXe2CYBW_DQ
提取码:1123(若链接失效在下面评论,我会及时更新)
(1)配置Hadoop集群主节点master
1.进入配置文件:
cd /usr/local/hadoop/etc/hadoop
2.修改hadoop-env.sh文件
找到其中JAVA_HOME参数位置添加JDK路径。
sudo vi hadoop-env.sh
3.配置core-site.xml文件
sudo vi core-site.sml
编辑 core-site.xml文件内容
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
配置了HDFS的主进程NameNode运行主机(Hadoop集群主节点),还有Hadoop集群运行时生成数据的临时目录。
4.配置hdfs-site.xml文件
这个文件用于设置HDFS的NameNode和DataNode两大进程
打开 hdfs-site.xml文件
sudo vi hdfs-site.xml
编辑 hdfs-site.xml文件内容
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave01:50090</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name> dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
在配置上述文件中,HDFS数据块的副本数量(默认值为3)其中配置了Secondarynamenode,namenode所在的主机IP和端口,HDFS块的副本数和临时文件存放的目录。
5.配置 mapred-site.xml文件
此文件用于指定 MapReduce运行框架,是 MapReduce的核心配置文件。
打开 mapred-site.xml文件。命令如下。
sudo vi mapred-site.xml
编辑 mapred-site.xml文件内容
<configuration>
<property>
<name> mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name> yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
</property>
</configuration>
6.配置yarn-site.xml文件
该文件用于指定YARN集群的管理者
打开yarn-site.xml文件夹
sudo vi yarn-site.xml
编辑yarn-site.xml文件内容
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
其中指定了ResourceManager运行主机为master,将NodeManager运行时的附属服务配置为mapreduce_shuffle才能正常运行MapReduce默认程序。
7.设置从节点,即修改workers文件
该文件记录Hadoop集群的所有从节点,以配合脚本一键启动从节点
打开workers文件
sudo vi workers
删除文件里内容,添加新内容,每个主机名各占一行
master
slave01
slave02
(2) 将集群主节点的配置文件分发到其他节点
master执行以下命令:
sudo scp /etc/profile slave01:/etc/profile
sudo scp /etc/profile slave02:/etc/profile
sudo scp -r /usr/local/hadoop slave01:/usr/local
sudo scp -r /usr/local/hadoop slave02:/usr/local
sudo scp -r /usr/local/jdk slave01:/usr/local
sudo scp -r /usr/local/jdk slave02:/usr/local
scp ~/.bashrc slave01:~/
scp ~/.bashrc slave02:~/
上述命令执行完成后还需要在slave01和slave02上分别执行
source /etc/profile
source ~/.bashrc
在slave01和slave02分别执行以下命令修改文件夹权限
cd /usr/local
sudo chown -R hadoop ./hadoop
(3)格式化文件系统
master主节点执行下面命令:
hdfs namenode -format
出现下图表示格式化成功:
执行格式化指令之后出现 has beensuccessfully formatted信息,表明HDFS文件系统成功格式化,即可正式启动集群;否则,需要查看命令是否正确,或此前Hadoop 集群的安装和配置是否正确。此外需要注意的是,上述格式化命令只需要在Hadoop集群初次启动前执行一次即可,后续重复启动时不需要执行格式化。
(4)启动Hadoop集群
start-dfs.sh
start-yarn.sh
如上图所示Hadoop集群已经全部打开了
(5)查看Web界面
1.在三台虚拟机分别执行以下命令关闭防火墙和防火墙自启动
sudo service iptables stop
sudo chkconfig iptables off
2.在Windows主机添加集群服务的IP映射
Windows10和Windows7操作系统的路径为C:\Windows\System32\drivers\etc\hosts
添加内容如下:
执行完上述操作后,可通过宿主机或者三台虚拟机的浏览器分别访问http://master:50070和http://master:8088查看HDFS集群和YARN集群状态,效果如下图:
对大数据感兴趣的朋友可以+企鹅群一起探讨问题:249300637
版权归原作者 查布嘎ghw 所有, 如有侵权,请联系我们删除。