5、伪分布式环境搭建
5.1.设定*-site.xml
这里需要设定4个文件:core-site.xml,hdfs-site.xml,mapred-site.xml和yarn-site.xml.都在/opt/Hadoop-2.5.1/etc/hadoop/目录下
core-site.xml: Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。
hdfs-site.xml: Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。
mapred-site.xml: MapReduce 守护进程的配置项,包括jobtracker和tasktracker。
yarn-site.xml: Yarn 框架用于执行MapReduce 处理程序
首先在hadoop目录下新建几个文件夹
~$ mkdir tmp
~$ mkdir -p hdfs/name
~$ mkdir -p hdfs/data
接下来编辑那4个文件(IP地址处我填了我的局域网IP:192.168.1.135,根据需要填写自己主机的IP或者直接用localhost):
core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.135:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.5.1/tmp</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/uopt/hadoop-2.5.1/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/hadoop-2.5.1/hdfs/data</value>
</property>
</configuration>
上述路径都需要自己手动用mkdir创建(开头就已经创建了),具体位置也可以自己选择,其中dfs.replication的值建议配置为与分布式 cluster 中实际的 DataNode 主机数一致,在这里由于是伪分布式环境所以设置其为1。
mapred-site.xml(这个文件默认不存在,但是存在其模板文件mapred-site.xml.template,copy一份就行了):
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>Yarn</value>
</property>
</configuration>
请注意这里安装的2.5.1版本,2.*版本较1.*版本改动很大,主要是用Hadoop MapReduceV2(Yarn) 框架代替了一代的架构,其中JobTracker 和 TaskTracker 不见了,取而代之的是 ResourceManager, ApplicationMaster 与 NodeManager 三个部分,而具体的配置文件位置与内容也都有了相应变化。所以我们在mapred-site.xml中设置了处理map-reduce的框架Yarn,接下来就需要在yarn-site.xml中配置ResourceManager, ApplicationMaster 与 NodeManager。
yarn-site.xml:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>Yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>Yarn.resourcemanager.address</name>
<value>192.168.1.135:18040</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>Yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.135:18030</value>
</property>
<property>
<description>The address of the RM web application.</description>
<name>Yarn.resourcemanager.webapp.address</name>
<value>192.168.1.135:18088</value>
</property>
<property>
<description>The address of the resource tracker interface.</description>
<name>Yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.135:8025</value>
</property>
</configuration>
5.2.格式化HDFS
通过以上步骤,我们已经设定好Hadoop单机测试到环境,接着就是启动Hadoop到相关服务,格式化namenode,secondarynamenode,tasktracker:
~$ /opt/hadoop-2.5.1/bin/hadoop namenode -format
如上图表示格式化成功。
5.3.启动Hadoop
接着执行start-all.sh来启动所有服务,包括namenode,datanode,start-all.sh脚本用来装载守护进程。
/opt/hadoop-2.5.1/sbin$ ./start-all.sh #2.5.1版推荐使用start-dfs.sh和start-yarn.sh来启动
用Java的jps命令列出所有守护进程来验证安装成功
/opt/hadoop-2.5.1/bin$ jps
出现如下列表,表明成功
5.4.检查运行状态
所有的设置已完成,Hadoop也启动了,现在可以通过下面的操作来查看服务是否正常,在Hadoop中用于监控集群健康状态的Web界面(填写自己的IP):
:50070 #dfs运行状态
:8088 #resource manager运行状态