httpfs安裝指南
安裝環境
Linux
maven3
jdk1.6
本地的maven源(有些依賴的jar包Cloudera已不再維護)
1.下載下傳httfs源碼包
https://github.com/cloudera/httpfs
使用git下載下傳
git clone https://github.com/cloudera/httpfs.git
2.修改pom.xml檔案
在<dependencies>中增加依賴
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>${cdh.hadoop.version}</version>
</dependency>
3.下載下傳所需要的依賴,
mvn clean:install
其中有些依賴的jar包已不在Cloudera的源上了,需要自己設定maven源,在~/.m2/setting.xml中增加自己的源
4.編譯打包
mvn package -Pdist
生成的hadoop-hdfs-httpfs-0.20.2-cdh3u6.tar.gz包在target目錄下
5.修改hadoop叢集的所有機器的core-site.xml檔案
在其中加入以下内容
<property>
<name>hadoop.proxyuser.httpfs.hosts</name>
<value>httpfs-host.foo.com</value>
</property>
<name>hadoop.proxyuser.httpfs.groups</name>
<value>*</value>
重新開機hadoop叢集
6.在要安裝httpfs的機器上建立httpfs使用者
useradd --create-home --shell /bin/bash httpfs
passwd httpfs
7.安裝httpfs
将hadoop-hdfs-httpfs-0.20.2-cdh3u6.tar.gz包複制到/home/httpfs目錄下解壓
進入到解壓出來的目錄hadoop-hdfs-httpfs-0.20.2-cdh3u6
将現網叢集的hadoop配置檔案core-site.xml和hdfs-site.xml複制到/home/httpfs/hadoop-hdfs-httpfs-0.20.2-cdh3u6/etc/hadoop目錄下
8.修改httpfs-site.xml
在其中加入
<name>httpfs.proxyuser.httpfs.hosts</name>
<name>httpfs.proxyuser.httpfs.groups</name>
9.啟動httpfs
使用httpfs使用者啟動
/home/httpfs/hadoop-hdfs-httpfs-0.20.2-cdh3u6/sbin/httpfs.sh start
10.檢查
檢查程序是否存在:jps看看有沒有Bootstrap程序
檢視logs目錄下httpfs.log和其他log有無異常資訊
11.curl測試
上傳檔案
curl -i -X PUT "http://172.16.61.154:14000/webhdfs/v1/tmp/testfile?user.name=bdws&op=create"
根據傳回回來的URL再次put
curl -i -X PUT -T test.txt --header "Content-Type: application/octet-stream" "http://172.16.61.154:14000/webhdfs/v1/tmp/testfile?op=CREATE&user.name=bdws&data=true"
下載下傳檔案
curl -i "http://172.16.61.154:14000/webhdfs/v1/tmp/testfile?user.name=bdws&op=open"
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: hadoop.auth="u=bdws&p=bdws&t=simple&e=1400181237161&s=F5K1C44TbM/tMjbdFUpM+zExtso="; Version=1; Path=/
Content-Type: application/octet-stream
Content-Length: 20
Date: Thu, 15 May 2014 09:13:57 GMT
this is a test file
12.參考:
Hadoop HDFS over HTTP 0.20.2-cdh3u6 - Server Setup
http://cloudera.github.io/httpfs/ServerSetup.html
WebHDFS說明,很詳細包括指令的使用
http://zhangjie.me/webhdfs/
Apache hadoop webhdfs api文檔
http://hadoop.apache.org/docs/r1.0.4/webhdfs.html