7 hadoop伪分布式的模式配置
伪分布式即是使用一台服务器作为namenode和datanode,下面的操作基于前文安装成功的状态下。
7.1配置core-site.xml
进入hadoop安装目录,并找到etc/hadoop/core-site.xml,此文件包含了hadoop启动时的配置信息,使用gedit打开,如图7.1-1所示。
在打开的core-site.xml文件中找到<configuration></configuration>,并在其中间加入如下内容,并保存。
<property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property>
编辑完成后如图7.1-2所示。
7.2配置yarn-site.xml
进入hadoop安装目录,并找到etc/hadoop/yarn-site.xml,此文件包含了MapReduce启动时的配置信息,同样使用gedit打开此文件,并在<configuration></configuration>之间加入如下内容。
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
编辑完成后,如图7.2-1所示为修改后的内容
7.3创建和配置mapred-site.xml
默认情况下,hadoop安装目录下的 /etc/hadoop/文件夹下有mapred-site.xml.template文件,复制该文件,并命名为mapred-site.xml,该文件用于指定MapReduce使用的框架,如图7.3-1所示,复制后的结果。
然后使用gedit打开mapred-site.xml文件,并在<configuration></configuration>之间加入如下的内容
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
修改完后,如图7.3-2所示。
7.4配置hdfs-site.xml
Hadoop安装目录下的/etc/hadoop/hdfs-site.xml文件是用来配置集群中每台主机上作为namenode和datanode的目录。首先在磁盘上创建两个文件夹,例如这里在/home/hadoop/HadoopRoot/hadoop-2.7.2/下创建了文件夹name和data用于作为namenode和datanode的存放位置,如图7.4-1所示。
使用gedit打开etc/hadoop/hdfs-site.xml,并在<configuration></configuration>之间加入如下内容。
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/HadoopRoot/hadoop-2.7.2/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/HadoopRoot/hadoop-2.7.2/data</value> </property>
如图7.4-2所示,为修改后的内容
7.5格式化hdfs
打开终端,进入到hadoop目录下的bin目录,使用命令hdfs namenode -format,对对结点进行格式化,如图7.5-1所示。
7.6启动Hadoop
经过上文所描述配置和操作后,下面就可以启动这个单节点的集群,进入到hadoop目录下sbin目录,依次执行start-dfs.sh,和 start-yarn.sh 如图7.6-1和7.6-2所示。
在终端输入jps命令,可以看到当前与hadoop有关的进程,如图7.6-3所示。
打开浏览器输入http://localhost:50070/,如图7.6-4可以看到hdfs的管理页面。
打开浏览器输入http://localhost:8088 ,如图7.6-5可以看到hadoop的进程管理页面。
7.7 WordCount验证
不同于前面所用的Wordcount验证,这里将会在dfs中创建并使用文件。
进入到hadoop安装目录中,并使用hadoop的命令创建一个input文件夹,并将LICENSE.txt文件拷贝到input目录中,如图7.7-1和7.7-2所示的操作。命令 hadoop fs -mkdir input
命令hadoop fs -copyFromLocal ../README.txt input
输入下面的命令(注意执行此命令前应当cd到hadoop的目录中,下面命令中的参数share/……是相对于hadoop的安装目录的,当然你也可以使用绝对路径)。hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.2-sources.jar org.apache.hadoop.examples.WordCount input output ,执行结果如图7.7-3所示(如果出现终端闪退的问题,请参考//www.youranshare.com/push/topics/softuse/617.html 重新进入后需要重启hadoop,如果依然闪退,请重启一下系统)。
执行完成之后使用命令hadoop fs -cat output/* 可以查看一下之前执行的结果,如图7.7-4所示。
至此一个伪分布式的hadoop已经搭建完毕。