【问题标题】:Copy Solr HDFS Data to another Cluster将 Solr HDFS 数据复制到另一个集群
【发布时间】:2015-12-07 18:15:05
【问题描述】:

我有一个 solr 云 (v 4.10) 安装,它位于 Cloudera (CDH 5.4.2) HDFS 之上,有 3 个 solr 实例,每个实例托管每个核心的一个分片。 我正在寻找一种将 solr 数据从我们的生产集群增量复制到我们的开发集群的方法。有 3 个核心,但我只对复制其中一个感兴趣。

我尝试使用 Solr 复制 - 备份和恢复,但这似乎没有将任何内容加载到开发集群中。

http://host:8983/solr/core/replication?command=backup&location=/solr_transfer&name=core-name
http://host:8983/solr/core/replication?command=restore&location=/solr_transfer&name=core-name

我还尝试对 hdfs prod 集群中的 /solr 目录进行快照,并使用 hadoop disctp 复制文件,但 solr 索引器删除了一些文件,因此 distcp 作业失败。

hadoop distcp hftp://prod:50070/solr/* hdfs://dev:8020/solr/

有人可以帮我吗?

【问题讨论】:

  • 你找到答案了吗?
  • 否 - 我目前:(1) 停止开发集群 (2) 使用 rsync 复制 unix 文件 (3) 启动集群,这远非理想,但它确实有效
  • 备份和恢复不适用于 solr 4.10。你最后是怎么工作的。

标签: hadoop solr hdfs cloudera


【解决方案1】:

请按照以下步骤创建 solr_hdfs 文件夹的快照并将其移动到另一个集群

1.允许快照

sudo -u hdfs hadoop dfsadmin -allowSnapshot /user/solr/SolrCollectionName

2.创建具有特定名称的快照

sudo -u hdfs hadoop dfs -createSnapshot /user/solr/SolrCollectionName/ snapshotName

3。列出到快照目录

hdfs dfs -ls /user/solr/solrcollectionName/.snapshot

4。要复制,请执行以下命令

 sudo -u solr hadoop distcp hdfs://NNIP1:8020/user/solr/collectionName/.snapshot/SanpshotName  hdfs://NNIP2:8020/user/solr

5。恢复快照

sudo -u solr hadoop fs -cp /user/solr/SanpshotName/* /user/solr/SolrcollectionName/

【讨论】:

    【解决方案2】:

    经过大量尝试,这是我们制定的解决方案。 - 在第二个环境中初始化 solr,所有集合的方式与主环境相同。 - 拍摄 HDFS 的快照 - 使用 hadoop hdfs -cp 将数据复制到检查点 第一次运行后,复制作业会很快,因为您只复制增量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      • 2017-09-07
      • 2015-10-30
      • 2013-07-26
      • 1970-01-01
      • 1970-01-01
      • 2016-12-07
      相关资源
      最近更新 更多