HADOOP自学笔记(六)安装Hadoop环境--Trouble Shooting

各位看我博客的同学,不好意思因为最近项目比较忙,事情也比较多,所以这个自学笔记系列一直没有能够更新。


上面的四五两期讲述了如何将Hadoop部署在一台机器上,以及如何部署在多台机器上。由于本人之前的博客都是直接看视频,然后把视频中

讲的要点记录下来,然后发在这里与大家分享,并未亲自进行实验,因此心里一直以为憾事。所以在继续进行下面的课程之前,我先按照前面的

博客搭建了一下Hadoop的实验环境。并且将一些要点记录下来:


一. 在一台机器上安装Hadoop实验环境


针对在一台机器上搭建Hadoop的实验环境而言:

第一,首先虚拟机环境的搭建。我的实验环境只有一台电脑,配置也不是很高,不过勉强凑合能跑一台虚拟机。我的实验环境是一台台式机,Ubuntu12.04(amd64) + VirtualBox。VirtualBox中安装了另外一个Ubuntu环境,外面的系统不作为Hadoop节点,只是用于ssh登录,提供一个管理窗口。在VirtualBox中建立的那台机器才是我们实际操作的机器,命名为HNName.     

这里为什么要把NNName放到虚拟机里面呢?既然搭建仅有一台机器的Hadoop环境,按理说只需要一台机器就够了么。是这样子的,在一台机器上搭建Hadoop环境的要求非常简单,仅仅需要下载好Hadoop,安装好JRE环境即可。不需要虚拟机,也不需要ssh。这里我用虚拟机做实验,主要是为了以后搭建多台机器的Hadoop环境做准备。因为实际上多台环境的时候,就是最好有一台统一个管理界面(无论windows还是linux),然后不同的节点放在不同的机器上。


第二,VirtualBox的网络配置。这个我试了很多次,VirtualBox有四五种网络设置的方式,这里我就不详细说明。最好的配置环境是虚拟机和操作界面(叫主机吧)相互联通;同时虚拟机也能上网。这个在有网线的情况下,可以通过给虚拟机设置一块NAT网卡(用于外网链接)和一块Host-only网卡(用于内网链接)完成;我自己实验的过程中,如果没有网线只用无线网的话,我没有成功,结果是只能要么链接外网,要么链接内网;二者不可兼得。所以最后还是在有网线链接的情况下解决这个问题。(有没有人找到无线网下面的完美网络方案的?)


第三,SSH链接。在虚拟机中装好ubuntu之后,第一件事是安装ssh,可以先通过ps -e | grep ssh 来查看一下是否有ssh功能。我们的机器上必须安装好openssh-server才可以。如果结果显示了有sshd, ssh-agent两项,说明条件满足,否则要安装openssh-server:  sudo apt-get install openssh-server


安装好以后,尝试ssh登录(主机和HNName上面都要有openssh-server)。要验证联通性,可以先ping一下看看是否联通;通过ifconfig来查看ip。如果网络配置好了,就应该可以联通了。


注意,在前面的教程里面,用的是ssh HNName就直接登录了。但是我这边实验的时候不知为何不行;但是使用ip可以链接上 ssh username@192.168.56.101,输入密码即可登录。


第四,完成上面的所有步骤后,网络环境就算搭建好了,而且上面的所有内容实质上和hadoop没有太大关系。下面我们登录HNName后,就开始搭建Hadoop环境。接下来的步骤基本上和教程是一致的。下载并安装Hadoop,配置环境变量,下载JRE,配置hadoop中的一些内容;即可完成。


我在实验的过程中,完成上述步骤的时候,出了一个问题,就是执行start-all.sh脚本时候失败,看了失败记录发现权限不行,于是修改了一下权限,就可以顺利跑起来了。


二. 运行Hadoop经典测试问题WordCount程序

完成了上述工作后,我们可以按照Hadoop自学笔记(三)介绍Map Reduce里面的内容,来验证环境是否已经搭建完毕。具体步骤请看:

http://blog.csdn.net/yizhi401/article/details/24382205


实验过程中碰到的问题如下:

1. hadoop fs -ls无法查看文件系统

如果报错connection refused,除了链接有问题的可能性外,先看一下你的hadoop环境是否启动了!囧。。。。

2. hadoop fs -ls 提示$HADOOP_HOME is Deprecated 这个可以把~/.bashrc中的环境变量$HADOOP_HOME改成$HADOOP_PREFIX解决

3. hadoop fs -ls 无法查看文件系统,提示‘.’ no such file or directory

但是hadoop fs -ls /有用,hadoop fs -mkdir /data也起作用。这个可能是在文件系统没有该用户的根目录,所以找不到,可以执行:

hadoop fs -mkdir -p /user/[current login user]/

然后就不会出现了

4. 无法浏览文件系统,可以登录HNName:50070但是里面打不开文件系统

试试这个建议:

打开$HADOOP_HOME/conf/core-site.xml

<value>hdfs://localhost:10001</value>

修改成

<value>hdfs://[your ip]:10001</value>即可

http://stackoverflow.com/questions/8925805/namenode-ui-browse-file-system-not-working-in-psedo-distributed-mode





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值