hadoop中的多线程 hadoop多节点配置_hadoop中的多线程


hadoop多节点集群安装配置

为了后续Hadoop实验的进行,我们需要安装多节点的Hadoop集群(实现真正意义上的分布式存储)

本文将用4个节点组织,1个主节点和3个从节点。节点使用VMworkstiaon生成虚拟机来实现。

前排提示

建议在克隆生成节点时使用全部相同的用户名,在后续ssh连接的时候会带来很多方便。而且推荐使用不同的主机名。这也是后续如果出现各个节点进程都能启动但是web端无法显示的问题所在

JDK的安装

和上篇文章相同


sudo


然后查看java的版本来验证是否安装成功


java


将版本切换至最新


update


Hadoop的解压安装

由于这次我们需要安装多节点集群,所以需要从主节点克隆出几台虚拟机,所以先进行hadoop的解压安装,减少后续工作量 。

在Ubuntu中下载Hadoop的安装包(我的ubuntu中预装了浏览器,所以之间通过搜索引擎下载的)

之后将其解压


sudo


要注意在解压前,要通过cd 命令进入下载文件所在的目录

然后移动到 /usr/local/hadoop


sudo


配置文件及其解释

配置环境

1设置Hadoop

提一嘴Linux的文本编辑命令gedit 个人认为比vi好用很多,但是我在使用中经常被神秘力量报错,每次都依靠重启大法续命,这里如果有懂的好哥哥,建议教教弟弟。


sudo


打开bashrc这个文件后添加路径,输入下面内容(本节的大多数操作都是打开文件添加或修改,使用sudo命令可以直接在文本编辑器里保存)。


export


然后再使用source命令试环境变量立刻生效,而不必重启


source


2.编辑Hadoop-env.sh


sudo


下面也是和上一节一样修改一下几个配置文件(配置信息源自网络),这里尝试对配置信息进行解释。(如果有不对的地方也希望大家指出)

1.core-site.xml

Hadoop Core的配置项,全局上配置。

这里只配置了临时文件目录,和端口


<


该文件可以选用的配置信息可以见官方文档。


https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/core-default.xmlhadoop.apache.org

2.hdfs-site.xml

对hdfs的局部配置


<


具体配置信息


https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xmlhadoop.apache.org

3.mapred-site.xml


<


https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xmlhadoop.apache.org

4.yarn-site.xml


<


https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xmlhadoop.apache.org

创建目录和修改用户权限

这里也和上一篇文章相同,这里用户名为hadoop,详细解释可以看上篇文章

创建NameNode数据存储目录


sudo


创建DataNode数据存储


sudo


更改Hadoop目录的所有者

1、新建用户组


sudo


2、添加用户xx 到hadoop组


sudo


3、新用户修改登录密码,输入2遍确认


sudo


4、赋予hduser用户admin权限


sudo


5.更改Hadoop目录的所有者


sudo


在完成这一步后就可以从主节点克隆出3个从节点了。

ssh免密连接

首先先查看各个节点的ip地址,记录下来

我这里使用的是Ubuntu的操作系统,可以通过图形界面配置,setting→network→wired


hadoop中的多线程 hadoop多节点配置_hadoop配置_02


然后固定ip地址(因为DHCP服务器给每个虚拟机分配的IP地址有一段生命期,ip地址的变化,会让我们在后续的使用时需要重新配置文件)


hadoop中的多线程 hadoop多节点配置_hadoop官方文档_03


修改时,尽量不要选择太小的ip地址,防止被占用。

(ps之前在我的虚拟机上出现过network菜单没有wired选项的情况在尝试了一篇博客后解决了这个问题。)


sudo


之后再主节点上


su


实际上这个host的修改也可以通过手动打开host文件将节点名和对应ip地址输入。


#


在从节点上也创建密钥


su


将从节点写入workers(同样也可以手动打开修改)


echo


启动和测试

在主节点上输入


start


测试各个节点的启动情况(使用jps命令)

主节点


hadoop中的多线程 hadoop多节点配置_hadoop中的多线程_04


从节点


hadoop中的多线程 hadoop多节点配置_hadoop官方文档_05


访问localhost:50070(hadoop 2.xx以后版本的管理界面)


hadoop中的多线程 hadoop多节点配置_hadoop安装_06


这个我们的集群就配置好了

(ps如果出现各个节点进程都可以正常启动,但是只显示一个节点,这里提供一个解决方案。可能是由于子节点克隆生成version相同,可以通过在各个节点上删除缓存,重新格式化来解决)