在虚拟机上安装好了centos系统,可以复制成3个,分别命名为master,slave1和slave2(其IP分别为192.168.37.10/11/12)。用secureCRT远程连接这三台虚拟机。
测试其能否上网的命令为:curl www.baidu.com;也可是使用ping www.baidu.com看能否ping通。重启网络服务的命令:/etc/init.d/network restart
查看IP地址:ifconfig,slave1无法上网的问题,先改IP,再卸载其网卡,最后重新添加。
vim:进入某个文件;cp *:拷贝所有;vim ~/.bashrc:更改此环境变量,在linux中配置JDK的环境变量为:
export JAVA_HOME=安装路径
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
source:重新执行刚刚修改的初始化文件,是之立即生效,而不用重启。远程复制的命令:scp -rp
以上为等待修改
安装hadoop
第一步:.tar xvzf hadoop-1.2.1-bin.tar.gz:对该压缩包进行解压
hadoop文件在/etc/local/src/文件夹下面,解压后出现 hadoop-1.2.1文件夹
第二步:在解压后的 hadoop-1.2.1文件夹中新建一个tmp目录(用来存放临时文件),使用命令是 mkdir tmp
第三步:在 hadoop-1.2.1中有conf文件夹目录,进入并修改masters和slaves文件,之后保存并退出
第四步:修改conf文件夹中的core-site.xml文件:
(其中9000是端口号)
第五步:配置mapred-site.xml文件
第六步:配置hdfs-site.xml文件
第七步:修改hadoop-env.sh文件(在最后一行加上)
使用ls -rlt命令产看更改了哪些文件
第八步:配置本地网络:
如不配置上述参数,访问masters节点时必须通过IP来访问,配置该映射关系之后,不用通过IP访问,通过hostname即可访问机器。另外配置好之后,执行hostname master命令只能临时生效,而永久生效必须更改:vim /etc/sysconfig/network中改变HOSTNAME=master:
到此,hadoop集群中master节点就已经配置完成,而slave节点只需将master节点机器中配置好的hadoop-1.2.1文件夹通过IP传给另外两台slave节点即可,然后用cat命令查看是否修改正确:
为防止linux中网络出现问题,需要关闭防火墙以及其他的一些功能:
关闭防火墙:/etc/init.d/iptables stop
检查关了没有:iptables -L
修改参数:
setenforce 0
getenforce
得到Permissive即可
接下来就建立远程登录而无需每台虚拟机的密码登陆了
执行ssh-keygen命令,然后cd ~/.ssh/进去并查看该隐藏文件,将id_rsa.pad文件中的代码复制到authorized-key文件中,若无此文件,就用tough命令新建此文件,然后同理将slave1和slave2中的id_rsa.pad文件的内容都复制到master的authorized-key文件中(其中有三个文件了),在将authorized-key文件分别cp到slave1和slave2中的/.ssh/文件夹中,这样在master虚拟机中使用ssh slave1命令即可访问slave1了,用exit命令即可退出。
启动hadoop集群:
进入src目录中的hadoop1.2.1文件夹中的bin文件夹
第一次启动hadoop需用命令./hadoop namenode -format进行格式化,
然后用命令./start-all,sh启动集群,用jps命令查看是否启动成功,slave1和slave2都可以用该命令查看
接下来验证HDFS能否使用: