购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 Hadoop环境搭建

Hadoop架构有很多的组件,在2.6节中会有介绍,本节主要针对Hadoop的搭建进行简单描述,主要使用Linux命令进行搭建。

以下打开文件用的Linux命令是gedit,如果出现打开文件是只读、无法修改的情况,请将gedit命令改为vim命令即可。vim编辑器的使用方法和一般的编辑器方法不同,在这里不做过多介绍。如果不想使用vim,可以在代码前加sudo。

2.5.1 JDK安装和测试

1)检查是否安装JDK。切换为root用户,使用命令“java-version”查看是否已经安装了java JDK。若存在其他JDK,先进行卸载。可以通过在命令终端执行命令java-version进行检测。如果发现有存在版本,则需要执行命令rpm-qa/grepjdk和rpm-qa/grep gcj。然后根据查找到的软件,通过执行yum-y remove进行卸载。结果如图2-35所示。

图2-35 查看是否安装JDK

2)在Home下创建文件夹resourses,结果如图2-36所示。

3)将JDK的资源复制到resourses中,如图2-37所示。

图2-36 创建文件夹

图2-37 将JDK的资源复制到resourses中

4)复制文件到/usr/java下。

5)解压。

①使用Linux命令解压,输入命令:

结果如图2-38所示。

图2-38 字符界面解压

②如果是图形界面的话,选择提取即可,如图2-39所示。

图2-39 图形界面解压

6)配置环境变量。输入代码:

在文件尾部添加代码:

/usr/java/jdk1.7.0_67是解压缩之后自动创建的文件夹,可根据实际安装位置进行更改。

输入以下代码,使修改生效:

该过程不会返回任何信息。

再次执行“java-version”测试,结果如图2-40所示。

图2-40 “java-version”测试

2.5.2 Hadoop安装和配置

在开始安装之前,先设置主机名,切换用户root,如图2-41所示。

图2-41 切换用户root

打开文件。

输入以下代码,其中master是主机名。

使文件生效。

关闭终端,重新打开终端,结果如图2-42所示。

图2-42 重新打开终端后结果

重启虚拟机后,名字没有变成master,所以还要在hostname文件中修改,将内容改为master,即主机名。

其他虚拟机的主机名也从默认的localhost更改为对应的slave0和slave1。现在开始进行Hadoop安装和配置。

(1)解压hadoop压缩包

将Hadoop的安装包放到Home下的resources中,如图2-43所示。

图2-43 将Hadoop的安装包放到Home下的resources中

进入resources,解压安装包,结果如图2-44所示。

图2-44 解压安装包

解压之后会在用户目录下自动创建文件夹,如图2-45所示,作为Hadoop的安装目录。

但如果想要使用Hadoop,还需要完成一系列的配置。

(2)配置Hadoop环境变量

hadoop-env.sh是Hadoop的环境变量文件,位于hadoop-2.6.0/etc/hadoop子目录下。我们只需配置该文件的JDK路径即可。

将文件前面的“export JAVA_HOME=${JAVA_HOME}”改成实际的JDK安装路径。

如图2-46所示,编辑完成后保存退出。

图2-45 自动创建文件夹

图2-46 修改JDK路径

(3)配置Yarn环境变量

需要更改的环境变量为yarn-env.sh,其余的与Hadoop环境变量配置方法一致。

(4)配置核心组件文件

core-site.xml是Hadoop的核心组件文件,位于hadoop-2.6.0/etc/hadoop子目录下,打开该文件。

将以下配置代码放在文件的<configuration></configuration >之间,结果如图2-47所示,编辑后保存退出。

(5)配置文件系统

hdfs-site.xml是Hadoop的文件系统配置文件,位于hadoop-2.6.0/etc/hadoop子目录下,打开该文件。

将以下配置代码放在文件的<configuration></configuration >之间,如图2-48所示,编辑后保存退出。

图2-47 配置核心组件文件结果

图2-48 配置文件系统结果

这里的1指的是HDFS数据块的副本数,因为HDFS最大副本数是3,所以超过3没有任何意义。

(6)配置yarn-site.xml

yarn-site.xml是Hadoop的站点配置文件,位于hadoop-2.6.0/etc/hadoop子目录下,打开该文件。

将以下配置代码放在文件的<configuration></configuration >之间,结果如图2-49所示,编辑后保存退出。

(7)配置MapReduce计算框架文件

在hadoop-2.6.0/etc/hadoop子目录下找到mapred-site.xml.template文件,在当前目录下复制改名并打开文件。

图2-49 配置yarn-site.xml后结果

在文件下方添加下列代码,结果如2-50所示。

图2-50 配置MapReduce计算框架文件结果

(8)配置Master的slaves文件

slaves文件给出Hadoop集群的Slave节点列表,因此十分重要。在启动Hadoop时,系统根据该文件中的节点名称列表启动集群,不在表中的节点不会被视为计算节点。

编辑slaves文件。

用户根据自己搭建的集群情况进行编辑。

复制Master上的Hadoop到Slave节点,如要提高系统部署效率,复制Master上的Hadoop到Slave节点是一个更好的选择。每个节点复制一次,以slave0为例,命令如下:

在这一步当中需要进行密码验证,下一节将会对如何免密登录进行讲解。

2.5.3 SSH免密码配置

SSH是Secure Shell的缩写,由IETF的网络工作小组制定,SSH是建立在应用层和传输层上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议。目前SSH相对比较可靠。在大数据集群中的Linux计算机之间要频繁地通信,而Linux的通信需要进行用户的身份验证,即输入登录密码。小规模通信的耽误时间可以忽略,如果是大规模的通信,工作效率会因为输入密码而降低,如果能够免密登录,就会大大提高效率。

免密登录是指两台Linux机器自检使用SSH连接时不需要用户名和密码。下面的配置分为在Master节点和所有Slave节点的操作。

本章使用的是普通用户iTheds。

(1)Master节点配置

首先,在终端生成密钥:

输入该命令后会有一系列的提示,默认直接按〈Enter〉键4次即可,执行完上面的命令后会生成id_rsa(私钥)和id_rsa.pud(公钥)文件,结果如图2-51所示。

图2-51 生成密钥

ssh-keygen是用来生成private和public密钥对的命令,将public密钥复制到远程集群后,使用SSH到另一台机器就不用密码了。-t是指定加密算法的参数,这里使用的加密算法是基于大数因式分解的rsa算法,也是应用最广泛的非对称加密算法。

生成的密钥在.ssh目录下,切换到该目录,查看文件详细信息,结果如图2-52所示。

图2-52 文件的详细信息

将公钥文件复制到.ssh下。

修改authorized_keys文件的权限为600。

此时各文件的详细信息如图2-53所示。

图2-53 各文件的详细信息

将authorized_keys文件复制到所有的Slave节点。以复制到Slave0节点上为例,使用如下命令,结果如图2-54所示。

图2-54 将authorized_keys文件复制到所有的Slave节点

(2)Slave节点配置

在slave0和slave1上搭建Slave节点环境,其配置步骤与Master的配置步骤相同,该过程中使用的authorized_keys文件是从Master复制过来的,移动到.ssh目录下,修改权限为600。因过程基本一致,具体操作就留给读者自行搭建。测试使用命令“ssh slave0”即可。 uOpI4zkzEqG/qaVbZunz4c8o3abDlecCYp0GtRIvFP3bHXnxaVegs2Yh4Muu5nTW

点击中间区域
呼出菜单
上一章
目录
下一章
×