我下载了DataStax Enterprise,我试图运行以下的产品组合示例(www.datastax.com/docs/datastax_enterprise2.2/solutions/dse_demo#dse-demo),但我遇到了问题。我遇到的问题是我无法在节点上启动作业跟踪器。
我在Ubuntu上使用dse 3.0.1版。我也设置了一个节点,因为我只使用一台机器。我已经启动了一个节点,并且运行了opscenterd和opscenter-agent。
当我跑步时:
dse cassandra -t -j
我得到以下输出:
xss = -ea -javaagent:/usr/share/dse/cassandra/lib/jamm-0.2.5.jar -XX:+ UseThreadPriorities -XX:ThreadPriorityPolicy = 42 -Xms1024M -Xmx1024M -Xmn200M -XX:+ HeapDumpOnOutOfMemoryError -Xss180k
错误:代理抛出异常:java.rmi.server.ExportException:端口已在使用中:7199;嵌套异常是: java.net.BindException:已在使用的地址
尝试使用dsetool时:
dsetool movejt localhost
我在log / cassandra / system.log中看到,如果失败,因为:
引起:InvalidRequestException(原因:Keyspace dse_system不存在)
at org.apache.cassandra.thrift.ThriftValidation.validateTable(ThriftValidation.java:83) at org.apache.cassandra.thrift.ThriftValidation.validateColumnFamily(ThriftValidation.java:135) at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:973) at org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:243) at org.apache.cassandra.cql3.QueryProcessor.processInternal(QueryProcessor.java:129) at com.datastax.bdp.hadoop.mapred.TrackerManager.queryForJobTrackers(TrackerManager.java:202) at com.datastax.bdp.hadoop.mapred.TrackerManager.getJTNodes(TrackerManager.java:170)
可能导致这种情况的原因是什么?它怎么能修复?
答案 0 :(得分:2)
我的猜测是你已经将DSE作为普通的C *节点启动了。
要验证运行:nodetool ring
和dsetool ring
,您将看到节点的工作负载Cassandra
我相信这是因为: 1)您有使用端口错误,表明您已启动c *服务 2)dse_system仅在您作为hadoop节点启动时创建,-t
要解决此问题,请终止所有java进程并尝试使用-t选项重新启动。它应该检测到你没有创建dse_system,然后创建它。然后使用dsetool ring
进行验证。
答案 1 :(得分:0)
以上对我有用。抛出的错误是:
$ dse pig
Error when fetching jobtracker address:
Exception in thread "main" java.lang.NoClassDefFoundError: Could
$ dsetool jobtracker
Error when fetching jobtracker address:
java.io.IOException: Could not find Job Tracker.
要解决我做了以下事情:
$ dse cassandra-stop
$ dse cassandra -t