hadoop 2.6.0单节点-伪分布式模式安装
导读:
此篇安装较为简略,更详细的安装信息及相关软件、配置信息等,可以参考
hadoop2.2完全分布式最新高可靠安装文档
static/image/hrline/4.gif
1、系统信息
# cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m
# uname -a
Linux lsn-linux 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
# hostname
lsn-linux
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.160.3 lsn-linux
# ll /lib64/libc.so.6
lrwxrwxrwx. 1 root root 12 Nov 11 22:35 /lib64/libc.so.6 -> libc-2.12.so
2、准备工作
2.1、安装jdk7.0
# yum remove java
# rpm -ivh jdk-7u21-linux-x64.rpm
Preparing... ###########################################
1:jdk ###########################################
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
# java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
2.2、/etc/profile配置,增加:
export JAVA_HOME=/usr/java/jdk1.7.0_21
export HADOOP_PREFIX=/hadoop/hadoop-2.6.0
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/bin:$PATH:$HADOOP_PREFIX/bin:$PATH"
export HADOOP_PREFIX PATH CLASSPATH
2.3、ssh免密码登陆设置(在root目录完成)
ssh-keygen -t rsa -P ""然后一直回车即可
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
2.4、
tar zxf hadoop-2.6.0.tar.gz
文件位置
/hadoop/hadoop-2.6.0
3、配置
/hadoop/hadoop-2.6.0/etc/hadoop
3.1、vi hadoop-env.sh
增加
export JAVA_HOME=/usr/java/jdk1.7.0_21
3.2、vi core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://lsn-linux:9000</value>
</property>
</configuration>
3.3、vi mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>lsn-linux:9001</value>
</property>
</configuration>
3.4、vi yarn-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
3.5、 vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/hadoop-2.6.0/dfs/name</value>
</property>
<property>
<name>dfs.datannode.data.dir</name>
<value>/hadoop/hadoop-2.6.0/dfs/data</value>
</property>
4、启动
bin/hadoop namenode -format
sbin/start-all.sh
5、查看
jps、bin/hadoop dfsadmin -report
# jps
6215 Jps
6037 ResourceManager
5623 NameNode
5743 DataNode
5898 SecondaryNameNode
6132 NodeManager
# bin/hadoop dfsadmin -report
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
14/12/04 19:40:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Configured Capacity: 29025366016 (27.03 GB)
Present Capacity: 24784756736 (23.08 GB)
DFS Remaining: 24784707584 (23.08 GB)
DFS Used: 49152 (48 KB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
-------------------------------------------------
Live datanodes (1):
Name: 182.168.8.131:50010 (localhost)
Hostname: localhost
Decommission Status : Normal
Configured Capacity: 29025366016 (27.03 GB)
DFS Used: 49152 (48 KB)
Non DFS Used: 4240609280 (3.95 GB)
DFS Remaining: 24784707584 (23.08 GB)
DFS Used%: 0.00%
DFS Remaining%: 85.39%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Thu Dec 04 19:40:21 CST 2014
问题:
# hadoop fs -ls /
14/12/09 19:43:06 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
#
原因是hadoop-2.6.0.tar.gz安装包是在32位机器上编译的,64位的机器加载本地库.so文件时出错,不影响使用。
解决:
1、重新编译源码后将新的lib/native替换到集群中原来的lib/native
2、修改hadoop-env.sh ,增加
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib:$HADOOP_PREFIX/lib/native"
很好的文章,谢谢楼主,分享学习了
很好的文章,谢谢楼主,分享学习了 {:soso_e100:} 完全按照楼主说的,步步走下来了。但是在start-all.sh出现了问题。明明在sbin下为什么不能执行呢?用chmod 777 /home/hadoop/hadoop-2.6.0/sbin/start-all.sh修改了权限,仍旧不行。{:soso_e109:}
babyLiyuan 发表于 2014-12-14 15:19
完全按照楼主说的,步步走下来了。但是在start-all.sh出现了问题。明明在sbin下为什么不能执行呢?用chmod...
这样写
./start-all.sh或则
配置下环境变量第一步:vi /etc/environment
第二步:添加如下内容:记得如果你的路径改变了,你也许需要做相应的改变。
http://www.aboutyun.com/data/attachment/forum/201405/12/191554b4i1nnoi10tuecdx.png
howtodown 发表于 2014-12-14 16:00
这样写
或则
非常感谢,不能执行的问题解决了。但是又出现了新的问题,好像是有关ssh的。
我检查了下ssh,伪分布式也就是自己连自己,可以正常连接。
百度了下有关的错误,没有找到合适的解决方案{:soso_e109:}
babyLiyuan 发表于 2014-12-14 16:48
非常感谢,不能执行的问题解决了。但是又出现了新的问题,好像是有关ssh的。
ssh localhost试一下。
详细参考这个文档:
linux(ubuntu)ssh无密码互通、相互登录高可靠文档
desehawk 发表于 2014-12-14 17:13
ssh localhost试一下。
详细参考这个文档:
可以的。应该问题不是出在ssh上。
babyLiyuan 发表于 2014-12-14 18:50
可以的。应该问题不是出在ssh上。
贴出hosts看一下。