hadoop在ubuntu12.04下的单节点(伪分布式)安装并测试

11 篇文章 0 订阅
1 篇文章 0 订阅

主要分为以下几个步骤:

安装java环境,最好为sun的,据说openjdk会有问题。

安装hadoop

配置hadoop环境变量

设置ssh

配置hadoop为单节点【伪分布式】模式


=====================================start===========================================

1.安装sunjava。并记录环境变量。

我这里使用的是jdk1.7.0_04,安装在/usr/lib/jvm/jdk1.7.0_04/

具体请参考:http://blog.csdn.net/hello_world_2012/article/details/8606784


2.创建可以使用root权限的用户。

为了使用方便,这里不再创建新用户而是直接使用当前的用户yu【可以使用sudoxx即可】。


3.安装hadoop1.0.4

a.hadoop官网下载安装包:hadoop-1.0.4.tar.gz

b.将安装文件解压到/usr/hadoop1.0.4

sudo tar -zxvf hadoop-1.0.4.tar.gz -C /usr 


c.修改hadoop文件夹的权限,保证能够正常访问:

sudo chown -hR yu /usr/hadoop-1.0.4

(这一步也可以暂时不做)


4.配置hadoop的环境变量

a.修改profile文件

sudo vi  /etc/profile

b.在文件末尾加入如下几行:

#	for java
export CLASSPATH=.:/usr/lib/jvm/jdk1.7.0_04/lib:/usr/lib/jvm/jdk1.7.0_04/jre/lib:$CLASSPATH
export PATH=.:/usr/lib/jvm/jdk1.7.0_04/bin:/usr/lib/jvm/jdk1.7.0_04/jre/bin:/usr/hadoop-1.0.4/bin:$PATH
#	for hadoop
export PATH=$PATH:/usr/hadoop-1.0.4/bin

说明:.表示当前目录,:表示分割符,windows下是;


5.设置ssh

hadoop需要在无密码情况下使用ssh登录,所以需要将ssh设置成无密码登录。

a.保证网络畅通,安装ssh

sudo apt-get install openssh-server

验证是否可以无密码登录:

ssh	localhost

如果出现无法建立链接,则表示当前不能无密码登录。


b.执行如下命令:

ssh-keygen -t rsa –P
cat /home/yu/.ssh/id_rsa.pub >> /home/yu/.ssh/authorized_keys
sudo /etc/init.d/ssh reload

(注1:此语句网上文档为ssh-keygen-t rsa -P "" ,效果一样

2:此语句执行后会要你填写key的保存位置,直接照着系统给出的那个默认位置填,我的为"/home/yu/.ssh/id_rsa"


c.修改权限

chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

到此,ssh设置完成。打开新的窗口,输入ssh localhost,显示登录成功的信息。



6.配置hadoop为单节点【伪分布式】模式

a.配置hadoop-env.sh

sudo gedit conf/hadoop-env.sh

(打开后在文档的上部某行有“#exportJAVA_HOME=...”字样的地方,去掉“#”然后在等号后面填写你的jdk路径,"export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_04")


b.配置conf目录下的core-site.xml

sudo gedit conf/core-site.xml

(打开后标签<configuration></configuration>中是空的,所以在空的地方加入如下配置)

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/home/yu/tmp</value>
</property>


c.配置conf目录下的mapred-site.xml

sudo gedit conf/mapred-site.xml

(打开后标签<configuration></configuration>中也是空的,添加如下配置)

<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property> 


运行测试:

1、格式化namenode(首次运行必须,以后运行跳过)

hadoop namenode -format

2、启动hadoop

a.修改hadoop文件夹的所有者,保证能够正常访问:

sudo chown -hR yu /usr/hadoop-1.0.4
(如果在第三步已经修改了,这里就不用了)

b.启动hadoop

start-all.sh


c.验证是否正常启动

jps


如果正确的话,这时会显示已经启动的项目:

yu@yu-PC:/usr/hadoop-1.0.4$jps

13624Jps

13554TaskTracker

13293JobTracker

13204SecondaryNameNode

12932DataNode

12674NameNode


如果没有正常启动,先关闭所有守护进程stop-all.sh,然后再根据提示信息重新启动。


3、跑wordcount

a.准备一个文本文件,

sudo vi /tmp/test.txt

随意输入一些单词,然后保存关闭退出。

b.将准备的测试文件上传到dfs文件系统中的firstTest目录下

hadoop dfs -copyFromLocal /tmp/test.txt firstTest

(注:如dfs中不包含firstTest目录的话就会自动创建一个,关于查看dfs文件系统中已有目录的指令为"hadoopdfs -ls")


c.执行wordcount

hadoop jar hadoop-examples-1.0.4.jar wordcount firstTest result

注:hadoop-examples-1.0.4.jar会跟版本有关系,具体的名字可查看安装目录下的文件。


d.查看结果

hadoop  dfs -cat result/part-r-00000

(注:结果文件默认是输出到一个名为“part-r-*****”的文件中的,可用指令“hadoopdfs -ls result”查看result目录下包含哪些文件)



至此,hadoop伪分布式模式搭建完成。



参考并致谢:

1http://vampire1126.iteye.com/blog/891693

2http://blog.csdn.net/shuhuai007/article/details/8298814

3http://blog.csdn.net/computer055maxi/article/details/6076416



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值