版本:easyhadoop 1.2.1,操作系统:Centos 6.4;
首先,我要说的是要用对版本,这点很重要。我使用ubuntu12.04 64bit 的虚拟机是不行的,安装直接报错。所以就下载了centos的iso,好像最新的比较好找,所以就下载了6.4的。下面就一步一步来看我的安装吧:
1.首先vmware虚拟机安装centos6.4,选择nat网络连接方式。安装完成后,修改ip,固定ip,修改机器名,然后重启。具体修改如下(全部使用root账号):
1.1 修改/etc/sysconfig/network-scripts/ifcfg-eth0,我的是如下:
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.128.152 NETMASK=255.255.255.0 GATEWAY=192.168.128.2 DNS1=192.168.128.21.2 修改/etc/sysconfig/network,我的机器名是node2
NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=node2 GATEWAY=192.168.128.21.3 /etc/resolv.conf 不需要修改 默认里面存的就是 nameserver 192.168.128.2。重启即可。重启之后使用/etc/init.d/sshd start ,默认好像没启动的。
2. 下载easyhadoop,然后上传到node2,下载url:https://github.com/xianglei/easyhadoop
3. 安装easyhadoop。
3.1修改/root/easyhadoop-master/setup_centos_6.py文件的执行权限:chmod +x setup_centos_6.py (这里也可以看到我存放的路径,不过好像这个路径是没有关系的)。
3.2 执行上面的文件 ./setup_centos_6.py,这里要保证网络的畅通,执行前,可以先ping www.baidu.com试试网络的情况。然后如果你网络速度ok的话(150k左右)应该10分钟左右就可以把所有的文件下载完成了,然后它就会提示你打开浏览器,输入机器名(使用ip代替),进行访问。
3.3 设置hadoop。
在浏览器中输入:http://192.168.128.152 (根据自己的ip进行输入),然后输入admin/123456(默认的用户名和密码)点击Enter即可进入系统。界面如下:
刚开始是没有红色方框里面的记录的,(我设置好了才有的)。然后来一步一步进行设置:
(1)点击nodes,然后看到左上角有创建节点和创建多个节点,点击创建节点出现下面的界面:
按照上面进行设置,点击save,进行保存。这里可能会出现下面的错误:
(这里的ip不对,这个是我之前创建的虚拟机上跑出现的错误,不必纠结这个问题)当出现上面的错误时,应该是ssh没有配置好,查看/etc/init.d/sshd status 状态,配置完成即可。
点击下图红色框:
可以看到下面的提示,如果没有提示,说明前面的步骤出错:
选择第一个,然后save即可。
(2)选择Install选项卡,然后点击Install,在弹出的框中点击Install,然后会出现相应的文件被安装,在最后的提示中会有Hadoop Installed(英语语法来说的话installed是完成时);
(3)点击Settings选项卡,选择hadoop。然后点击左边的Templates(模板)选项,导入四个文件,如下:
然后需要修改相应的文件内容,修改直接点击Edit即可。core-site.xml 基本不用修改,hadoop-env.sh加上
export JAVA_HOME=/usr/java/defaultjava默认的安装目录就是上面的。hdfs-site.xml中的dfs.replication变量值设置为1,mapred-site.xml中不需要修改。然后点击push node settings即可:
然后,如果你出现了下面的错误:
Caught exception: TSocket: Could not connect to 192.168.128.152:30050 (Connection refused [111])然后使用 netstat -lnp| grep 30050后没有东西出来,那么恭喜你,你可以重装系统了(虚拟机重装也很快,我都重装了2次)。easyhadoop中用到了30050端口来进行push,如果这个端口没有服务起来,那么基本就是前面啥地方出错了。我下午调了一下午都没搞定这个问题,重新建立一个虚拟机就好了。把iptables各种调都没用。。。
(4)然后选择Service选项卡中的hadoop服务,出现下面的界面(刚开始namenode等等背景是红色的,改好后才变为蓝色):
到了这里后,首先要使用mapred用户进行namenode的格式化,root用户直接 su mapred,然后直接 hadoop namenode -format即可。
然后点击namenode的startnamenode,没用,其他的也是一样,都启动不了进程。使用mapred用户启动namenode试试,start-dfs.sh ,出现Permission Denied,好吧我看看权限原来这些start*、stop*文件都在 /usr/sbin/里面,且都是root的权限,而且不能执行,好吧,加上执行权限,然后使用root启动,直接./start-all.sh吧,然后启动namenode、jobtracker的时候没有让我输入密码,但是其他三个进程就要我输入密码,这是怎么回事?难道是前面有什么没有设置到的么?奇了个怪了。哎,不管那么多了,看下集群起来没,然后50030、50070,恩 ok了,都起来了。而且在监控里面,这个图超靓:
这样就暂时搞定easyhadoop了。
这里存在两个问题:
其一:ssh要密码登陆问题,应该是前面没有设置好,还是什么的,但是有些进程需要密码,有些又不需要,这个很奇怪;
其二:在下面的servie中的namenode界面中log信息看不到,看到出错的信息:
不过最重要的应该是那个密码问题吧,如果每个节点启动还要输入密码,那还要什么easyhadoop呀,而且肯定应该不是要用代码启动的,肯定是要用界面中的那个按钮启动的。
分享,成长,快乐
转载请注明blog地址:http://blog.csdn.net/fansy1990