hadoop-系统安装配置-简洁手册

  • 格式:doc
  • 大小:1007.00 KB
  • 文档页数:10

根据上课做实验情况,我整理了一个便捷安装手册,大家只要按照本手册步骤,既可以安装成功。前面有个别命令配置写的简略,可以查你们的linux教材即可,都是常用命令。

三台机器规划:

机器名 IP(换成你自己的) 功能

master 192.168.5.201 主

slave1 192.168.5.202 从

Slave2 192.168.5.203 从

1. 修改机器名(用root用户)

hostname 你的机器名 //该命令临时修改你的主机名

用vi修改文件/etc/sysconfig/network ,修改其中"HOSTNAME"后面的值,改成我们规划的名称,这种方法可以永久修改你的主机名,文件内容修改如下。

2. 修改三台机器IP地址(用root用户)

(1)获得网段和网关设置,查看你的电脑的网络连接属性中的VMnet8网卡的地址,网卡如下图所示:

也可登录你的客户机后,用ifconfig命令,查看你的客户机的网段和网关。

(2)永久修改IP方法:用vi修改文件"/etc/sysconfig/network-scripts/ifcfg-eth0"。按如下形式修改即可。注意IP和网关要换成你自己的。

(3)临时修改IP方法:

3. 修改3台机器的hosts文件(用root用户)

vi /etc/hosts

添加3行配置,如下图:

4. 在三台机器上建立hadoop用户(用root用户)

1) useradd hadoop //新建

2) passwd hadoop //改密码

5. 在三台机器上关闭防火墙(用root用户)

(1) 重启后永久性生效:

开启:chkconfig iptables on

关闭:chkconfig iptables off 用这个永久关闭防火墙

(2) 即时生效,重启后失效:

开启:service iptables start

关闭:service iptables stop

依次执行下面3个命令:

chkconfig sendmail off

chkconfig iptables off

service iptables stop

6. 在三台机器上安装JDK

(1)JDK包首先要上传到你的客户机上,进入到JDK包所在目录,用rpm命令安装(用root用户),如下图最后一行所示:

(2)(用hadoop用户登录)在/home/hadoop目录下,编辑hadoop用户的.bash_profile文件,在最后添加如下4行内容:

(3)用hadoop用户重新登录客户机,然后用java -version命令,测试JDK是否安装成功,如果显示如下图所示,说明安装成功。

7. 无密钥远程登录的SSH配置(用hadoop用户登录)

(1)SSH无密码原理

Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。

(2)3台机器上生成密钥对

用hadoop用户分别登录3个机器,执行以下命令,在3台机器上生成密钥对:

ssh-keygen –t dsa

一路回车下去,自动生成公私密钥对,保存在.ssh目录下。

以master机器为例,如下:

.ssh目录下的内容如下:

接着在3个机器上分别执行如下命令,把id_rsa.pub追加到授权的key里面去。

cat id_dsa.pub >> authorized_keys

修改文件权限:chmod 600 authorized_keys //本步必须做,上次课上忽略后,就有问题了。修改后的权限如下所示

(3)master-slave方向的无密钥SSH登录配置,以slave1为例

在master机器上执行如下命令,中间可能需要输入slave1机器的hadoop用户口令,将master上的公钥文件id_dsa.pub远程复制到slave1上。

然后在slave1上,执行如下命令,将master.pub中的密钥,追加到keys文件中:

然后在master上,用ssh slave1命令远程登录slave1,成功的无密钥登录如下(严格按上面步骤做,肯定能成功,不成功重新做一遍试试):

slave1成功后,将slave2进行同样配置。

(4)slave-master方向的无密钥SSH登录配置,以slave1为例

在slave1机器上执行如下命令,中间可能需要输入master机器的hadoop用户口令,将slave1上的公钥文件id_dsa.pub远程复制到master上。(注意slave1.pub表示这个文件是从slave1机器上赋值来的,这个文件名可以自主命名,但要知道是slave1机器上的公钥文件。)

然后在master上,执行如下命令,将slave1.pub中的密钥,追加到keys文件中:

然后在slave1上,用ssh master命令远程登录master,成功的无密钥登录如下(严格按上面步骤做,肯定能成功,不成功重新做一遍试试):

slave1成功登录后,将slave2进行同样配置。

8.

配置hadoop(用hadoop用户登录)

将hadoop-1.1.2.tar.gz上传到/home/hadoop目录下。

(1) 在3台机器上,分别执行解压缩命令,解压后自动创建hadoop-1.1.2目录,该目录为hadoop的程序和配置文件目录。

(2) 在3台机器的" hadoop-1.1.2"目录下创建"tmp"文件夹

(3) 在3台机器上,编辑/home/hadoop/.bash_profile文件,在文件最后,添加如下内容。

也可以编辑好一个文件后,用scp命令,复制到另外2台机器上,命令如下:

(4) 编辑3台机器上的core-site.xml文件

3台机器上的文件内容一样,如下:

(5) 编辑3台机器上的hdfs-site.xml文件

3台机器上的文件内容一样,如下:

(6) 编辑3台机器上的mapred-site.xml文件

3台机器上的文件内容一样,如下:

(7) 编辑3台机器上的hadoop-env.sh文件

3台机器上的文件内容一样,配置JAVA_HOME目录,修改为如下:

(8) 编辑3台机器上的masters文件

3台机器上的文件内容一样,修改为如下:

(9) 配置slaves文件(master主机特有,slave上不用配置)

修改为如下:

(10) 3台机器上,都退出hadoop登录,重新用hadoop用户登录,使.bash_profile的配置生效。 (11) 格式化hadoop文件系统

用命令: hadoop namenode

-format

显示如上图信息,说明成功了。

(12) 启动hadoop文件系统

用命令:start-all.sh

显示如上图信息,说明成功了。

注意:中间可能提示让输入(yes/no),输入yes后,打回车键即可。

(13) 验证hadoop系统启动成功与否

在master上,执行如下命令,并显示图示的4个进程,说明master启动成功

在slave上,执行如下命令,并显示如下3个进程,说明成功。

(14) 在你的电脑上,用浏览器登录hadoop系统,进行查看

编辑windows系统上的hosts文件,文件所在目录如下:

在hosts文件后面加入3行配置,如下图中最后3行:

用如下地址在浏览器中,访问hadoop的管理页面,其中192.168.5.201是我的master虚拟机的IP地址。

http://192.168.5.201:50030 ,此地址登录master Hadoop Map/Reduce Administration;

http://192.168.5.201:50070 ,此地址登录NameNode;

两个页面的抓图如下:

(15) 在master机器上,用命令上传文件到hadoop系统

命令格式:hadoop dfs -put 源文件名 目标文件名

一个上传例子如下:

上传完毕后,在浏览器中的http://master:50070/dfshealth.jsp页面,点击“Browse the

filesystem”,再依次点击“user”、”hadoop“链接,就可以看到刚才上传的文件。如下图:

(16) 先关闭hadoop集群,再关闭客户机器,是比较安全的操作

在master机器上,用命令stop-all.sh关闭hadoop集群,关闭时要等待几十秒,关闭过程如图:

等机器安全关闭后,再关闭3个机器,最后关闭VMWare软件。

9. Hadoop系统的常用命令

可以使用本次安装的hadoop系统,进行深入学习。相关命令参考其它资料。