Hadoop 2.0集群配置詳細教程

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://www.pswp.cn/news/388155.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388155.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388155.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php如何減緩gc_管理信息傳播-使用數據科學減緩錯誤信息的傳播

php如何減緩gcWith more people now than ever relying on social media to stay updated on current events, there is an ethical responsibility for hosting companies to defend against false information. Disinformation, which is a type of misinformation that is i…

[UE4]刪除UI:Remove from Parent

同時要將保存UI的變量清空&#xff0c;以釋放占用的系統內存 轉載于:https://www.cnblogs.com/timy/p/9842206.html

MySQL基礎部分總結

MySQL 1、選擇數據庫 use dbnameshow databases;2、數據表 show tablesmysql> show columns from customers;mysql> desc customers;3、show 語句 show statusshow create databasesshow create tableshow grants4、select 檢索 4.1.1版本后不再區分大小寫&#xff0c;但…

BZOJ2503: 相框

Description P大的基礎電路實驗課是一個無聊至極的課。每次實驗&#xff0c;T君總是提前完成&#xff0c;管理員卻不讓T君離開&#xff0c;T君只能干坐在那兒無所事事。先說說這個實驗課&#xff0c;無非就是把幾根導線和某些元器件&#xff08;電阻、電容、電感等&#xff09;…

泰坦尼克號 數據分析_第1部分:泰坦尼克號-數據分析基礎

泰坦尼克號 數據分析My goal was to get a better understanding of how to work with tabular data so I challenged myself and started with the Titanic -project. I think this was an excellent way to learn the basics of data analysis with python.我的目標是更好地了…

Imperva開源域目錄控制器,簡化活動目錄集成

Imperva已公開發布域目錄控制器&#xff08;Domain Directory Controller&#xff0c;DDC&#xff09;的源代碼&#xff0c;這是一個Java庫&#xff0c;用于簡化常見的Active Directory集成。 與Java的LdapContext不同&#xff0c;這個庫構建在Apache Directory LDAP之上&#…

2018.10.24 NOIP模擬 小 C 的序列(鏈表+數論)

傳送門 考慮到a[l],gcd(a[l],a[l1]),gcd(a[l],a[l1],a[l2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l1]),gcd(a[l],a[l1],a[l2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l1]),gcd(a[l],a[l1],a[l2])....gcd(a[l]...a[r])是可以分成最多logloglog段且段內的數都是相同的。 那么我們用…

vba數組dim_NDArray — —一個基于Java的N-Dim數組工具包

vba數組dim介紹 (Introduction) Within many development languages, there is a popular paradigm of using N-Dimensional arrays. They allow you to write numerical code that would otherwise require many levels of nested loops in only a few simple operations. Bec…

Nodejs教程08:同時處理GET/POST請求

示例代碼請訪問我的GitHub&#xff1a; github.com/chencl1986/… 同時處理GET/POST請求 通常在開發過程中&#xff0c;同一臺服務器需要接收多種類型的請求&#xff0c;并區分不同接口&#xff0c;向客戶端返回數據。 最常用的方式&#xff0c;就是對請求的方法、url進行區分判…

關于position的四個標簽

四個標簽是static&#xff0c;relative&#xff0c;absolute&#xff0c;fixed。 static 該值是正常流&#xff0c;并且是默認值&#xff0c;因此你很少看到&#xff08;如果存在的話&#xff09;指定該值。 relative&#xff1a;框的位置能夠相對于它在正常流中的位置有所偏移…

python算法和數據結構_Python中的數據結構和算法

python算法和數據結構To至 Leonardo da Vinci達芬奇(Leonardo da Vinci) 介紹 (Introduction) The purpose of this article is to give you a panorama of data structures and algorithms in Python. This topic is very important for a Data Scientist in order to help …

CSS:元素塌陷問題

2019獨角獸企業重金招聘Python工程師標準>>> 描述&#xff1a; 在文檔流中&#xff0c;父元素的高度默認是被子元素撐開的&#xff0c;也就是子元素多高&#xff0c;父元素就多高。但是當子元素設置浮動之后&#xff0c;子元素會完全脫離文檔流&#xff0c;此時將會…

Celery介紹及常見錯誤

celery 情景&#xff1a;用戶發起request&#xff0c;并等待response返回。在本些views中&#xff0c;可能需要執行一段耗時的程序&#xff0c;那么用戶就會等待很長時間&#xff0c;造成不好的用戶體驗&#xff0c;比如發送郵件、手機驗證碼等。 使用celery后&#xff0c;情況…

python dash_Dash是Databricks Spark后端的理想基于Python的前端

python dash&#x1f4cc; Learn how to deliver AI for Big Data using Dash & Databricks this recorded webinar with Peter Kim of Plotly and Prasad Kona of Databricks.this通過Plotly的Peter Kim和Databricks的Prasad Kona的網絡研討會了解如何使用Dash&#xff06…

js里的數據類型轉換

1、類型轉換 轉換為字符串 - String(x)- x.toString(x, 10)- x 轉換為數字 - Number(x)- parseInt(x, 10) - parseFloat(x) - x - 0- x 轉換為boolean - Boolean(x)- !!x 2、falsy值&#xff08;false&#xff09; - 0- NaN- - null- undefined 3、內存圖 - object存儲的是地址…

Eclipse 插件開發遇到問題心得總結

Eclipse 插件開發遇到問題心得總結 Posted on 2011-07-17 00:51 季楓 閱讀(3997) 評論(0) 編輯 收藏1、Eclipse 中插件開發多語言的實現 為了使用 .properties 文件&#xff0c;需要在 META-INF/MANIFEST.MF 文件中定義&#xff1a; Bundle-Localization: plugin 這樣就會…

/src/applicationContext.xml

<?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:context"http://www.springframework.org/schema…

在Python中查找子字符串索引的5種方法

在Python中查找字符串中子字符串索引的5種方法 (5 Ways to Find the Index of a Substring in Strings in Python) str.find() str.find() str.rfind() str.rfind() str.index() str.index() str.rindex() str.rindex() re.search() re.search() str.find() (str.find()) …

[LeetCode] 3. Longest Substring Without Repeating Characters 題解

問題描述 輸入一個字符串&#xff0c;找到其中最長的不重復子串 例1&#xff1a; 輸入&#xff1a;"abcabcbb" 輸出&#xff1a;3 解釋&#xff1a;最長非重復子串為"abc" 復制代碼例2&#xff1a; 輸入&#xff1a;"bbbbb" 輸出&#xff1a;1 解…

WPF中MVVM模式的 Event 處理

WPF的有些UI元素有Command屬性可以直接實現綁定&#xff0c;如Button 但是很多Event的觸發如何綁定到ViewModel中的Command呢&#xff1f; 答案就是使用EventTrigger可以實現。 繼續上一篇對Slider的研究&#xff0c;在View中修改Interaction. <i:Interaction.Triggers>&…