1

我正試圖使用​​xd-singlenode和xd-shell將Spring XD流存儲到Hortonworks沙箱版本2.0。沒有創建xd目錄,並且沒有流存儲在Hortonworks hadoop hdfs中。OSX上的Hortonworks Sandbox上的Spring XD

環境: Apple OSX 10.9.3,使用橋接模式網絡在Oracle Virtualbox(Red Hat 64bit)中運行的Hortonworks Sandbox。我在WiFi路由器中爲Virtualbox MAC地址分配了一個固定的IP地址(192.168.178.30)。當我和OSX的Safari瀏覽192.168.178.30:8000我可以使用Hortonworks菜單的如文件瀏覽器,豬,蜂蠟(蜂巢)等 A「檢查錯誤配置」,在Hortonworks菜單結果爲:

Configuration files located in /etc/hue/conf.empty 
All OK. Configuration check passed. 

我已經使用Homebrew來安裝Spring XD。我在OSX改變了/usr/local/Cellar/springxd/1.0.0.M6/libexec/xd/config/servers.yml文件,包括

# Hadoop properties 
spring: 
    hadoop: 
    fsUri: hdfs://192.168.178.30:8020 

#Zookeeper properties 
# client connect string: host1:port1,host2:port2,...,hostN:portN 
zk: 
    client: 
    connect: 192.168.178.30:2181 

在VirtualBox我更改的文件/etc/hadoop/conf.empty/hadoop-env.sh包括:

export HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.realm= -Djava.security.krb5.kdc=" 

export HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.conf=/dev/null" 

我開始春季XD與OSX用下面的命令:

./xd-singlenode --hadoopDistro hadoop22 

,並且在第二OSX終端:

./xd-shell --hadoopDistro hadoop22 

在XD-殼我輸入:在XD-殼結果

hadoop config fs --namenode hdfs://192.168.178.30:8020 

A 「的hadoop FS LS /」 命令到:

Hadoop configuration changed, re-initializing shell... 
2014-06-24 00:55:56.632 java[7804:5d03] Unable to load realm info from SCDynamicStore 
00:55:56,672 WARN Spring Shell util.NativeCodeLoader:62 - Unable to load native-hadoop  library for your platform... using builtin-java classes where applicable 
Found 6 items 
drwxrwxrwt - yarn hadoop   0 2013-10-21 00:19 /app-logs 
drwxr-xr-x - hdfs hdfs   0 2013-10-21 00:08 /apps 
drwxr-xr-x - mapred hdfs   0 2013-10-21 00:10 /mapred 
drwxr-xr-x - hdfs hdfs   0 2013-10-21 00:10 /mr-history 
drwxrwxrwx - hdfs hdfs   0 2013-10-28 16:34 /tmp 
drwxr-xr-x - hdfs hdfs   0 2013-10-28 16:34 /user 

當我用命令創建一個Spring XD流時

stream create --name twvoetbal --definition "twittersearch --consumerKey='<mykey>' --consumerSecret='<mysecret>' --query='voetbal' | file" --deploy 

然後在OSX中創建一個/tmp/xd/output/twvoetbal.out文件。 Spring XD接縫工作,包括我的Twitter開發人員祕密密鑰。

當我創建一個Spring XD流與命令

stream create --name twvoetbal --definition "twittersearch --consumerKey='<mykey>' --consumerSecret='<mysecret>' --query='voetbal' | hdfs" --deploy 

則沒有XD目錄,沒有文件(S)在Hadoop的HDFS創建。

問題:

  1. 如何解決XD殼的「無法加載境界信息從SCDynamicStore」的錯誤?
  2. 如何解決「WARN Spring Shell util.NativeCodeLoader:62 - 無法爲您的平臺加載native-hadoop庫......在適當的情況下使用內置-java類」xd-shell中的錯誤?
  3. 我還能做什麼錯?

回答

2

WARN信息只是噪音 - 我總是忽略它們。你在沙箱上創建了xd目錄嗎?您需要爲運行xd-singlenode的用戶提供創建所需目錄的權限。

可以ssh到沙箱根(密碼是Hadoop的),並運行以下命令:

sudo -u hdfs hdfs dfs -mkdir /xd 
sudo -u hdfs hdfs dfs -chmod 777 /xd 

我們有一個簡短的歸納用於使用Hadoop的虛擬機與XD: https://github.com/spring-projects/spring-xd/wiki/Using-Hadoop-VMs-with-Spring-XD#hortonworks-sandbox

+0

感謝托馬斯·您諮詢。我一直在尋找自己的根本原因。請理解我在「X」類型的操作系統包括新手級別。 OSX和Linux。 Appendly Homebrew在「釀造」springxd時沒有設置任何路徑或環境變量。從「right」目錄啓動xd-shell和xd-singlenode似乎解決了我的問題。我從/usr/local/Cellar/springxd/1.0.0.M7/bin(我更新了springxd)啓動這些應用程序。我不需要跟進你的建議。我喜歡springxd的功能。保持良好的作品。問候,呂克 – Luc