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系统,进行深入学习。相关命令参考其它资料。