- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个包含 5 个数据节点的 Hadoop 集群 (Cloudera CDH4.2)。我正在尝试运行创建 HBaseConfiguration
对象的 MapReduce 作业。 tasktracker 尝试失败,因为它们试图连接到 localhost:2181
而不是实际 zookeeper 安装的地址。
我知道这是因为没有为 tasktracker 提供包含 hbase 配置的正确类路径。但是,如果我这样运行作业:
HADOOP_CLASSPATH=`/usr/bin/hbase classpath` hadoop jar myjar.jar
文档表明这应该可以解决问题。 hbase classpath
中的第一个条目是 /usr/lib/hbase/conf
,它是 /etc/hbase/conf
的符号链接(symbolic link),因此在理论上,这应该将 hbase 配置添加到 HADOOP_CLASSPATH
变量中。
但是,来自 tasktracker 的日志显示:
2013-08-14 12:47:24,308 INFO org.apache.zookeeper.ZooKeeper: Client environment:java.class.path=<output of `hadoop classpath`>
....
2013-08-14 12:47:24,309 INFO org.apache.zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=180000 watcher=hconnection
.....
2013-08-14 12:47:24,328 WARN org.apache.zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
因此,出于某种原因,tasktrackers 完全忽略了我将 HADOOP_CLASSPATH
设置为 hbase classpath
的努力。文档 ( http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html#classpath ) 指出这应该可以正常工作。怎么了?
我知道我可以通过在 jar 代码中显式指定 zookeeper quorum 地址来解决这个问题,但我需要这个 jar 是可移植的,并在不重新编译的情况下获取本地配置,所以我看不到硬编码地址作为一个可行的选择。
最佳答案
如果你做过java编程:
conf.set("hbase.zookeeper.quorum", "server1,server2,server3");
conf.set("hbase.zookeeper.property.clientPort", "2181");
如果你使用命令:add -Dhbase.zookeeper.quorum
sudo hadoop jar /opt/cloudera/parcels/CDH-4.3.0-1.cdh4.3.0.p0.22/lib/hbase/hbase.jar rowcounter -Dhbase.zookeeper.quorum=server1,server2,server3 hly_temp
关于Hadoop Mapreduce tasktrackers 不断忽略 HADOOP_CLASSPATH。 Zookeeper 尝试连接到本地主机而不是集群地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18232473/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!