1
Hadoop 集群安装
Hadoop 实验报告
之完全分布式模式的 Hadoop 集群安装
2
Hadoop 集群安装
目录
之完全分布式模式的 Hadoop 集群安装 ..................................................................................... 1
前言 .................................................................................................................................................... 3
前期软件准备与配置环境变量........................................................................................3
一、
1.拷贝压缩包 ............................................................................................................................. 4
2.解压压缩包 ............................................................................................................................. 5
3.配置环境变量 ......................................................................................................................... 6
(1)配置 jdk 的环境变量:...........................................................................................6
(2)配置 hadoop 的环境变量....................................................................................... 7
二、配置公私钥(实现免密登录)..............................................................................................10
1.在集群中的每个主机中生成公私钥 ...................................................................................10
2.生成 authorized_keys。....................................................................................................... 11
3.整合公钥。 ........................................................................................................................... 12
(1)在其他主机中上传公钥:....................................................................................12
(2)在选取的主机中下载公钥:................................................................................12
4.分发公钥。 ........................................................................................................................... 13
(1) 在其他主机中下载:......................................................................................13
(2) 在选定主机中发送:......................................................................................13
5.ssh 登录测试 .........................................................................................................................14
三、分发配置软件及文件..............................................................................................................15
1.确定主机 ............................................................................................................................... 15
2.分发文件 ............................................................................................................................... 15
四、HDFS 分布式文件系统的启动 ................................................................................................ 17
1.集群中所有主机重新启动 ...................................................................................................17
2.格式化 hdfs 文件系统 ..........................................................................................................17
3.启动 hdfs 文件系统.............................................................................................................. 18
五、Hadoop 集群测试(此过程可在任意一台主机上操作) ....................................................18
1.在 Hadoop 集群上测试 Hadoop 自带程序 WordCount..................................................... 19
2.HDFS 系统命令的熟悉 ......................................................................................................... 20
六、升级 hadoop.............................................................................................................................21
1、 配置准备 .......................................................................................................................... 21
2、 配置文件 .......................................................................................................................... 25
3、 分发文件 .......................................................................................................................... 26
4、 集群测试 .......................................................................................................................... 27
七、 集群启动方式以及常见错误 ................................................................................................28
1、 集群启动 .......................................................................................................................... 28
2、 集群异常多服务 ..............................................................................................................29
2
3
Hadoop 集群安装
前言
在 Hadoop 集群搭建前,需要使用三台主机安装好 sever 版 Linux。
最好将三台主机主机名分别选定为 master slave1
slave2。三台主机
用户名都设置为 hadoop,为了操作方便三台主机的密码都统一设置
为 hadoop。在以下配置过程中,不同的实验环境配置内容不一定完
全相同,需要灵活地改变一些参数。以下是我们小组主机的详细信息。
主机名:master
IP 地址:192.168.0.132 用户名:hadoop
主机名:slave1
IP 地址:192.168.0.131 用户名:hadoop
主机名:slave2
IP 地址:192.168.0.138 用户名:hadoop
现在将三台主机中安装好的虚拟机打开,开始我们的 hadoop 集
群搭建。
一、前期软件准备与配置环境变量
这一步我们只需要选定一台主机进行这一步操作就可以了,因为在后
面会将选定的这台主机上配置好的所有文件分发给其他主机(而且最
好这样,避免三台主机的配置文件有任何一点的不同)。这里选择
slave1 进行操作。
在 Linux 系统中我们有许多操作是对于文件的操作,其中一个非
常重要的东西是文件的路径。绝对路径:使用全部的路径名地位文件,
这种路径从根目录开始写,一般比相对路径长。相对路径:文件相对
于当前路径的位置,一般从当前目录的某个路径写起。
例:当前目录:/home/hadoop
文件绝对路径:/home/hadoop/hadoop/etc/sbin
3
4
Hadoop 集群安装
文件相对路径:/hadoop/etc/sbin
当前目录+相对路径=绝对路径
1.拷贝压缩包
由于新建立的 Ubuntu-server 虚拟机内没有搭建 Java 和 Hadoop
的环境,所以需要从 Windows 中拷贝这两个环境文件,运用到桌面上
的 SSH Secure File Transfer Client。
双击进入 SSH Secure File Transfer Client,点击 Quick Connect,
输入选定主机正确的 IP 地址(这里选 slave1)和用户名,如图:
点击 Connect,会要求输入 hadoop 用户的密码,因为提前有所
要求,所有密码均为 hadoop,所以输入即可建立连接。
在该应用左侧,是 Windows 资源管理器中的内容,右侧是
Ubuntu-server 的目录,只需要将 Windows 中的文件拖入右侧,即完
成文件的传输。
然后回到我们的虚拟机中,先在 slave1 的/home/hadoop 目录(用
户主目录)下建立 software 目录,用于存储两个从 Windows 传过来的
文件。如下:
4
5
Hadoop 集群安装
然后将两个文件拖到其中。
将文件从左边拖到右边
2.解压压缩包
现在我们回到虚拟机 slave1,在刚才新建的 software 目录中,
用 ls 命令查看拷贝是否成功。可以看到拷贝成功。因为我们配置的
用户名都是 hadoop 所以主目录是/home/hadoop。
接下来便将两个压缩包解压到/home/hadoop 目录下,在
/home/hadoop/software 目录下用命令:
tar –xvf hadoop-2.7.1.tar.gz 解压 hadoop。由于是在
software 目录下使用 tar 命令,所以默认解压到了该目录下,使用
命令 mv hadoop-2.7.1 /home/hadoop 将其移动至主目录下。再使
用 mv hadoop-2.7.1 hadoop 将刚才的 hadoop-2.7.1 重命名为
5
6
Hadoop 集群安装
hadoop,同理对 jdk 压缩包一样,最后在主目录下有如下文件。
3.配置环境变量
环境变量是和当前 shell 相关的一些变量,在任意目录下使用 printenv
可以显示当前 shell 环境中所有的环境变量。
配置环境变量的作用:这个变量可以告诉 shell 可以在什么地方找到
用户要求执行的程序。当我们在输入一个命令后,系统先在一个缓存
表里寻找这个命令,如果找到了就执行,如果找不到就在当前 shell
的环境变量中寻找,如果遍历环境变量中所有的路径都找不到这个程
序,那么 shell 会提示无法找到该命令。
(1)配置 jdk 的环境变量:
编辑/etc 下的 profile 文件:
使用 sudo vim /etc/profile 命令 (由于在 profile 在/etc 目
录下,所以得加 sudo 命令临时提高用户权限)进入文件后,按 i 进
入编辑模式,在文本最后追加下列语句:
追加完毕后,按 esc 退出编辑模式,按“:”键,并输入“wq”,
表示编辑完毕,并保存文件。存盘后,重启系统(sudo reboot)重
启完毕后,测试 jdk 是否安装成功,在任意目录键入命令:
java –version 显示如图:↓ 表示安装成功
6
7
Hadoop 集群安装
(2)配置 hadoop 的环境变量
Vim 编辑器中#后面的一行是注释。
1)编辑/etc 下的 profile 文件,操作同 jdk 一致,追加如下语
句:
2)建立临时文件的目录,在主目录下的 hadoop 目录下建立 tmp
(因为 hadoop 运行时会产生许多临时性文件,所以建立 tmp 目录。
在任意目录使用
mkdir /home/hadoop/hadoop/tmp 命令。建立完毕后检查 tmp 建
立是否成功:在任意目录使用命令 ls +hadoop 文件夹的绝对路径
3)修改/home/hadoop/hadoop/etc/hadoop 目录下的
hadoop-env.sh、mapred-env.sh 和 yarn-env.sh,在这三个文件中找
到 export JAVA_HOME= 的语句(注意在这几个文件中 export
JAVA_HOME=这条语句有可能是被当做注释来写的。这时把前面的’#’
删掉,然后修改),修改成为
export JAVA_HOME=/home/hadoop/jdk
这是修改 hadoop-env.sh 文件的结果
这是修改 Mapred-env.sh 文件的结果
7
8
Hadoop 集群安装
这是修改 yarn-env.sh 文件的结果
4)修改/home/hadoop/hadoop/etc/hadoop 目录下的
core-site.xml
添加以下内容:
192.168.0.132 为 master 的 IP 地址,9000 为规定的端口号
5)修改/home/hadoop/hadoop/etc/hadoop 下的 hdfs-site.xml
文件
添加如下内容:
6)修改/home/hadoop/hadoop/etc/hadoop 目录下的
mapred-site.xml 文件
添加如下内容:
8