我正在尝试使用xd-singlenode和xd-shell将Spring XD流存储到Hortonworks沙盒2.0版。在Hortonworks hadoop hdfs中没有创建xd目录,也没有存储任何流。
环境:
Apple OSX 10.9.3,使用桥接模式网络在Oracle Virtualbox(Red Hat 64位)中运行的Hortonworks Sandbox。我在WiFi路由器中为Virtualbox MAC地址分配了一个固定的IP地址(192.168.178.30)。当我使用OSX Safari浏览到192.168.178.30:8000时,可以使用Hortonworks菜单,例如文件浏览器,Pig,蜂蜡(Hive)等。
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"
我使用以下命令通过OSX启动Spring XD:
./xd-singlenode --hadoopDistro hadoop22
在第二个OSX终端中:
./xd-shell --hadoopDistro hadoop22
在xd-shell中,输入:
hadoop config fs --namenode hdfs://192.168.178.30:8020
xd-shell中的“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开发人员 secret 密钥。
当我使用命令创建Spring XD流时
stream create --name twvoetbal --definition "twittersearch --consumerKey='<mykey>' --consumerSecret='<mysecret>' --query='voetbal' | hdfs" --deploy
那么在hadoop hdfs中将不会创建任何xd目录,也不会创建任何文件。
问题:
最佳答案
WARN消息只是噪音-我总是忽略它们。您是否在沙盒上创建了xd目录?您需要授予运行xd-singlenode的用户创建所需目录的权限。
您可以以root用户身份(但密码为hadoop)进入沙箱并运行以下命令:
sudo -u hdfs hdfs dfs -mkdir /xd
sudo -u hdfs hdfs dfs -chmod 777 /xd
我们简要介绍了如何将Hadoop VM与XD结合使用:
https://github.com/spring-projects/spring-xd/wiki/Using-Hadoop-VMs-with-Spring-XD#hortonworks-sandbox
关于hadoop - OSX上Hortonworks沙盒上的Spring XD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24380203/