好久没有写博客了……!
这里总结一下Hadoop安装过程中的一些问题,像如何安装JDK、ssh、下载Hadoop这里我就不提了,网上已经烂大街了。
伪分布式的相关配置
hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0_131
yarn-env.sh
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/java/jdk1.8.0_131
配置文件:core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>
配置文件:hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/hdfs/name</value>
<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hdfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
</configuration>
配置文件:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置文件:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置完成之后执行:
./bin/hdfs namenode –format (首次执行 不需要多次执行)
然后启动 ./sbin/start-dfs.sh
这个时候 使用jps查看进程(如果没有按照提示安装)
此时应该有四个:
SecondaryNameNode
Jps
DataNode
NameNode
如果此时没有NameNode,可以这样解决:
首先执行 ./sbin/stop-all.sh
然后根据core-site.xml中的hadoop.tmp.dir 的值,这里我的是/usr/local/hadoop/tmp,将目录底下的文件夹删掉,然后重新执行./bin/hdfs namenode –format 然后启动 ./sbin/start-dfs.sh
正常之后,可以执行./sbin/start-yarn.sh
这个时候 使用jps可以看到两个新的进程名:
NodeManager 和ResourceManager 如果没有ResourceManager ,可以重新启动(反正我是这样解决的)。
上面弄好之后,可以运行个代码试试,这里使用Hadoop自带的wordcount,就是单词计数
首先创建
因为是伪分布式,跑代码的时候Hadoop是从HDFS中读取文件数据的,所以需要将创建的两个文件上传到HDFS中,(参考:http://daixuan.blog.51cto.com/5426657/1745781
http://blog.csdn.net/wang_zhenwei/article/details/47444335)
这样就可以啦!
可以登录localhost:50070查看HDFS的web页面!
OK了!