解决Solr云数据迁移问题

时间:2015-11-16 06:11:49

标签: hadoop solr hive hadoop2 solrcloud

我正在开发Hive和Solr Cloud 我必须将数据从hive索引到solr cloud,我尝试了以下链接,这对我没有好运 http://github.org/chimpler/hive-solrhttps://github.com/vroyer/hive-solr-search

在这两种情况下都是为了存储处理程序的错误

FOLLOWIG第二链接时的错误

Caused by: java.lang.ClassNotFoundException: org.vroyer.hive.solr.SolrInputFormat

我已将hive-solr * .jar复制到所有主节点和从节点中的HIVE lib和HADOOP lib中。

使用tez配置的配置单元

VERSIONS USING:
HADOOP 2.7.1 (Cluster with 3 slaves and one master)
HIVE 1.2.1
SOLR 5.3.1(Clusterd in 3 pc's)

我想在solr中索引hive数据,任何一个人都可以帮助我在其中缺少的东西。

3 个答案:

答案 0 :(得分:1)

您可以尝试使用其他工具https://github.com/lucidworks/hive-solr

为了将数据从Hive迁移到Solr,您可以创建一个solr-table,如:

  hive> CREATE EXTERNAL TABLE solr (id string, field1 string, field2 int)
        STORED BY 'com.lucidworks.hadoop.hive.LWStorageHandler'
        LOCATION '/tmp/solr'
        TBLPROPERTIES('solr.zkhost' = 'zk.host:2181/solr',
                     'solr.collection' = 'collection1',
                     'solr.query' = '*:*');

然后你可以将数据插入到Solr中进行SQLlike查询。

INSERT OVERWRITE TABLE solr SELECT b.* FROM books b;

books是hive中具有相同表模式的另一个表。

答案 1 :(得分:0)

使用给定代码构建jar并将jar添加到hadoop classpath

答案 2 :(得分:0)

确保检查构建的jar包含所需的类,并使用add jar命令将jar显式添加到classpath中,这样可以解决问题。