Presentation is loading. Please wait.

Presentation is loading. Please wait.

王耀聰 陳威宇 國家高速網路與計算中心(NCHC)

Similar presentations


Presentation on theme: "王耀聰 陳威宇 國家高速網路與計算中心(NCHC)"— Presentation transcript:

1 王耀聰 陳威宇 jazz@nchc.org.tw waue@nchc.org.tw 國家高速網路與計算中心(NCHC)
Hadoop 叢集安裝設定解析 王耀聰 陳威宇 國家高速網路與計算中心(NCHC)

2 Hadoop Package Topology
資料夾 說明 bin / 各執行檔:如 start-all.sh 、stop-all.sh 、 hadoop conf / 預設的設定檔目錄:設定環境變數 hadoop-env.sh 、各項參數 hadoop-site.conf 、工作節點 slaves。(可更改路徑) docs / Hadoop API 與說明文件 ( html & PDF) contrib / 額外有用的功能套件,如:eclipse的擴充外掛、Streaming 函式庫 。 lib / 開發 hadoop 專案或編譯 hadoop 程式所需要的所有函式庫,如:jetty、kfs。但主要的hadoop函式庫於hadoop_home src / Hadoop 的原始碼。 build / 開發Hadoop 編譯後的資料夾。需搭配 ant 程式與build.xml logs / 預設的日誌檔所在目錄。(可更改路徑)

3 設定檔:hadoop-env.sh 設定Linux系統執行Hadoop的環境參數 export xxx=kkk # string…
將kkk這個值匯入到xxx參數中 # string… 註解,通常用來描述下一行的動作內容 # The java implementation to use. Required. export JAVA_HOME=/usr/lib/jvm/java-6-sun export HADOOP_HOME=/opt/hadoop export HADOOP_LOG_DIR=$HADOOP_HOME/logs export HADOOP_SLAVES=$HADOOP_HOME/conf/slaves ……….

4 設定檔: hadoop-site.xml (0.18)
<property> <name> mapred.map.tasks</name> <value> 1</value> <description> define mapred.map tasks to be number of slave hosts </description> </property> <name> mapred.reduce.tasks</name> <description> define mapred.reduce tasks to be number of slave hosts </description> <name> dfs.replication</name> <value> 3</value> </configuration> <configuration> <property> <name> fs.default.name</name> <value> hdfs://localhost:9000/</value> <description> … </description> </property> <name> mapred.job.tracker</name> <value> localhost:9001</value> <description>… </description> <name> hadoop.tmp.dir </name> <value> /tmp/hadoop/hadoop-${user.name} </value> <description> </description>

5 設定檔:hadoop-default.xml (0.18)
沒在hadoop.site.xml設定的話就會用此檔案的值 更多的介紹參數:

6 Hadoop 0.18 到 0.20 的轉變 core-site.xml hadoop-site.xml
mapreduce-core.xml hdfs-site.xml src/core/core-default.xml hadoop-site.xml src/mapred/mapred-default.xml src/hdfs/hdfs-default.xml

7 設定檔: core-site.xml (0.20) 詳細 hadoop core 參數,
<configuration> <property> <name> fs.default.name</name> <value> hdfs://localhost:9000/</value> <description> … </description> </property> <name> hadoop.tmp.dir </name> <value> /tmp/hadoop/hadoop-${user.name} </value> <description> … </description> 詳細 hadoop core 參數, 請參閱 7 7

8 設定檔: mapreduce-site.xml (0.20)
<configuration> <property> <name> mapred.job.tracker</name> <value> localhost:9001</value> <description>… </description> </property> <name> mapred.map.tasks</name> <value> 1</value> <description> … </description> <property> <name> mapred.reduce.tasks</name> <value> 1</value> <description> … </description> </property> </configuration> 詳細 hadoop mapreduce 參數, 請參閱 8

9 設定檔: hdfs-site.xml (0.20) 詳細 hadoop hdfs 參數,
<configuration> <property> <name> dfs.replication </name> <value> 3</value> <description>… </description> </property> <name> dfs.permissions </name> <value> false </value> <description> … </description> </configuration> 詳細 hadoop hdfs 參數, 請參閱 9

10 設定檔: slaves 給 start-all.sh , stop-all.sh 用
被此檔紀錄到的節點就會附有兩個身份: datanode & tasktracker 一行一個hostname 或 ip …. Pc101 Pc152

11 設定檔: masters 給 start-*.sh , stop-*.sh 用 會被設定成 secondary namenode 可多個
…. Pc101

12 常用設定值一覽表 描述名稱 設定名稱 所在檔案 JAVA安裝目錄 hadoop-env.sh HADOOP家目錄 設定檔目錄 日誌檔產生目錄
JAVA_HOME hadoop-env.sh HADOOP家目錄 HADOOP_HOME 設定檔目錄 HADOOP_CONF_DIR 日誌檔產生目錄 HADOOP_LOG_DIR HADOOP工作目錄 hadoop.tmp.dir hadoop-site.xml JobTracker mapred.job.tracker Namenode fs.default.name TaskTracker (hostname) slaves Datanode 第二Namenode masters 其他設定值 詳可見hadoop-default.xml 常用設定值一覽表

13 控制 Hadoop 的指令 格式化 全部開始 ( 透過 SSH ) 全部結束 ( 透過 SSH ) 獨立啟動/關閉( 不會透過 SSH )
$ bin/hadoop Δ namenode Δ -format 全部開始 ( 透過 SSH ) $ bin/start-all.sh $ bin/start-dfs.sh $ bin/start-mapred.sh 獨立啟動/關閉( 不會透過 SSH ) $ bin/hadoop-daemon.sh [start/stop] namenode $ bin/hadoop-daemon.sh [start/stop] secondarynamenode $ bin/hadoop-daemon.sh [start/stop] datanode $ bin/hadoop-daemon.sh [start/stop] jobtracker $ bin/hadoop-daemon.sh [start/stop] tasktracker 全部結束 ( 透過 SSH ) $ bin/stop-all.sh $ bin/stop-dfs.sh $ bin/stop-mapred.sh

14 Hadoop 的操作與運算指令 使用hadoop檔案系統指令 使用hadoop運算功能
$ bin/hadoop Δ fs Δ -Instruction Δ … 使用hadoop運算功能 $ bin/hadoop Δ jar Δ XXX.jar Δ Main_Function Δ …

15 Hadoop 使用者指令 指令 用途 舉例 fs 對檔案系統進行操作 jar 啟動運算功能 archive 封裝hdfs上的資料
$ bin/hadoop Δ指令 Δ選項 Δ參數 Δ …. 指令 用途 舉例 fs 對檔案系統進行操作 hadoopΔfsΔ–putΔinΔinput jar 啟動運算功能 hadoopΔjarΔexample.jarΔwcΔinΔout archive 封裝hdfs上的資料 hadoopΔarchiveΔfoo.harΔ/dir Δ/user/hadoop distcp 用於叢集間資料傳輸 hadoopΔdistcpΔhdfs://nn1:9000/aa Δhdfs://nn2:9000/aa fsck hdfs系統檢查工具 hadoopΔfsckΔ/aaΔ-filesΔ-blocks Δ-locations job 操作正運算中的程序 hadoopΔ job Δ–kill ΔjobID version 顯示版本 hadoopΔversion

16 Hadoop 管理者指令 指令 用途 舉例 balancer 平衡hdfs覆載量 dfsadmin 配額、安全模式等管理員操作
$ bin/hadoop Δ指令 Δ選項 Δ參數 Δ …. 指令 用途 舉例 balancer 平衡hdfs覆載量 hadoopΔbalancer dfsadmin 配額、安全模式等管理員操作 hadoopΔdfsadminΔ –setQuotaΔ Δ/user1/ namenode 名稱節點操作 hadoopΔnamenodeΔ-format $ bin/hadoop Δ指令 datanode 成為資料節點 hadoopΔdatanode jobtracker 成為工作分派者 hadoopΔ jobtracker tasktracker 成為工作執行者 hadoopΔtasktracker

17 Yahoo’s Hadoop Cluster
~10,000 machines running Hadoop in US The largest cluster is currently 2000 nodes Nearly 1 petabyte of user data (compressed, unreplicated) Running roughly 10,000 research jobs / week Hadoop Cluster不可不會 17

18 Hadoop 單機設定與啟動 step 1. 設定登入免密碼 step 2. 安裝java step 3. 下載安裝Hadoop
step 4.1 設定 hadoop-env.sh export JAVA_HOME=/usr/lib/jvm/java-6-sun step 4.2 設定 hadoop-site.xml 設定Namenode-> hdfs://localhost:9000 設定Jobtracker -> localhost:9001 step 5.1 格式化HDFS bin/hadoop namenode -format step 5.2 啟動Hadoop bin/start-all.sh step 6. 完成!檢查運作狀態 Job admin HDFS 18

19 Hadoop 單機環境示意圖 Node 1 Localhost Namenode JobTracker Datanode
conf /hadoop-site.xml: fs.default.name -> hdfs://localhost:9000 mapred.job.tracker -> localhost:9001 Namenode localhost:50070 JobTracker localhost:50030 conf/slaves: Datanode Tasktracker localhost 19

20 Hadoop 叢集設定與啟動 step 4.2 設定 hadoop-site.xml step 4.3 設定slaves 檔
step 2. 安裝java step 3. 下載安裝Hadoop step 4.1 設定 hadoop-env.sh export JAVA_HOME=/usr/lib/jvm/java-6-sun step 4.2 設定 hadoop-site.xml 設定Namenode-> hdfs://x.x.x.1:9000 設定Jobtracker -> x.x.x.2:9001 step 4.3 設定slaves 檔 step 4.4 將叢集內的電腦Hadoop都做一樣的配置 step 5.1 格式化HDFS bin/hadoop namenode -format step 5.2 啟動Hadoop nodeN執行: bin/start-dfs.sh ; nodeJ執行: bin/start-mapred.sh step 6. 完成!檢查運作狀態 Job admin HDFS 20

21 情況一 Node 1 Node 2 x.x.x.1 Namenode JobTracker x.x.x.2 Datanode
conf / hadoop-site.xml: x.x.x.1 fs.default.name -> hdfs://x.x.x.1:9000 mapred.job.tracker -> x.x.x.1:9001 Namenode JobTracker Node 2 x.x.x.2 conf/slaves: Datanode Tasktracker Datanode Tasktracker x.x.x.1 x.x.x.2 21

22 情況二 Node 1 Node 2 x.x.x.1 x.x.x.2 Namenode JobTracker Datanode
conf / hadoop-site.xml: x.x.x.1 x.x.x.2 fs.default.name -> hdfs://x.x.x.1:9000 mapred.job.tracker -> x.x.x.2:9001 Namenode JobTracker conf/slaves: Datanode Tasktracker Datanode Tasktracker x.x.x.1 x.x.x.2 22

23 情況三 … Node 1 Node 2 Node N Namenode JobTracker x.x.x.2 x.x.x.n
conf / hadoop.site.xml: Node 1 x.x.x.1 fs-default.name -> hdfs://x.x.x.1:9000 mapred.job.tracker -> x.x.x.1:9001 Namenode JobTracker Node 2 Node N conf/slaves: x.x.x.2 x.x.x.n x.x.x.2 ….. x.x.x.n Datanode Tasktracker Datanode Tasktracker 23

24 情況四 conf / hadoop-site.xml: mapred.job.tracker-> x.x.x.2:9001
fs.default.name -> hdfs://x.x.x.1:9000 conf/slaves: x.x.x.3 ……. x.x.x.n 24


Download ppt "王耀聰 陳威宇 國家高速網路與計算中心(NCHC)"

Similar presentations


Ads by Google