hadoop的伪分布式模式的配置主要是配置几个xml文件:
说明:在正式开始配置xml文件之前,需要创建一些目录,方法如下:
cd /usr/local/hadoop/hadoop-2.6.0
mkdir tmp
mkdir hdfs
mkdir hdfs/name
mkdir hdfs/data
在终端执行上述命令后,进行hadoop相关文件的配置,配置的详细步骤如下:
(1)配置core-site.xml(主要是配置hdfs的地址和端口号,该配置文件是hadoop的核心配置文件)
在终端打开该文件,在<configuration></configuration>标签内部加入如下内容:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-2.6.0/tmp</value>
</property>
加入后,保存退出,记得source下该文件。
(2)配置hdfs-site.xml(配置replication)
在终端打开该文件,在<configuration></configuration>标签内部加入如下内容:
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/hadoop-2.6.0/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hadoop-2.6.0/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
加入后,保存退出,记得source下该文件。
(3)配置mapred-site.xml(主要是配置jobtracker的地址和端口号,jobtracker负责task的调度)
在终端打开该文件,在<configuration></configuration>标签内部加入如下内容:
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
加入后,保存退出,记得source下该文件。
ok,截止到这里,hadoop的伪分布式模式的配置已经基本完成!
接下来,格式化下hadoop的namenode:在终端下输入hadoop namenode -format
格式化之后,启动hadoop,在终端下进入到hadoop根目录,之后输入./sbin/start-all.sh启动后,使用java自带的jps命令查看当前系统中所有的守护进程
正常情况下,会看到jps,namenode,datanode,secondryNamenode,nodeManager等进程名字和pid。
接下来,在web页面上也可以查看hadoop的监控状态:http://localhost:50070,正常下会看到livenode为1,证明hadoop的伪分布式模式至此已全部搭建成功!
下面,需要测试一下伪分布式环境,方法如下:
(1)首先在hadoop根目录,终端执行hadoop fs -mkdir /input,用来在hdfs上创建一个目录input
(2)在终端执行hadoop fs -copyFromLocal etc/hadoop/* /input,用来将本地文件copy到hdfs上
(3)执行完(2)后,在终端执行hadoop fs -ls /input,用来查看是否将本地文件copy到hdfs上
(4)在构建的伪分布式的环境下运行wordcount程序,在终端执行hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-example-2.6.0.jar wordcount /input /output
(5)执行后,在终端输入hadoop fs -cat /output/*,此时,web页面中也能查看到该task的提交运行的结果状态
(6)测试伪分布式执行wordcount成功后,可以在终端执行./sbin/stop-all.sh来关闭hadoop
ok,至此,hadoop的伪分布式模式的配置和测试已经全部成功!