hadoop单机转伪分布笔记
<!--@page { margin: 2cm }PRE.cjk { font-family: "文泉驿微米黑", monospace }P { margin-bottom: 0.21cm }-->
一、伪分布(Pseudo-Distributed)与分布式(Fully-Distributed)的区别
????我们知道,hadoop是运行在一个网络集群中的软件。在这个集群中,有master节点(一个逻辑上的节点包括二台物理节点),也有node节点(包括多台namenode节点和datanode节点)。也就是说,一个分布式hadoop程序的测试与运行,必须有多台主机的参与。那么,这就为编写软件带来了极大的不便。在这样的状况下,hadoop推出了伪分布的概念。
????简单的讲,伪分布便是在一台主机上运行hadoop程序。其中的各个节点功能,均由java进程完成。在伪分布的环境下,实际上还是一台主机在进行代码执行和计算功能。
?
二、伪分布的配置
在完成单机版配置的情况下,进行以下配置:
1)配置conf/core-site.xml文件:
</configuration>
<property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property></configuration>配置hadoop文件系统(File System)的URL路径,同时指定默认的端口90002)配置conf/hdfs-site.xml文件:
<configuration>
<property>
<name>dfs.tem.dir</name>
<value>/home/tangli/hadoop/tem</value>
</property>
?
<property>
<name>dfs.name.dir</name>
<value>/home/tangli/hadoop/name</value>
</property>
?
<property>
<name>dfs.data.dir</name>
<value>/home/tangli/hadoop/data</value>
</property>
?
?
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
?
</configuration>
前三项分别配置伪分布运行下的缓冲文件目录地址,namenode文件目录地址,datanode文件目录地址,其值自定义设定。最后一项配置数据备份数量,可以任设,建议1~3。
注:0.23.0版本以后的配置文件都在share/hadoop/common/templates/conf目录之下。
?
3)配置conf/mapred-site.xml文件:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
?
</configuration>
配置JobTraker地址(端口)
?
?
三、格式化HDFS(很重要):
进入hadoop所在目录,运行命令:
$sudo bin/hadoop namenode -format
?
四、启动hadoop监护程序,即启动伪分布下的hadoop:
$bin/start-all.sh
在启动监护程序之后,执行命令$jps ,会至少显示以下5项内容:
NameNode 、SecondaryNameNode、JobTracker、TaskTracker、DataNode、Jps
?
?????常见错误是缺少NameNode或者是DataNode。若缺少,请检查conf/hdfs-site.xml文件是否配置正确,若错误,修改后重新格式化HDFS。或者是权限错误,检查namenode文件目录地址,datanode文件目录地址,若该目录图标上有小锁,表示当前用户无目录权限,请重新赋予正确权限。
?
五、停止hadoop监护程序
$bin/stop-all.sh