
1、hadoop安装包,hadoop-2.7.3.tar
提码:1111
2、三台安装好jdk的虚拟机,jdk安装教程
3、所有主机都配置好主机名映射关系
vi /etc/hosts
输入自己三台虚拟机的ip 主机名():
192.168.174.140 ethan001 192.168.174.141 ethan003 192.168.174.142 ethan002
4、三台主机之间配置好免密登录
5、保证每台机器的时间是一样的
如果不一样的话,我们在执行MapReduce程序的时候可能会存在问题.。 解决方案:
#hadoop export HADOOP_HOME=/opt/module/hadoop-2.7.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
集群部署规划
规划集群
(1) 修改haoop-env.sh 添加JAVA_HOME
命令:
vi /opt/module/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
添加如下信息:
export JAVA_HOME=/opt/module/jdk1.8.0_171
(2) 核心配置文件
配置core-site.xml
vi core-site.xml
在文件中添加如下配置信息:
fs.defaultFS hdfs://ethan001:9000 hadoop.tmp.dir /opt/module/hadoop-2.7.3/data/tmp
(3)配置hdfs-site.xml文件
vi hdfs-site.xml
添加如下配置信息:
dfs.replication 3 dfs.namenode.secondary.http-address ethan003:50090
(4) 配置yarn-site.xml文件
vi yarn-site.xml
添加如下配置信息:
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname ethan002 yarn.log-aggregation-enable true yarn.log-aggregation.retain-seconds 604800 yarn.log.server.url http://ethan002:19888/jobhistory/logs yarn.nodemanager.pmem-check-enabled false yarn.nodemanager.vmem-check-enabled false
(5)配置mapred-site.xml文件
vi mapred-site.xml
添加如下配置信息:
mapreduce.framework.name yarn mapreduce.jobhistory.address ethan001:10020 mapreduce.jobhistory.webapp.address ethan001:19888 yarn.log.server.url http://ethan001:19888/jobhistory/logs
(6)配置slaves文件
vi /opt/module/hadoop-2.7.3/etc/hadoop/slaves
添加如下信息(添加的是hadoop集群的DataNode节点的主机名):
ethan002 ethan003
(7) 将hadoop分发到其他节点
scp -r hadoop-2.7.3 root@ethan001:/opt/module/ scp -r hadoop-2.7.3 root@ethan003:/opt/module/
查看分发情况:
cat /opt/module/hadoop-2.7.3/etc/hadoop/core-site.xml
(8)格式化NameNode
hdfs namenode -format
输出的日志中有如下信息则成功
Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.
在ethan002上启动hadoop,因为yarn是配置在ethan002上的,只有在ethan002上启动集群时ResourceManager和nodeManager进程才会启动。
启动命令:
start-all.sh
查看进程
jps
浏览网页
hdfs:
http://ethan001:50070
yarn:
http://ethan002:8080
至此,hadoop集群的安装完成,主要的就是一定要先安装jdk