hadoop实战基础篇(三)

来源:互联网 发布:linux tesseract yum 编辑:程序博客网 时间:2024/06/03 13:50

配置hadoop伪分布模式

软件信息:

hadoop 2.5.2

  jdk1.7

      redhat 6.2

所有操作都是在root用户权限下完成,因为新建普通用户赋予root用户权限时,一直不能操作/etc/下的文件,这个问题没有解决,所以迫不得已。


上一篇中,我们配置好了hadoop的单机模式,下面在单机模式的基础上配置伪分布模式,伪分布模式在“单节点集群”上运行hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况、HDFS输入输出,以及其他的守护进程交互。

需要配置的文件都在/usr/local/hadoop/etc/hadoop文件夹下
# cd /usr/local/hadoop/etc/hadoop

1.配置core-site.xml

<span style="white-space:pre"></span># gedit core-site.cml<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span>
</pre><span style="white-space:pre"></span><p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; color: rgb(51, 51, 51); font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px;"><span style="font-size:12px;"><span style="white-space:pre"></span>在该文件的<configuration></configuration>之间增加:</span><span style="font-size:12px;"></span></p><p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; color: rgb(51, 51, 51); font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px;"><span style="font-size:12px;"><span style="white-space:pre"></span></span></p><pre name="code" class="html"> <span style="white-space:pre"></span><property>        <name>fs.default.name</name>        <value>hdfs://localhost:9000</value>    </property>
保存退出

2.配置hdfs-site.xml

这里需要自己手动创建name和data文件夹,位置可以自己选

<span style="white-space:pre"></span># mkdir -p hdfs/name<span style="white-space:pre"></span># mkdir hdfs/data

我们在/usr/local/hadoop/etc/hadoop/下新建hdfs文件夹,又在hdfs文件夹下新建name和data文件夹

# gedit hdfs-site.xml

在该文件的<configuration></configuration>之间增加:
<span style="white-space:pre"></span> <property>        <span style="white-space:pre"></span><name>yarn.nodemanager.aux-services</name>       <span style="white-space:pre"></span><span style="white-space:pre"></span> <value>mapreduce_shuffle</value>   <span style="white-space:pre"></span></property>   <span style="white-space:pre"></span> <property>      <span style="white-space:pre"></span> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>        <span style="white-space:pre"></span><value>org.apache.hadoop.mapred.ShuffleHandler</value>   <span style="white-space:pre"></span> </property>
保存退出

3.配置yarn-site.xml

<span style="white-space:pre"></span># gedit yarn-site.xml

在该文件的<configuration></configuration>之间增加:

<span style="white-space:pre"></span><property>        <span style="white-space:pre"></span><name>yarn.nodemanager.aux-services</name>        <span style="white-space:pre"></span><value>mapreduce_shuffle</value><span style="white-space:pre"></span>    <span style="white-space:pre"></span></property>    <span style="white-space:pre"></span><property>        <span style="white-space:pre"></span><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>        <span style="white-space:pre"></span><value>org.apache.hadoop.mapred.ShuffleHandler</value>    <span style="white-space:pre"></span></property>

保存退出


4.配置mapred-site.xml

默认该文件夹下没有该文件,拷贝mapred-site.xml.template ,重命名为mapred-site.xml

<span style="white-space:pre"></span># cp mapred-site.xml.template mapred-site.xml
<span style="white-space:pre"></span># gedit mapred-site.xml

在该文件的<configuration></configuration>之间增加:

<span style="white-space:pre"></span><property>      <span style="white-space:pre"></span> <span style="white-space:pre"></span> <name>mapreduce.framework.name</name>       <span style="white-space:pre"></span> <value>yarn</value>  <span style="white-space:pre"></span> </property>


5.启动

现在几乎已经准备好了启动hadoop,但还是先要格式化HDFS:

<span style="white-space:pre"></span># hadoop namenode -format

查看输出信息,如果出现

<span style="font-size:14px;"><span style="white-space:pre"></span>Storage directory /usr/local/hadoop/etc/hadoop/hdfs/name has been successfully formatted</span>
就说明成功了。

我们可以使用start-all.sh脚本装在守护进程,然后用java的jps命令列出所有守护进程来验证是否安装成功。

<span style="white-space:pre"></span># start-all.sh
<span style="white-space:pre"></span># jps
不出意外的话,会显示hadoop一些节点信息。

但是我使用jps命令后显示 command not found错误,后面查看了/etc/profile配置的jdk路径也没错,到jdk的安装路径中的bin目录下可以用./jps成功显示hadoop启动信息,最后实在没办法,在/usr/bin下建立一个jps的软连接:

<span style="white-space:pre"></span># ln -s /usr/java/jdk1.7.0_75/bin/jps /usr/bin/jps
然后jps命令可用。

浏览器打开http://localhost:50070,http://localhost:8088,会看到hdfs管理界面和hadoop进程管理界面。

当结束hadoo时,可以通过stop-all.sh脚本来关闭hadoop守护进程

<span style="white-space: pre;"></span><span style="font-size: 14px;"># stop-all.sh</span>


单机模式和伪分布模式均用于开发与调试的目的。真实Hadoop集群的运行采用的是第三种模式,即全分布模式。



0 0
原创粉丝点击