【发布时间】:2013-11-28 18:03:42
【问题描述】:
我正在尝试配置一个 5 节点的 cassandra 集群来运行 Spark/Shark 来测试一些 Hive 查询。 我已经安装了 Spark、Scala、Shark 并按照 Amplab [Running Shark on a cluster] https://github.com/amplab/shark/wiki/Running-Shark-on-a-Cluster 进行配置。
我能够进入 Shark CLI,当我尝试从我的 Cassandra ColumnFamily 表中创建一个 EXTERNAL TABLE 时,我不断收到此错误
异常失败 org.apache.hadoop.hive.ql.metadata.HiveException:加载错误 贮存 handler.org.apache.hadoop.hive.cassandra.CassandraStorageHandler
FAILED:执行错误,返回代码 1 从 org.apache.hadoop.hive.ql.exec.DDLTask
我已经配置了 HIVE_HOME、HADOOP_HOME、SCALA_HOME。也许我将 HIVE_HOME 和 HADOOP_HOME 指向错误的路径? HADOOP_HOME 设置为我的 Cassandra hadoop 文件夹 (/etc/dse/cassandra),HIVE_HOME 设置为 Hadoop1/hive 的解压 Amlad 下载,我还将 HIVE_CONF_DIR 设置为我的 Cassandra Hive 路径 (/etc/dse/hive)。 我错过了任何步骤吗?还是我错误地配置了这些位置?请问有什么想法吗?任何帮助将不胜感激。谢谢
【问题讨论】:
-
您将 Cassandra 存储处理程序 jar 放在哪里?您可能需要使用 Shark 中的“添加 jar”命令添加它。
-
感谢理查德的回复。我已经在整个 Cassandra 节点中搜索了 Storage Handler jar 文件,但我找不到。它必须存在,因为我可以运行在 Hive CLI 上使用 Datastax 调用的 Hive 查询。该文件是否称为“StorageHandler.jar”以外的任何文件?
-
您可以检查 Hive 在 DSE 下运行时加载的 jars。然后您可以使用“添加 jar”或将其复制到您正在运行的配置单元库目录中。或者,您可以从 github.com/milliondreams/hive 构建开源 cassandra 存储处理程序。
标签: scala cassandra hive apache-spark shark-sql