本篇是基於上一篇,ubuntu 安裝hadoop單機版基礎上的
1、配置core-site.xml
/usr/local/hadoop/etc/hadoop/core-site.xml 包含了hadoop啟動時的配置信息。
編輯器中打開此文件
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml
在該文件的<configuration></configuration>之間增加如下內容:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
保存、關閉編輯窗口。
2、yarn-site.xml
/usr/local/hadoop/etc/hadoop/yarn-site.xml包含了MapReduce啟動時的配置信息。
編輯器中打開此文件
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml
在該文件的<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>
保存、關閉編輯窗口
3、創建mapred-site.xml
默認情況下,/usr/local/hadoop/etc/hadoop/文件夾下有mapred.xml.template文件,我們要復制該文件,並命名為mapred.xml,該文件用於指定MapReduce使用的框架。
首先進入/usr/local/hadoop/etc/hadoop/ 目錄
cd /usr/local/hadoop/etc/hadoop/
復制並重命名
cp mapred-site.xml.template mapred-site.xml
編輯器打開此新建文件
sudo gedit mapred-site.xml
在該文件的<configuration></configuration>之間增加如下內容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
保存、關閉編輯窗口
4、配置hdfs-site.xml
/usr/local/hadoop/etc/hadoop/hdfs-site.xml用來配置集群中每台主機都可用,指定主機上作為namenode和datanode的目錄。
首先創建文件夾
cd /usr/local/hadoop/
mkdir hdfs
mkdir hdfs/data
mkdir hdfs/name
你也可以在別的路徑下創建上圖的文件夾,名稱也可以與上圖不同,但是需要和hdfs-site.xml中的配置一致。
編輯器打開hdfs-site.xml
sudo gedit /usr/local/hadoop/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:/usr/local/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/hdfs/data</value>
</property>
保存、關閉編輯窗口
5、格式化hdfs
hdfs namenode -format
只需要執行一次即可,如果在hadoop已經使用后再次執行,會清除掉hdfs上的所有數據
6、啟動hadoop
首先進入 /usr/local/hadoop/目錄
cd /usr/local/hadoop/
經過上文所描述配置和操作后,下面就可以啟動這個單節點的集群
執行啟動命令:
sbin/start-dfs.sh
執行該命令時,如果有yes /no提示,輸入yes,回車即可。
接下來,執行:
sbin/start-yarn.sh
執行完這兩個命令后,Hadoop會啟動並運行
瀏覽器打開 http://localhost:50070/,會看到hdfs管理頁面
瀏覽器打開http://localhost:8088,會看到hadoop進程管理頁面
7、wordcount測試
首先進入 /usr/local/hadoop/目錄
cd /usr/local/hadoop/
dfs上創建input目錄
bin/hadoop fs -mkdir -p input
把hadoop目錄下的README.txt拷貝到dfs新建的input里
hadoop fs -copyFromLocal README.txt input
運行WordCount
hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.0-sources.jar org.apache.hadoop.examples.WordCount input output
執行完成后查看結果
hadoop fs -cat output/*
