【发布时间】:2014-04-28 10:42:45
【问题描述】:
我一直在努力实现这一目标,但没有成功。我尝试在 dse 上使用包含的 hive 分布和鲨鱼,但是,鲨鱼提供了一个修补过的旧版本的 Hive(我相信是 0.9),由于不兼容,这使得鲨鱼执行不可能。我还尝试使用来自 Shark 的修补配置单元版本而不是 dse,回收 dse 配置单元配置(为了使 CFS 可用于 Shark 的配置单元分发)只是为了从完整的 dse 类路径(hive、cassandra)中发现一长串依赖项、hadoop 等)。
按照blog 上的说明,可以使用 C* 实现此目的。
我是否因为尝试使用 CFS 而固执己见?有没有办法在 dse 上使用或不使用 CFS?
谢谢!
以下是 Shark-env.sh 的一些亮点:
export HIVE_HOME="/home/cassserv/hive-0.9.0-bin/" #choosing this when using hive distro.
#export HIVE_HOME="/usr/share/dse/hive/" #choosing this when using dse distro.
export HIVE_CONF_DIR="/home/cassserv/hive-0.9.0-bin/conf" #edited dse hive-site.xml conf file
#export HIVE_CONF_DIR="/etc/dse/hive" #original dse hive-site.xml conf file
编辑 hive-site.xml 亮点:
<property>
<name>hive.hwi.war.file</name>
<!--<value>lib/hive-hwi.war</value>-->
<value>lib/hive-hwi-0.9.0-shark-0.8.1.war</value><!--edited to use sharks distro-->
<description>This sets the path to the HWI war file, relative to ${HIVE_HOME}</description>
</property>
<property>
<name>hadoop.bin.path</name>
<!--<value>${dse.bin}/dse hadoop</value>-->
<value>/usr/share/dse hadoop</value><!--edited to override variable-->
</property>
这是鲨鱼在尝试使用带有 dse 的配置单元配置的鲨鱼修补配置单元发行版时的输出。缺少的类在 dse.jar 文件中:
Exception in thread "main" org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore class not found)
我想知道我是否可以在编辑后的 hive-site.xml 中做这样的事情:
<property>
<name>fs.cfs.impl</name>
<value>org.apache.cassandra.hadoop.fs.CassandraFileSystem</value>
</property>
<property>
<name>hive.metastore.rawstore.impl</name>
<!--<value>com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore</value>--> <value>org.apache.hadoop.hive.metastore.ObjectStore</value>
<description>Use the Apache Cassandra Hive RawStore implementation</description>
</property>
为了从 dse 库中删除任何依赖项。此外,可能不会使用 dse 的 hadoop 发行版。
【问题讨论】:
标签: cassandra datastax-enterprise