hadoop 2.0 詳細配置教程

轉載: http://www.cnblogs.com/scotoma/archive/2012/09/18/2689902.html

作者:楊鑫奇

PS:文章有部分參考資料來自網上,並經過實踐後寫出,有什麼問題歡迎大家聯繫我。

update: 20130518 

大家可以嘗試下Ambari來配置Hadoop的相關環境

快速的部署Hadoop,Hbase和Hive等並提供Ganglia和Nagios的監控功能,強烈推薦使用.

http://www.cnblogs.com/scotoma/archive/2013/05/18/3085248.html

 

Hadoop 2.0集羣配置詳細教程

前言

Hadoop2.0介紹

Hadoop是 apache 的開源 項目,開發的主要目的是爲了構建可靠,可拓展 scalable ,分佈式的系 統, hadoop 是一系列的子工程的 總和,其中包含
1. hadoop common : 爲其他項目提供基礎設施
2. HDFS :分佈式的文件系 統
3. MapReduce : A software framework for distributed processing of large data sets on compute clusters 。一個 簡化分佈式編程的框架。
4. 其他工程包含: Avro( 序列化系 統 ) , Cassandra( 數據 庫項目 ) 等  

Hadoop,以 Hadoop 分佈式文件系統( HDFS ,Hadoop Distributed Filesystem )和 MapReduce ( Google MapReduce 的開源實現)爲核心的 Hadoop 爲用戶提供了系統底層細節透明的分佈式基礎架構。
   對於 Hadoop 的集羣來講,可以分成兩大類角色: Master 和 Salve 。一個 HDFS 集羣是由一個 NameNode 和若干個 DataNode 組成的。其中 NameNode 作爲主服務器,管理文件系統的命名空間和客戶端對文件系統的訪問操作;集羣中的 DataNode 管理存 儲的數據。 MapReduce 框架是由一個 單獨運行在主節點上的 JobTracker 和 運行在每個集羣從節點的 TaskTracker 共同 組成的。主節點負責調度構成一個作業的所有任務,這些任務分佈在不同的從節點上。主節點監控它們的執行情況,並且重新執行之前的失敗任務;從節點僅負責由主節點指派的任務。當一個 Job 被提交 時, JobTracker 接收到提交作 業和配置信息之後,就會將配置信息等分發給從節點,同時調度任務並監控 TaskTracker 的 執行。
  從上面的介 紹可以看出, HDFS 和 MapReduce 共同 組成了 Hadoop 分佈式系 統體系結構的核心。 HDFS 在集羣上 實現分佈式文件系統, MapReduce 在集羣上 實現了分佈式計算和任務處理。 HDFS 在 MapReduce 任 務處理過程中提供了文件操作和存儲等支持, MapReduce 在 HDFS 的基 礎上實現了任務的分發、跟蹤、執行等工作,並收集結果,二者相互作用,完成了 Hadoop 分佈式集羣的主要任 務。

 

爲什麼要使用2.0版本(來自董的博客)

該版本提供了一些新的、重要的功能,包括: 
• HDFS HA ,當前只能 實現人工切換。
Hadoop HA 分支 merge 進了該版本,並支持熱切,主要特性包括:
( 1 )      NN 配置文件有改變,使得配置更加簡單
( 2 )      NameNode 分 爲兩種角色: active NN 與 standby NN , active NN 對外提供讀寫服務,一旦出現故障,便切換到 standby NN 。
( 3 )      支持 Client 端重定向,也就是 說,當 active NN 切 換到 standby NN 過程中, Client 端所有的 進行時操作都可以無縫透明重定向到 standby NN 上, Client 自己感 覺不到切換過程。
( 4 )      DN 同 時向 active NN 和 standby NN 彙報 block 信息。
具體 設計文檔參考: https://issues.apache.org/jira/browse/HDFS-1623
當前 Hadoop HA 只能 實現人工切換,該功能在某些情況下非常有用,比如,對 NN 進行升級時,先將 NN 切 換到 standby NN ,並 對之前的 active NN 進行升級,升級完成後,再將 NN 切 換至升級後的 NN 上,然後 對 standby NN 進行升級。

• YARN ,下一代 MapReduce 這是一套資源統一管理和調度平臺,可管理各種計算框架,包括 MapReduce 、 Spark 、 MPI 等。
YARN 是一套 資源統一管理和調度平臺,可管理各種計算框架,包括 MapReduce , Spark , MPI 等。儘管它是完全重寫而成,但其思想是從 MapReduce 衍化而來的,並克服了它在 擴展性和容錯性等方面的衆多不足。具體參考:
http://hadoop.apache.org/common/docs/r0.23.0/hadoop-yarn/hadoop-yarn-site/YARN.html
• HDFS Federation ,允 許 HDFS 中存在多個 NameNode ,且每個 NameNode 分管一部分目 錄,而 DataNode 不 變,進而縮小了故障帶來的影響範圍,並起到一定的隔離作用。
傳統 HDFS 是 master/slave 結構,其中, master (也就是 NameNode )需要存 儲所有文件系統的元數據信息,且所有文件存儲操作均需要訪問多次 NameNode ,因而 NameNode 成 爲制約擴展性的主要瓶頸所在。爲了解決該問題,引入了 HDFS Federation ,允 許 HDFS 中存在多個 NameNode ,且每個 NameNode 分管一部分目 錄,而 DataNode 不 變,也就是 “ 從中央集權 專政變爲各個地方自治 ” , 進而縮小了故障帶來的影響範圍,並起到一定的隔離作用。具體參考:
http://dongxicheng.org/mapreduce-nextgen/nextgen-mapreduce-introduction/
• 基準性能測試
該版本中爲 HDFS 和 YARN 添加了性能的基準 測試集,其中 HDFS 測試包括:
( 1 )      dfsio 基準 測試 HDFS I/O 讀寫性能
( 2 ) slive 基準 測試 NameNode 內部操作的性能
( 3 ) scan 基準 測試 MapReduce 作 業訪問 HDFS 的 I/O 性能
( 4 )      shuffle 基準 測試 shuffle 階段性能
( 5 )      compression 基準 測試 MapReduce 作 業中間結果和最終結果的壓縮性能
( 6 )      gridmix-V3 基準 測試集羣吞吐率
YARN     測試包括 :
( 1 )      ApplicationMaster 擴展性基準測試
主要 測試調度 task/container 的性能。與 1.0 版本比 較,大約快 2 倍。
( 2 )      ApplicationMaster 恢復性基準 測試
測試 YARN 重 啓後,作業恢復速度。稍微解釋一下 ApplicationMaster 恢復作 業的功能:在作業執行過程中, Application Master 會不斷地將作 業運行狀態保存到磁盤上,比如哪些任務運行完成,哪些未完成等,這樣,一旦集羣重啓或者 master 掛掉,重 啓後,可復原各個作業的狀態,並只需重新運行未運行完成的哪些任務。
( 3 )      ResourceManager 擴展性基準測試
通 過不斷向 Hadoop 集羣中添加 節點測試 RM 的 擴展性。
( 4 )      小作 業基準測試
專門測試批量小作業的吞吐率
具體參考:
http://hortonworks.com/blog/delivering-on-hadoop-next-benchmarking-performance/
• 通過 protobufs 來提供HDFS 和YARN 的兼容性
Wire-compatibility for both HDFS & YARN
Hadoop RPC採用了Hadoop自己的一套序列化框架 對 各種 對 象 進 行序列化反序列,但存在一個 問題 : 擴 展性差,很 難 添加新的數據類型同 時 保 證 版本兼容性。 爲 此,Hadoop 2.0將數據類型模 塊 從RPC中獨立出來,成 爲 一個獨立的可插拔模 塊 , 這樣 允 許 用 戶 根據個人 愛 好使用各種序列化/反序列化框架,比如thrift,arvo,protocal Buffer等,默 認 情況採用Protocal Buffer。
http://hortonworks.com/blog/rpc-improvements-and-wire-compatibility-in-apache-hadoop/
除了以上五個特性外, 還 有兩個非常重要的特性正在研 發 中,分別是:
• HDFS快照
用 戶 可在任意 時間對 HDFS做快照, 這樣 ,在HDFS出 現 故障 時 ,可將數據恢復到某個 時間 點的狀 態 。具體參考:
http://hortonworks.com/blog/snapshots-for-hdfs/
• HDFS HA自動 切換
前面介 紹 的第一個功能“HDFS HA”當前只能 實現 人工切 換 ,也就是 說 ,管理 員運 行某個命令,使得acitve NN切 換 到standby NN上。以後將支持自 動 切 換 ,也就是 說 , 監 控模 塊 可 檢測 出active NN何 時 出 現 故障,並自 動 將之切 換 到standby NN上, 這樣 可大大 較 小Hadoop集羣 運維 人 員 的工作量。具體參考:
http://s.apache.org/hdfs-autofailover

 

準備

機器準備

物理機器 總 共4臺,想配置基於物理機的hadoop集羣中包括 4 個 節點: 1 個 Master , 3 個 Salve , 節點之間局域網連接,可以相互 ping 通
Ip分佈 爲
192.168.1.201 hadoop1
192.168.1.202 hadoop2
192.168.1.203 hadoop3
192.168.1.204 hadoop4

操作系 統爲 CentOS 5.6 64bit
Master機器主要配置NameNode和JobTracker的角色, 負責總 管分佈式數據和分解任 務 的 執 行;3個Salve機器配置DataNode和TaskTracker的角色, 負責 分佈式數據存 儲 以及任 務 的 執 行。其 實應該還應該 有1個Master機器,用來作 爲備 用,以防止Master服 務 器宕機, 還 有一個 備 用 馬 上 啓 用。後 續經驗積 累一定 階 段後 補 上一臺 備 用Master機器。


創建賬戶

使用root登 陸 所有機器後,所有的機器都 創建 hadoop 用 戶
useradd hadoop
passwd hadoop

此 時 在 /home/ 下就會生成一個 hadoop 目 錄 ,目 錄 路徑 爲 /home/hadoop

創建相關的目錄

定 義 需要數據及目 錄 的存放路徑

定 義 代 碼及工具 存放的路徑
mkdir -p /home/hadoop/source
mkdir -p /home/hadoop/tools

定 義 數據 節 點存放的路徑到跟目 錄 下的hadoop文件夾, 這 裏是數據 節 點存放目 錄 需要有足夠的空 間 存放
mkdir -p /hadoop/hdfs
mkdir -p /hadoop/tmp
mkdir -p /hadoop/log
設 置可寫權限
chmod -R 777 /hadoop

定 義 java安裝程序路徑
mkdir -p /usr/java


安裝

安裝JDK

http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html
在以上 連接 下 載 linux 64 下的 jdk 的安裝文件:  jdk-6u32-linux-x64.bin
1 ,將下 載好的 jdk-6u32-linux-x64.bin 通 過 SSH 上 傳到 /usr/java 下
scp -r ./jdk-6u32-linux-x64.bin root@hadoop1:/usr/java
2 , 進入 JDK 安裝目 錄 cd /usr/java 並且 執行 chmod +x jdk-6u32-linux-x64.bin
3 , 執行 ./jdk-6u32-linux-x64.bin
4 ,配置 環境變量,執行 cd /etc 命令後 執行 vi profile ,在行末尾添加
export JAVA_HOME=/usr/java/jdk1.6.0_32
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
5 , 執行 chmod +x profile 將其 變成可執行文件
6 , 執行 source profile 使其配置立即生效
source /etc/profile
7 , 執行 java -version 查看是否安裝成功

這個步驟所有機器都必須安裝

[root@hadoop1 bin]# java -version
java version "1.6.0_32"
Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.7-b02, mixed mode)

 

修改主機名

修改主機名,所有 節點均一樣配置
1 , 連接到主節點 192.168.1.201 ,修改 network , 執行 vim /etc/sysconfig/network ,修改 HOSTNAME=hadoop1
2 ,修改 hosts 文件, 執行 cd /etc 命令後 執行 vi hosts ,在行末尾添加 :

192.168.1.201   hadoop1
192.168.1.202   hadoop2
192.168.1.203   hadoop3
192.168.1.204   hadoop4

3 , 執行 hostname hadoop1
4 , 執行 exit 後重新 連接可看到主機名以修改 OK

其他 節點 也修改主機名後添加 Host, 或者 host 文件可以在後面 執行 scp 覆蓋操作


配置SSH無密碼登陸

SSH 無密 碼原理簡介 :
首先在 hadoop1 上生成一個密 鑰對,包括一個公鑰和一個私鑰,並將公鑰複製到所有的 slave(hadoop2-hadoop4) 上。
然後當 master 通 過 SSH 連接 slave 時, slave 就會生成一個隨機數並用 master 的公 鑰對隨機數進行加密,併發送給 master 。
最後 master 收到加密數之後再用私 鑰解密,並將解密數回傳給 slave , slave 確 認解密數無誤之後就允許 master 不 輸入密碼進行連接了

2 ,具體步 驟(在root用戶和hadoop用戶登陸情況下執行)
1 、 執行命令 ssh-keygen -t rsa 之後一路回 車,查看剛生成的無密碼鑰對: cd .ssh 後 執行 ll
2 、把 id_rsa.pub 追加到授權的 key 裏面去。 執行命令 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
3 、修改權限: 執行 chmod 600 ~/.ssh/authorized_keys
4 、確保 cat /etc/ssh/sshd_config 中存在如下內容

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
如需修改, 則在修改後執行重啓 SSH 服 務命令使其生效 :service sshd restart

5 、將公 鑰複製到所有的 slave 機器上 :scp ~/.ssh/id_rsa.pub 192.168.1.203 : ~/    然後 輸入 yes ,最後 輸入 slave 機器的密 碼
6 、在 slave 機器上 創建 .ssh 文件夾 :mkdir ~/.ssh 然後 執行 chmod 700 ~/.ssh (若文件夾以存在 則不需要創建)
7 、追加到授權文件 authorized_keys 執行命令 :cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 然後 執行 chmod 600 ~/.ssh/authorized_keys
8 、重複第 4 步
9 、 驗證命令 : 在 master 機器上 執行 ssh 192.168.1.203 發現主機名由 hadoop1 變成 hadoop3 即成功,最後 刪除 id_rsa.pub 文件 :rm -r id_rsa.pub
按照以上步 驟分別配置 hadoop1,hadoop2,hadoop3,hadoop4 ,要求每個都可以無密 碼登錄

源碼下載

HADOOP 版本
最新版本 hadoop-2.0.0-alpha  安裝包 爲 hadoop-2.0.0-alpha.tar.gz
下 載官網地址 :http://www.apache.org/dyn/closer.cgi/hadoop/common/
下 載到 /home/hadoop/source 目錄下
wget http://ftp.riken.jp/net/apache/hadoop/common/hadoop-2.0.0-alpha/hadoop-2.0.0-alpha.tar.gz
解壓目錄
tar zxvf hadoop-2.0.0-alpha.tar.gz

創建軟連接
cd /home/hadoop
ln -s /home/hadoop/source/hadoop-2.0.0-alpha/ ./hadoop

 

源碼配置修改

/etc/profile

配置 環境變量: vim /etc/profile
添加
export HADOOP_DEV_HOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop


創建並配置hadoop-env.sh

vim /usr/hadoop/hadoop-2.0.0-alpha/etc/hadoop/hadoop-env.sh 
在末尾添加 export JAVA_HOME=/usr/java/jdk1.6.0_27

 core-site.xml

在 configuration 節點 裏面添加屬性

<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.201:9000</value>
</property>

添加 httpfs 的 選項
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>192.168.1.201</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>


slave配置

vim /home/hadoop/hadoop/etc/hadoop/slaves 
添加 slave 的 IP
192.168.1.202
192.168.1.203
192.168.1.204


配置hdfs-site.xml

vim /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml
添加 節點

<property>
<name>dfs.replication</name>
<value>3</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/hdfs/name</value>
<final>true</final>
</property>

<property>
<name>dfs.federation.nameservice.id</name>
<value>ns1</value>
</property>

<property>
<name>dfs.namenode.backup.address.ns1</name>
<value>192.168.1.201:50100</value>
</property>

<property>
<name>dfs.namenode.backup.http-address.ns1</name>
<value>192.168.1.201:50105</value>
</property>

<property>
<name>dfs.federation.nameservices</name>
<value>ns1</value>
</property>

<property>
<name>dfs.namenode.rpc-address.ns1</name>
<value>192.168.1.201:9000</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns2</name>
<value>192.168.1.201:9000</value>
</property>

<property>
<name>dfs.namenode.http-address.ns1</name>
<value>192.168.1.201:23001</value>
</property>

<property>
<name>dfs.namenode.http-address.ns2</name>
<value>192.168.1.201:13001</value>
</property>

<property>
<name>dfs.dataname.data.dir</name>
<value>file:/hadoop/hdfs/data</value>
<final>true</final>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns1</name>
<value>192.168.1.201:23002</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns2</name>
<value>192.168.1.201:23002</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns1</name>
<value>192.168.1.201:23003</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns2</name>
<value>192.168.1.201:23003</value>
</property>


配置yarn-site.xml

添加 節點

<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.1.201:18040</value>
</property>

<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.201:18030</value>
</property>

<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.1.201:18088</value>
</property>

<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.201:18025</value>
</property>

<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.1.201:18141</value>
</property>

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>


配置httpfs-site.xml

同步代碼到其他機器

1.同步配置代 碼
先在 slaves 的機器上也 創 建
mkdir -p /home/hadoop/source
部署hadoop代 碼 , 創 建 軟連接 ,然後只要同步修改 過 的etc/hadoop下的配置文件即可
2.同步 /etc/profile
3.同步 /etc/hosts 
scp -r /etc/profile root@hadoop2:/etc/profile
scp -r /etc/hosts root@hadoop2:/etc/hosts

其他機器以此操作


Hadoop啓動

格式化集羣

hadoop namenode -format -clusterid clustername


啓動hdfs

執行
start-dfs.sh

開 啓 hadoop dfs服 務     


啓動Yarn

開 啓 yarn 資 源管理服 務
start-yarn.sh

 

啓動httpfs

開 啓 httpfs 服 務
httpfs.sh start
使得 對外 可以提高 http 的restful接口服 務


測試

安裝結果驗證

驗證hdfs

在各臺機器 執行 jps 看 進程 是否都已 經啓動 了

[root@hadoop1 hadoop]# jps
7396 NameNode
24834 Bootstrap
7594 SecondaryNameNode
7681 ResourceManager
32261 Jps

[root@hadoop2 ~]# jps
8966 Jps
31822 DataNode
31935 NodeManager

進程啓動 正常

驗證 是否可以登 陸
hadoop fs -ls hdfs://192.168.1.201:9000/ 
hadoop fs -mkdir hdfs://192.168.1.201:9000/testfolder 
hadoop fs -copyFromLocal ./xxxx hdfs://192.168.1.201:9000/testfolder 
hadoop fs -ls hdfs://192.168.1.201:9000/ testfolder

 

看以上 執行 是否正常


驗證map/reduce

在 master1 上, 創建輸入目錄 :hadoop fs -mkdir hdfs://192.168.1.201:9000/input
將 /usr/hadoop/hadoop-2.0.1-alpha/ 目 錄下的所有 txt 文件複製到 hdfs 分佈式文件系 統的目錄裏,執行以下命令
hadoop fs -put /usr/hadoop/hadoop-2.0.1-alpha/*.txt hdfs://192.168.1.201:9000/input

在 hadoop1 上, 執行 HADOOP 自 帶的例子, wordcount 包,命令如下
cd /usr/hadoop/hadoop-2.0.1-alpha/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.0.1-alpha.jar wordcount hdfs://192.168.1.201:9000/input hdfs://192.168.1.201:9000/output

hadoop fs -put /usr/hadoop/hadoop-2.0.1-alpha/*.txt hdfs://192.168.1.201:9000/input

在 hadoop1 上, 查看結果命令如下 :
[root@master1 hadoop]# hadoop fs -ls hdfs://192.168.1.201:9000/output
Found 2 items
-rw-r--r--   2 root supergroup          0 2012-06-29 22:59 hdfs://192.168.1.201:9000/output/_SUCCESS
-rw-r--r--   2 root supergroup       8739 2012-06-29 22:59 hdfs://192.168.1.201:9000/output/part-r-00000

[root@hadoop1 hadoop]# hadoop fs -cat  hdfs://192.168.1.201:9000/output/part-r-00000 即可看到每個 單詞的數量

驗證httpfs

HTTPFS操作:

OPEN,GETFILESTATUS,LISTSTATUS,GETHOMEDIRECTORY,GETCONTENTSUMMARY,GETFILECHECKSUM,GETDELEGATIONTOKEN,GETFILEBLOCKLOCATIONS,INSTRUMENTATION

GETHOMEDIRECTORY 路徑無關,返回根 節點路徑
http://192.168.1.201:14000/webhdfs/v1/yxq?op=GETHOMEDIRECTORY&user.name=root

Path: "/user/root"

http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETHOMEDIRECTORY&user.name=root

打開 / 下 載一個文件
http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=open&user.name=root

LISTSTATUS 現實目錄狀態

http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0?op=LISTSTATUS&user.name=root
http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=LISTSTATUS&user.name=root

GETFILESTATUS 顯示文件的狀態
http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETFILESTATUS&user.name=root

如果是路徑 則現實路徑信息
http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/?op=GETFILESTATUS&user.name=root
http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETFILESTATUS&user.name=root

GETCONTENTSUMMARY 獲取路徑下的信息
http://192.168.1.201:14000/webhdfs/v1/yxq?op=GETCONTENTSUMMARY&user.name=root

GETFILECHECKSUM 獲取文件的校驗值
http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETFILECHECKSUM&user.name=root

 


以下 實現 方法 還 有 錯誤現 在:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

GETDELEGATIONTOKEN ERROR

http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETDELEGATIONTOKEN&user.name=root

GETFILEBLOCKLOCATIONS error

http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETFILEBLOCKLOCATIONS&user.name=root

INSTRUMENTATION error

http://192.168.1.201:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=INSTRUMENTATION&user.name=root

 

性能測試

使用內部的 benchmark 測試 不同文件大小及不同append大小的寫入情況
hadoop jar /home/hadoop/hadoop/bin/BitwareHadoopBenchmark.jar BitwareHadoopBenchmark hdfs://192.168.1.201:9000 /bitwaretest01/ 0 20 200 4 0

 

參考資料

 http://qmkemail.iteye.com/blog/1612323

http://dongxicheng.org/mapreduce-nextgen/apache-hadoop-2-0-alpha/


結語

hadoop 的配置及使用在不斷的更新中

發佈了52 篇原創文章 · 獲贊 3 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章