前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据之脚踏实地学08--搭建Hadoop集群【2】

大数据之脚踏实地学08--搭建Hadoop集群【2】

作者头像
1480
发布2019-07-15 14:43:27
4770
发布2019-07-15 14:43:27
举报
文章被收录于专栏:数据分析1480数据分析1480

前言

在《大数据之脚踏实地学07--搭建Hadoop集群【1】》中,讲解的是虚拟机的配置(包括网络设置、主机名修改和克隆等),文中我们在VMware中虚拟了3台计算机,1台用作主节点(master),2台用作从节点(slaves)。本文将继续分享有关Hadoop环境的安装和配置(包括HDFS系统、Map-Reduce计算框架已经Yarn调度器)。

安装Java(所有虚拟机)

由于Hadoop的开发和运行都是基于Java环境的,所以需要在四台虚拟机中安装Java。安装过程很简单,具体内容可以查看《大数据之脚踏实地学04--在Linux系统中安装Java》一文。如果你还没有安装,可以根据下面的流程进行安装:

解压Java的安装包

进入到Java软件的所在目录(我的目录是/opt/SoftWare),然后利用tar命令对压缩文件进行解压缩,命令如下:

tar -xzvf jdk-8u181-linux-x64.tar.gz

重命名安装目录

mv jdk1.8.0_181/ java

配置环境变量

vim /etc/profile

安装Hadoop(所有虚拟机)

安装好Java之后,便可以在所有的虚拟机安装Hadoop软件了,安装过程与安装Java类似,也是解压、重命名和配置环境变量。

解压

tar -zxf hadoop-2.9.1.tar.gz

重命名安装目录

mv hadoop-2.9.1 hadoop

配置环境变量

vim /etc/profile

刷新环境变量

source /etc/profile

配置Hadoop(所有虚拟机)

安装好Hadoop之后,是无法直接使用的,还需要对Hadoop的几个核心文件作配置,这些配置文件都在/opt/SoftWare/hadoop/etc/hadoop/目录内。

第一个需要配置的文件是hadoop-env.sh,它是用来指定Hadoop的运行环境(即Java的安装目录),通过vim hadoop-env.sh命令进行内容的修改,具体如下:

第二个需要配置的文件是core-site.xml,它是用来指定HDFS系统的BOSS是谁(即NameNode的所在的机器),通过vim core-site.xml命令进行内容的修改,具体如下:

在配置文件中添加了两项内容,一个是fs.defaultFS,它是指定HDFS的BOSS;另一个是hadoop.tmp.dir,用于指定Hadoop缓存数据的目录(当然该内容也可以不指定,缺点是重启Hadoop后原先的元数据就会被清除掉)。由于指定的缓存目录在Linux系统中并没有,故需要手工创建该目录:mkdir -p /opt/data/tmp

第三个需要配置的是hdfs-site.xml,用于指定数据块的副本数量,通过hdfs-site.xml命令进行内容的修改,具体如下:

由于之前架构的虚拟机只有两台用于从节点,故这里的dfs.replication需设置为2(默认该参数值为3)。

到目前为止,Hadoop的HDFS系统就搭建好了,另外还需要搭建Hadoop的Map-Reduce运算环境和Yarn调度器。搭建的过程,仍然是文件的配置过程,对于Map-Reduce的搭建,需要配置mapred-site.xml文件;Yarn的搭建,需要配置yarn-site.xml文件。同样,这样文件在所有节点都需要配置。

首先配置mapred-site.xml文件(默认mapred-site.xml文件是不存在的,读者可以将mapred-site.xml.template文件拷贝或重命名为mapred-site.xml文件),它用来指定Map-Reduce的运算过程中所需的调度器,即Yarn。

其次,还需要对Yarn进行配置,即yarn-site.xml文件。主要增加三项内容,其中yarn.resourcemanager.hostname指定Resourcemanager(资源管理器)运行在哪个节点上;yarn.nodemanager.aux-services则用来配置Yarn的默认混洗方式。

最后,master(主节点)与slaves(从节点)之间应该是互相协作关系,所以还需要配置slaves文件,目的是让主节点找到自己控制的从节点。配置如下:vim slaves

配置SSH免密登录(仅master虚拟机)

OK,Hadoop的重要配置项就结束了,接下来要做的就是测试Hadoop的配置是否成功。在测试之前必须做SSH免密登录,因为在主节点(master)启动从节点的DataNode时,是需要从节点的登录密码的。很显然,如果从节点有成千上万个,每一个节点都需要输入登录密码,那将是一件非常痛苦的事。所以,配置了SSH免密登录后,主节点在访问从节点时,就无需输入密码了。具体步骤如下:

  • 切换到root用户的家目录:cd ~
  • 进入到.ssh隐藏目录
  • 执行ssh-keygen -t rsa,一路Enter键,生成公钥和私钥
  • 分别将公钥复制给master slave1和slave2三台机器,代码如下: ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2

测试Hadoop集群

  • 格式化hdfs:hdfs namenode -format
  • 启动dfs系统:start-dfs.sh
  • 启动yarn:start-yarn.sh

如果你的电脑也出现上图的结果,即主节点(master机器)出现NameNode、SecondaryNameNode和ResourceManager;从节点(slave1机器和slave2机器)出现DataNode和NodeManager,则说明你也成功安装了Hadoop集群。

最后利用Hadoop自带的jar包,做一个词频统计,测试过程如下:

  • 新建test.txt文件,用作词频统计的对象:vim /root/test.txt
  • 将该文件上传至hdfs系统中:hadoop fs -put /root/test.txt /
  • 在Web页面查看数据状况:http://192.168.8.100:50070
  • 开始运算test.txt文件内的词频:

hadoop jar /opt/SoftWare/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar wordcount /test.txt /out

  • 查看Web的效果:http://192.168.8.100:8088
  • 检查输出结果:hadoop fs -cat /out/part-r-00000

结语

本期的内容就介绍到这里,如果你有任何问题,欢迎在公众号的留言区域表达你的疑问。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。

搭建Hadoop的文档及应用软件下载地址:

链接:https://pan.baidu.com/s/1ZbpaXsS-ge0y6HxIDx5U0w

提取码:ecwh

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据分析1480 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档