我正在尝试使用xd singlenode和xd shell将spring xd流存储到hortonworks沙盒2.0版。hortonworkshadoop hdfs中没有创建xd目录,也没有存储流。
环境:apple osx 10.9.3,hortonworks沙盒运行在oracle virtualbox(red hat 64位)中,使用桥接模式联网。我在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.
我用自制软件安装了springxd。我在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文件。springxd可以工作,包括我的twitter开发者密钥。
使用命令创建spring xd流时
stream create --name twvoetbal --definition "twittersearch --consumerKey='<mykey>' --consumerSecret='<mysecret>' --query='voetbal' | hdfs" --deploy
然后在hadoop hdfs中不创建xd目录和文件。
问题:
如何解决xd shell中的“无法从scdynamicstore加载领域信息”错误?
如何解决“warn spring shell util.nativec”问题odeloader:62 - 无法为您的平台加载本机hadoop库。。。在xd shell中使用内置java类?
我还能做错什么?
1条答案
按热度按时间vddsk6oq1#
警告信息只是噪音-我总是忽略它们。你在沙盒上创建了xd目录吗?您需要给运行xd singlenode的用户创建所需目录的权限。
您可以以root用户身份(密码为hadoop)ssh到沙盒并运行以下操作:
我们有一个简短的编写程序,用于将hadoop虚拟机与xd结合使用:https://github.com/spring-projects/spring-xd/wiki/using-hadoop-vms-with-spring-xd#hortonworks-沙箱