简介: Hadoop 是一个适合大数据的分布式存储和计算平台。 如前所述,狭义上说Hadoop就是一个框架平台,广义上讲Hadoop代表大数据的一个技术生态 圈,包括很多其他软件框架 (hdfs、mapreduce、yarn、kafak等)
1. 虚拟机环境准备
1.1 三台虚拟机(静态IP,关闭防火墙,修改主机名,配置免密登录,集群时间同步)
1.2 在/opt目录下创建文件夹
mkdir -p /opt/BigData/software --软件安装包存放目录mkdir -p /opt/BigData/servers --软件安装目录
1.3.Hadoop下载地址:
https://archive.apache.org/dist/hadoop/common/hadoop-2.9.2/
http://hadoop.apache.org/
1.4上传hadoop安装文件到/opt/lagou/software
2.集群规划
| 框架 | node-1 | node-2 | node-3 |
|---|---|---|---|
| HDFS | NameNode、DataNode | DataNode | SecondaryNameNode、DataNode |
| YARN | NodeManager | NodeManager | NodeManager、ResourceManager |
3.安装Hadoop
3.1 集群配置
Hadoop集群配置 = HDFS集群配置 + MapReduce集群配置 + Yarn集群配置 HDFS集群配置
- 将JDK路径明确配置给HDFS(修改hadoop-env.sh)
- 指定NameNode节点以及数据存储目录(修改core-site.xml)
- 指定SecondaryNameNode节点(修改hdfs-site.xml)
- 指定DataNode从节点(修改etc/hadoop/slaves文件,每个节点配置信息占一行)
MapReduce集群配置
- 将JDK路径明确配置给MapReduce(修改mapred-env.sh)
- 指定MapReduce计算框架运行Yarn资源调度框架(修改mapred-site.xml)
Yarn集群配置
- 将JDK路径明确配置给Yarn(修改yarn-env.sh)
- 指定ResourceManager老大节点所在计算机节点(修改yarn-site.xml)
- 指定NodeManager节点(会通过slaves文件内容确定)
注意: Hadoop安装目录所属用户和所属用户组信息,默认是501 dialout,而我们操作Hadoop集群的用户使 用的是虚拟机的root用户, 所以为了避免出现信息混乱,修改Hadoop安装目录所属用户和用户组!!
chown -R root:root /opt/BigData/servers/hadoop-2.9.2
3.2 分发配置
编写集群分发脚本rsync-script
#!/bin/bash#1 获取命令输入参数的个数,如果个数为0,直接退出命令paramnum=$#if((paramnum==0)); thenecho no params;exit;fi#2 根据传入参数获取文件名称p1=$1file_name=`basename $p1`echo fname=$file_name#3 获取输入参数的绝对路径pdir=`cd -P $(dirname $p1); pwd`echo pdir=$pdir#4 获取用户名称user=`whoami`#5 循环执行rsyncfor((host=1; host<4; host++)); doecho ------------------- node-$host --------------rsync -rvl $pdir/$file_name $user@node-$host:$pdirdone
调用脚本分发Hadoop安装目录到其它节点
[root@node-1 bin]# rsync-script /opt/BigData/servers/hadoop-2.9.2
4.启动集群
注意:如果集群是第一次启动,需要在Namenode所在节点格式化NameNode,非第一次不用执行格 式化Namenode操作!!
4.1 格式化namenode
[root@node-1 bin]# hadoop namenode -format
4.2 集群群起
# 启动hdfs[root@node-1 hadoop]# start-dfs.sh# 在ResourceManager所在节点启动yarn[root@node-3 ~]# start-yarn.sh[root@node-1 hadoop]# jps2099 NameNode2772 NodeManager2229 DataNode2890 Jps[root@node-2 ~]# jps2146 Jps1912 DataNode2040 NodeManager[root@node-3 ~]# jps1845 DataNode2346 ResourceManager2970 NodeManager3086 Jps
4.3. web端查看Hdfs界面
关闭防火墙:systemctl stop firewalld.service
http://node-1:50070/dfshealth.html
5. 配置历史服务器
vi mapred-site.xml<property><name>mapreduce.jobhistory.address</name><value>node-1:10020</value></property><!-- 历史服务器web端地址 --><property><name>mapreduce.jobhistory.webapp.address</name><value>ndoe-1:19888</value></property>
6. 配置日志的聚集
vi yarn-site.xml<property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 日志保留时间设置7天 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property><property><name>yarn.log.server.url</name><value>http://ndoe-1:19888/jobhistory/logs</value></property>

