hadoop 1.0.3 (也很老的版本了)
环境2:
CentOS 6.5 (2013.12月发布)
hadoop 2.5.1 (2014.9月发布)
export JAVA_HOME=/usr/java/jdk1.7.0_71
mkdir ~/.ssh chmod 700 ~/.ssh mv ~/master_key ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
<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>
$bin/hadoop namenode –format
$ bin/start-all.sh
运行jps命令来查看启动状态
遇到的问题:
1.一开始我下的jdk1.7的rpm安装包.使用rpm安装完后由于未设置环境变量执行java提示找不到命令,但在/usr/java目录下存在了,设置好环境变量后,执行java报错
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
出现原因:
JAVA_HOME/lib中的tools.pack没有被解压成tools.jar
JAVA_HOME/jre/lib中的rt.pack没有被解压成rt.jar
解决方法:
使用JAVA_HOME/lib中的unpack200工具进行解压.
把x.pack解压为y.ja命令为:unpack200 x.pack y.jar
2.启动hadoop后,运行jps查看,发现就只有一个jps,其他NameNode、DataNode等全都没有
查看log目录下的以log后缀的文件发现有报错:
internal error: SHA-1 not available.
暂时不知道什么原因引起的,打算换个jdk版本试试,于是下了jdk1.8
配置好环境变量后运行java又报错:
cannot restore segment prot after reloc: Permission denied
网上搜了下,发现是SELinux引起的,于是把SELinux给disabled了
由于改错了地方重启后进不去系统了...详见http://blog.csdn.net/prstaxy/article/details/40835709
3.在环境2下搭建时,由于hadoop用的最新版本2.5.1,其目录结构有些不同
conf/hadoop-env.sh文件目录变成了conf/hadoop/hadoop-env.sh文件
start-all.sh脚本也已经不在bin目录下,而在sbin目录下了
另外,sbin/start-all.sh和sbin/stop-all.sh已经不推荐使用
sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
sbin/stop-all.sh
This script is Deprecated. Instead use stop-dfs.sh and stop-yarn.sh