Course
以下套件為本次安裝過程中會使用到的部分 :
Master
、 Datanode1
、 Datanode2
、 Datanode3
。本安裝過程皆以 fully-distributed operation 為主,如果要 standalone operation 或 pseudo-distributed operation 請參考 此處 。
所有主機
vim
或其他文字編輯器。$ ssh localhost
連到本機,但需要輸入密碼。ssh-keygen
產生各節點的公、私鑰。$ ssh localhost
就可以無密碼登入了。Master
, Datanode1 虛擬機叫 Datanode1
,以此類推。/etc/hosts
文件中映射到其他節點的 ip 。Datanode1
、 Datanode2
、 Datanode3
、 Master
都要修改 /etc/hosts
。ping
應該都要有回應,否則失敗。Master 主機
Master
可以不用密碼的從 ssh 登入,故將 Master
的公鑰傳至其他節點 (Datanode1
、 Datanode2
、 Datanode3
都要)。Datanode1
並將公鑰加入 authorized_keys
,其他節點照做。Master
就可以無密碼登入至其他節點。所有主機
~/.bashrc
的第一列加入下列變數。$ source ~/.bashrc
來使環境變數生效。Master 主機
/usr/local/
,先下載 Hadoop 3.2.0 到 ~/Downloads
。/usr/local/
後再更改 owner 。/usr/local/hadoop/etc/hadoop
路徑下的五個配置文件 : workers
、 core-site.xml
、 hdfs-site.xml
、 mapred-site.xml
、 yarn-site.xml
。
在 workers
加入所有 DataNode 的 host name :
如果 NameNode 本身也是 DataNode ,也需要在此加入 Master
。
對 core-site.xml
加入以下配置 :
fs.defaultFS
是預設的 NameNode 的 URL ,在此為 Master
。
對 hdfs-site.xml
加入以下配置 :
dfs.replication
意指有多少的 DataNode 節點。
對 mapred-site.xml
加入以下配置 :
HADOOP_MAPRED_HOME
為 hadoop 的目錄,如果不設定會無法執行 MapReduce 應用,稍後會加入此環境變數。
對 yarn-site.xml
加入以下配置 :
Master
上的 /usr/local/hadoop
資料夾複製到其他節點。Master 主機
~/.bashrc
內加入其他變數,需要加在 $JAVA_HOME
後面 :$ source ~/.bashrc
來啟用變數。yarn
資源管理 :在各節點下命令 $ jps
應該會看到目前有啟用的 hadoop daemon 。
在 Master
上應該看到 :
在 Datanode1
、 Datanode2
、 Datanode3
應該看到 :
成功之後,應該可以透過 Master
的瀏覽器連線到 http://localhost:9870
看到 hadoop 的管理介面。
若要連線到 YARN 的 ResourceManager 介面,可以連線到 http://master:8088
。
要停止 hadoop ,可以下 $ stop-all.sh
命令。
hadoop 3.1.1 安裝教程
hadoop 集群配置教程
hadoop cluster setup
hdfs command
hadoop shell command
這裡會使用最簡單的 WordCount.java
程式來執行 MapReduce 。
HADOOP_CLASSPATH
環境變數至 ~/.bashrc
並啟用。WordCount.java
檔案 :WordCount.java
:HADOOP_COM.SUN.TOOLS.JAVAC.MAIN_OPTS: bad substitution
的錯誤,不過還是能產生 class 檔。WordCount*.class
合成一個 jar 檔,名為 wc.jar
:testfile
與 testfile2
,並將其放入 HDFS 的 input
。$ hadoop fs -ls /user/hadoop/input
應該會看到兩個檔案。WordCount
:$hadoop fs -ls /user/hadoop/output
來確認 MapReduce 結果是否成功,若有 _SUCCESS
則表示成功。$ hadoop fs -cat /user/hadoop/output/part-r-00000
來查看結果。MapReduce Tutorial
IT hadoop 鐵人競賽
MapReduce Hadoop Multiple Input
/usr/local
底下。~/.bashrc
來加入 Spark 與 HADOOP_CONF_DIR 的環境變數,記得 soruce ~/.bashrc
套用變數。