一、hadoop2.x版本下载简装

官网版本 http://archive.apache.org/dist/

CDH版本(Cloudera公司)【版本稳定,各个框架版本之间做了集成】http://archive.cloudera.com/cdh5/

二、hadoop2.x分布式集群配置

Hadoop官方文档 http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html

HDFS分布式部署

1、hadoop-env.sh / yarn-env.sh 配置JAVA环境变量

2、core-site.xml(Hadoop公共文件)

  • 配置fs.default.name(这个是配置NameNode是哪个的命令)

3、hdfs-site.xml

  • 配置dfs.replication(这个是配置副本数,三台机器两个或三个副本数都可以)

  • slaves
    配置三台机器的主机名配置进去

三、分发到其他各个机器节点

四、HDFS启动集群运行测试

1、NameNode节点

  • 格式化hdfs

  • 启动NameNode节点

  • 启动DataNode节点

这个时候可以从Web页面进行查看
需要注意的是一定要关闭防火墙

输入URL:http://192.168.68.31:50070

我们可以看到这里只有一个DataNode节点,接下来我们开启其余两个DataNode节点

2、DataNode节点

  • 开启两个节点上的DataNode节点上的Datanode服务

可以看到Web界面可以看到三个DataNode服务开启了

  • 在HDFS系统中创建文件夹

  • 上传文件到已创建的文件夹中

五、YARN集群运行MapReduce程序测试

1、配置一台ResourceManager,两台 NodeManager

2、配置yarn-env.sh(配置Java环境,前面提到过)

3、配置mapred-site.xml(需要先把mapred-site.xml.template复制一份成mapred-site.xml)

  • 这个配置的作用是需要说明mapreduce运行在什么配置上,这里我们运行在yarn上

  • 配置日志显示的主机名和端口号

4、配置yarn-site.xml

  • 这个配置是mapreduce运行yarn上

  • 配置RM的hostname

  • 配置日志聚集功能(开启)

  • 配置日志存放周期(秒)

  • 配置完成后使用SCP命令,把01上配置好的传给02和03

  • 开启ResourceManager和nodeManager
    需要注意的是一台开RsourceManager和nodeManager,另外两个开nodeManager

  • 开启Yarn监控页面
    输入URL http://192.168.68.31:8088/cluster


  • 开启jobhistory(本来的hadoop文件在/opt/modules/hadoop-2.6.0/logs中,开启后可以在Web端查看)

六、另起炉灶:

上面的配置让我们很好地通过可视化对Hadoop集群有了充分的认识,但是接下来还需要配置几个配置

1、配置core-site.xml

  • 配置hadoop.http.staticuser.user

  • 配置hadoop.tmp.dir(需要先创建相关的目录,这里创建了data/tmp目录)【DataNode目录地址】

2、配置hdfs-site.xml

  • 配置dfs.permissions.enabled(查看tmp目录不需要权限)

3、上面这些配置好了之后,我们需要使用SCP把01上的hadoop分发给02和03

4、因为重新配置了tmp.dir,需要关闭每台服务器开启的服务并格式化hdfs

5、重新启动NameNode和DataNode节点

然后我们发现HDFS中已经没有东西了

6、重新在HDFS中创建文件夹

7、重新启动各服务器ResourceManager和NodeManager服务

8、重新启动historyserver

10、Yarn和MapReduce测试

  • 上传数据

  • 创建输出目录

  • 运行MapReduce程序

从JobHistory可以看到我刚才跑了两个MapReduce

  • 查看WordCount结果
    • 生成的文件在目录下名为part-r-00000

    • 对应目录 /usr/kfk/data/output/1/part-r-00000

    • 查看结果bin/hdfs dfs -cat /usr/kfk/data/output/1/part-r-00000

七、配置中主节点到各个机器的SSH无密钥登录

  • 在Master节点上生成ssh密钥

这个时候生成了id_rsa和id_rsa.pub两个文件

  • 将公钥复制到远程机器中

  • 测试登录pro02机器,直接密码登录