Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2022-06-29, 03:33

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 12 篇文章 ]  前往頁數 12  下一頁
發表人 內容
 文章主題 : hadoop script & webhdfs
文章發表於 : 2013-08-16, 15:39 
離線

註冊時間: 2011-12-06, 23:21
文章: 68
Dear 各位大大
各位大大好!
1、小弟這邊有些問題想請教各位先驅,由於目前已有架好了HADOOP
由於方便性的問題,不知道開啟節點的部分不知道是否可以寫成批次檔執行,還請各位先驅指點指點!

2、由於網路的便利性,小弟有個想法不知道可不可行,在一台WINDOWS的主機透過ECLIPSE傳檔到192.168.32.33(假設)的HADOOP的HDFS上!
不知道是可不可行的!由於我上網友搜尋的一下WEBHDFS似乎符合,不知道是要如何實現!目前有測試WEBHDFS可以單點(HADOOP)傳單點(HADOOP),
目標路徑是hdfs://192.168.32.33:9000/usr/jean,透過一個putToHdfs的動作!但是不是很了解是否可以實做在一個無HADOOP的WINDOWS平台上!
由於有考慮到現有SERVER是在WINDOW平台上想做個跨平台的整合!不知道各位大大有什麼建議能夠提供小弟參考參考!感謝各位的幫忙!我也會繼續努力地找尋相關資料! :)


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-08-16, 16:45 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
pyng8067 寫:
Dear 各位大大
各位大大好!
1、小弟這邊有些問題想請教各位先驅,由於目前已有架好了HADOOP
由於方便性的問題,不知道開啟節點的部分不知道是否可以寫成批次檔執行,還請各位先驅指點指點!

2、由於網路的便利性,小弟有個想法不知道可不可行,在一台WINDOWS的主機透過ECLIPSE傳檔到192.168.32.33(假設)的HADOOP的HDFS上!
不知道是可不可行的!由於我上網友搜尋的一下WEBHDFS似乎符合,不知道是要如何實現!目前有測試WEBHDFS可以單點(HADOOP)傳單點(HADOOP),
目標路徑是hdfs://192.168.32.33:9000/usr/jean,透過一個putToHdfs的動作!但是不是很了解是否可以實做在一個無HADOOP的WINDOWS平台上!
由於有考慮到現有SERVER是在WINDOW平台上想做個跨平台的整合!不知道各位大大有什麼建議能夠提供小弟參考參考!感謝各位的幫忙!我也會繼續努力地找尋相關資料! :)


1. 我有寫 hicloud-hadoop 可以大量佈署在 hicloud Ubuntu 12.04 的環境,
  同樣的程式也可以用在多台實體機或虛擬機,
  只要寫好 conf/master 跟 conf/slave 填妥 <IP> root <root 密碼> 格式
  展示影片:http://www.youtube.com/watch?v=D1-PV-xaq4s
  程式碼:https://github.com/jazzwang/hicloud-hadoop
  另一個早期的作品是用 DRBL 來佈署 Cloudera 的 Hadoop,這也是 hadoop.nchc.org.tw 背後的架構。
  簡報影片:http://www.youtube.com/watch?v=DyJ1bXZJOyo
  展示影片:http://www.youtube.com/watch?v=Ix4WigGvE_A
  Live CD:http://drbl-hadoop.sf.net/
  這些都很方便,只是我都沒有整理很易懂的文件。
  只能拋磚引玉~您可以改成自己的版本。
  其他也有人用 Puppet、Chef 作 Hadoop 叢集的大量佈署。
  像是 Adobe 寫的 https://github.com/hstack/puppet

2. 關於整合 HDFS 的方式,我只能說聽過很多種作法,但都很麻煩。WebHDFS 就沒什麼經驗,暫且沒有想法可以分享。

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-08-19, 16:39 
離線

註冊時間: 2011-12-06, 23:21
文章: 68
謝謝jazz大大的回覆!


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-08-19, 18:18 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
pyng8067 寫:
謝謝jazz大大的回覆!


WebHDFS 看起來是可以透過 CURL 新增檔案、讀取檔案
參考:http://hadoop.apache.org/docs/stable/webhdfs.html
http://kpetrovich.com/2013/02/hadoop-webhdfs-hello-world/

我試過這個範例,透過 Python 的 webhdfs 函式庫
可以成功產生目錄跟檔案到 HDFS
http://randomlydistributed.blogspot.tw/2011/12/webhdfs-py-simple-lean-hdfs-python.html
原始碼:https://github.com/drelu/webhdfs-py
代碼:
------ 說明實驗環境是在 Ubuntu 12.04.2 LTS 下執行 ------
jazz@kvm:~$ lsb_release -a
No LSB modules are available.
Distributor ID:   Ubuntu
Description:   Ubuntu 12.04.2 LTS
Release:   12.04
Codename:   precise
------ 下載 hadoop 相關範例程式 -----
jazz@kvm:~$ git clone http://github.com/jazzwang/hadoop_labs
Cloning into 'hadoop_labs'...
remote: Counting objects: 222, done.
remote: Compressing objects: 100% (146/146), done.
remote: Total 222 (delta 99), reused 165 (delta 44)
Receiving objects: 100% (222/222), 50.66 KiB, done.
Resolving deltas: 100% (99/99), done.
------ 下載 webhdfs-py ------
jazz@kvm:~$ git clone https://github.com/drelu/webhdfs-py
Cloning into 'webhdfs-py'...
remote: Counting objects: 46, done.
remote: Compressing objects: 100% (24/24), done.
remote: Total 46 (delta 17), reused 44 (delta 16)
Unpacking objects: 100% (46/46), done.
------ 安裝 webhdfs-py ------
jazz@kvm:~$ sudo easy_install webhdfs-py/
Processing
Running setup.py -q bdist_egg --dist-dir /home/jazz/webhdfs-py/egg-dist-tmp-zHsNMg
08/19/2013 07:16:00 PM - webhdfs - DEBUG - Loading WebHDFS version: 0.1.06
warning: install_data: setup script did not provide a directory for 'webhdfs/VERSION' -- installing right in 'build/bdist.linux-x86_64/egg'

zip_safe flag not set; analyzing archive contents...
webhdfs.__init__: module references __file__
Adding WebHDFS 0.1.06 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/WebHDFS-0.1.06-py2.7.egg
Processing dependencies for WebHDFS==0.1.06
Finished processing dependencies for WebHDFS==0.1.06
------ 安裝 Hadoop 1.0.4 ------
jazz@kvm:~$ cd hadoop_labs/
jazz@kvm:~/hadoop_labs$ lab002/hadoop-full-mode
------ 安裝 Hadoop 1.0.4 ------
jazz@kvm:~/hadoop_labs$ jps
30892 JobTracker
31111 Jps
30964 TaskTracker
30744 NameNode
30813 DataNode

------ 執行 webhdfs 測試 Python 程式 ------

jazz@kvm:~/hadoop_labs$ hadoop fs -lsr /
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:24 /home
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:24 /home/jazz
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:24 /home/jazz/hadoop
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:24 /home/jazz/hadoop/var
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:24 /home/jazz/hadoop/var/hadoop-jazz
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:24 /home/jazz/hadoop/var/hadoop-jazz/mapred
drwx------   - jazz supergroup          0 2013-08-19 19:24 /home/jazz/hadoop/var/hadoop-jazz/mapred/system

jazz@kvm:~/hadoop_labs$ python test-webhdfs.py
08/19/2013 07:52:24 PM - webhdfs - DEBUG - Create directory: /webhdfs/v1/hello-world?op=MKDIRS&user.name=jazz
08/19/2013 07:52:24 PM - webhdfs - DEBUG - HTTP Response: 200, OK
Upload file: /tmp/tmp875WxC
08/19/2013 07:52:24 PM - webhdfs - DEBUG - HTTP Response: 307, TEMPORARY_REDIRECT
08/19/2013 07:52:24 PM - webhdfs - DEBUG - HTTP Location: http://kvm:50075/webhdfs/v1/hello-world/test.txt?op=CREATE&user.name=jazz&overwrite=true
08/19/2013 07:52:24 PM - webhdfs - DEBUG - Send redirect to: host: kvm, port: 50075, path: /webhdfs/v1/hello-world/test.txt?op=CREATE&user.name=jazz&overwrite=true&replication=1
08/19/2013 07:52:24 PM - webhdfs - DEBUG - HTTP Response: 201, Created
08/19/2013 07:52:24 PM - webhdfs - DEBUG - GET URL: /webhdfs/v1/hello-world/test.txt?op=OPEN&overwrite=true&user.name=jazz
08/19/2013 07:52:24 PM - webhdfs - DEBUG - HTTP Response: 307, TEMPORARY_REDIRECT
08/19/2013 07:52:24 PM - webhdfs - DEBUG - HTTP Location: http://kvm:50075/webhdfs/v1/hello-world/test.txt?op=OPEN&user.name=jazz&offset=0
08/19/2013 07:52:24 PM - webhdfs - DEBUG - Send redirect to: host: kvm, port: 50075, path: /webhdfs/v1/hello-world/test.txt?op=OPEN&user.name=jazz&offset=0
08/19/2013 07:52:24 PM - webhdfs - DEBUG - HTTP Response: 200, OK

jazz@kvm:~/hadoop_labs$ hadoop fs -lsr /
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:52 /hello-world
-rw-r--r--   1 jazz supergroup         13 2013-08-19 19:52 /hello-world/test.txt
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:50 /home
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:50 /home/jazz
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:50 /home/jazz/hadoop
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:50 /home/jazz/hadoop/var
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:50 /home/jazz/hadoop/var/hadoop-jazz
drwxr-xr-x   - jazz supergroup          0 2013-08-19 19:50 /home/jazz/hadoop/var/hadoop-jazz/mapred
drwx------   - jazz supergroup          0 2013-08-19 19:50 /home/jazz/hadoop/var/hadoop-jazz/mapred/system
-rw-------   1 jazz supergroup          4 2013-08-19 19:50 /home/jazz/hadoop/var/hadoop-jazz/mapred/system/jobtracker.info

jazz@kvm:~/hadoop_labs$ hadoop fs -cat /hello-world/test.txt
Hello world!


- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-08-23, 18:03 
離線

註冊時間: 2011-12-06, 23:21
文章: 68
首先先謝謝JAZZ大大的回覆
我想了解一下假設我在windows底下用eclipse+pydev 可以使用這個檔案開發嗎???
謝謝~勞煩了!


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-08-23, 22:55 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
pyng8067 寫:
首先先謝謝JAZZ大大的回覆
我想了解一下假設我在windows底下用eclipse+pydev 可以使用這個檔案開發嗎???
謝謝~勞煩了!


不是很確定,看您的目標是寫怎樣的程式吧。
如果目標是讓 Windows 使用者透過 Eclipse 上傳檔案到 HDFS
那原本的 Eclipse Plugin 就已經有這個功能了。

如果是打算把 webhdfs.py 的程式碼編譯成執行檔,那您想要用什麼樣的編譯環境則沒有影響。
FYI: http://www.py2exe.org/

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-09-03, 15:55 
離線

註冊時間: 2011-12-06, 23:21
文章: 68
謝謝JAZZ大大的回覆,已在ECLIPSE上成功實現!
透過python-dev 實現在eclipse上,並可以跨平台create dir 。
http://blog.codylab.com/using-eclipse-pydev-dev-python/
附加檔案:
1.jpg
1.jpg [ 81.81 KiB | 被瀏覽 34739 次 ]


但是目前遇到UPLOAD的問題,不知道錯誤在哪 ?不知道是否為路徑錯誤!
麻煩JAZZ大大指點指點,謝謝您
附加檔案:
未命名.jpg
未命名.jpg [ 91.85 KiB | 被瀏覽 34739 次 ]


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-09-03, 23:03 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
pyng8067 寫:
但是目前遇到UPLOAD的問題,不知道錯誤在哪 ?不知道是否為路徑錯誤!
麻煩JAZZ大大指點指點,謝謝您
附加檔案:
未命名.jpg


圖有點糊~還是直接貼程式碼跟錯誤訊息吧.... XD

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-09-13, 16:51 
離線

註冊時間: 2011-12-06, 23:21
文章: 68
Dear JAZZ 大大
以附上程式碼與錯誤訊息,麻煩您指點指點了!
然後想把windows底下的檔案傳到有虛擬ip的vm machine(ubuntu)裡的HDFS
不知道可不可行。


程式碼
代碼:
from webhdfs import WebHDFS
import os, tempfile
import time

webhdfs = WebHDFS("192.168.88.67", 50070, "hdp2")

webhdfs.mkdir("/hello-world/")

# create a temporary file
f = tempfile.NamedTemporaryFile()
f.write(b'Hello world!\n')
f.flush()

print "Upload file: " + f.name

webhdfs.copyFromLocal(f.name,
                      "/hello-world/test1.txt")
   
webhdfs.copyToLocal("C:\\Users\\pyng\\Desktop\\test.txt",
                    "/hello-world/test1.txt")
   
for i in webhdfs.listdir("/hello-world/"):
    print str(i)
   
f.close()




錯誤訊息
代碼:
09/13/2013 05:02:42 PM - webhdfs - DEBUG - Create directory: /webhdfs/v1/hello-world/?op=MKDIRS&user.name=hdp2
09/13/2013 05:02:42 PM - webhdfs - DEBUG - HTTP Response: 200, OK
Upload file: c:\users\pyng\appdata\local\temp\tmpjavu0w
09/13/2013 05:02:42 PM - webhdfs - DEBUG - HTTP Response: 307, TEMPORARY_REDIRECT
09/13/2013 05:02:42 PM - webhdfs - DEBUG - HTTP Location: http://hdp2:50075/webhdfs/v1//hello-world/test1.txt?op=CREATE&user.name=hdp2&overwrite=true
09/13/2013 05:02:42 PM - webhdfs - DEBUG - Send redirect to: host: hdp2, port: 50075, path: /webhdfs/v1//hello-world/test1.txt?op=CREATE&user.name=hdp2&overwrite=true&replication=1
Traceback (most recent call last):
  File "C:\Users\pyng\workspace\pythone_hdfs_test\webhdfs-py-master\webhdfs\example.py", line 17, in <module>
    "/hello-world/test1.txt")
  File "C:\Users\pyng\workspace\pythone_hdfs_test\webhdfs-py-master\webhdfs\webhdfs.py", line 74, in copyFromLocal
    fileUploadClient.request('PUT', redirect_path, open(source_path, "r").read(), headers={})
IOError: [Errno 13] Permission denied: 'c:\\users\\pyng\\appdata\\local\\temp\\tmpjavu0w'


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: hadoop script & webhdfs
文章發表於 : 2013-09-16, 15:40 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
pyng8067 寫:
錯誤訊息
代碼:
09/13/2013 05:02:42 PM - webhdfs - DEBUG - Send redirect to: host: hdp2, port: 50075, path: /webhdfs/v1//hello-world/test1.txt?op=CREATE&user.name=hdp2&overwrite=true&replication=1
Traceback (most recent call last):
  File "C:\Users\pyng\workspace\pythone_hdfs_test\webhdfs-py-master\webhdfs\example.py", line 17, in <module>
    "/hello-world/test1.txt")
  File "C:\Users\pyng\workspace\pythone_hdfs_test\webhdfs-py-master\webhdfs\webhdfs.py", line 74, in copyFromLocal
    fileUploadClient.request('PUT', redirect_path, open(source_path, "r").read(), headers={})
IOError: [Errno 13] Permission denied: 'c:\\users\\pyng\\appdata\\local\\temp\\tmpjavu0w'


看起來 webhdfs.py 有 Windows 權限問題,得追一下 webhdfs.py 第 74 行的地方。
我猜是 open(source_path, "r").read() 沒辦法開檔或沒辦法讀檔。
如果在 Windows 7 底下開發,可能要注意一下是否因為開啟 UAC 造成權限比較嚴謹。試試看關閉 UAC 看能否正常通過。

- Jazz


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 12 篇文章 ]  前往頁數 12  下一頁

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作