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的僞分佈式模式的配置和測試已經全部成功!