首页 文章

将Solr HDFS数据复制到另一个群集

提问于
浏览
3

我有一个solr cloud(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/

有人能帮我一下吗?

2 回答

  • 0

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

  • 0

    请按照以下步骤创建solr_hdfs文件夹的快照,并在另一个群集上移动它

    1.Allow快照

    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/
    

相关问题