easyhadoop初识以及各种问题


版本: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.2
1.2 修改/etc/sysconfig/network,我的机器名是node2
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node2
GATEWAY=192.168.128.2
1.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/default
java默认的安装目录就是上面的。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


相关内容

    暂无相关文章