在CentOS上单机配置hadoop
温习提示:(1)如果你不是用root用户登录的Linux,需要切换到root用户,因为普通用户没有权限对有些文件进行操作:方法:
$ su - root
然后会提示你输口令,输的时候不会显示在屏幕上,别管他,自己输自己的,输好就按回车
切换成功,这问题困扰了我好久。后来才是在偶然间弄好的。╮(╯▽╰)╭笨啊!
(2)记得注意空格
上一篇已配置好了JDK,这里就不赘述了。
第一步:ssh无密码验证配置
生成密钥对
# ssh-keygen –t rsa –P ‘’ –f /root/.ssh/id_rsa (如果出错就试试这个# ssh-keygen –t rsa –P)
然后需要填写密钥保存路径、就照着默认的填(括号中的那个,我的是 /root/.ssh/id_rsa)
再把它添加到信任列表。
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
测试一下:
# cd /usr/.ssh
# ssh localhost
就会出现上次登录的信息,OK!这样配就好了,
第二步:下载安装Hadoop0.21.0.tar.gz
并将其复制到usr下面的hadoop文件夹(没有的就自己建一个)、解压到文件夹hadoop
cd /usr/hadoop:
# tar –zxvf hadoop-0.21.0.tar.gz –C /usr/hadoop
第三步:进入 /usr/hadoop/hadoop-0.21.0/conf,配置Hadoop文件,
(1)、配置JAVA环境,
# cd /usr/hadoop/hadoop-0.21.0/conf
# vim hadoop-env.sh
在最后加上
# set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_10 (JDK路径)
(2)、配置namenode的三个配置文件core-site.xml,hdfs-site.xml,mapred-site.xml
conf/core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
第四步:启动hadoop
(1) 格式化namenode
#cd /usr/hadoop/hadoop-0.21.0
# bin/hadoop namenode –format
开始格式化了
(2),启动hadoop守护程序
#bin/start-all.sh
进入bin,在验证hadoop是否正常启动
#cd /usr/hadoop/hadoop-0.21.0/bin
#jps
如果出现NameNode 、TaskTrscker、Jps 、JobTracker、SecondaryNameNode、DateNode
就成功了。
第五步:测试wordcount
# cd /usr/hadoop/hadoop-0.21.0
# mkdir test-in
# cd test-in
# echo “And that has made all the difference” >test.txt
# cd /usr/hadoop/hadoop-0.21.0
# bin/hadoop jar hadoop-mapred-examples-0.21.0.jar wordcount test-in test-out
# cd /usr/hadoop/hadoop-0.21.0/testout
# cat part-r-00000
就可看到结果了。