将solr hdfs数据复制到另一个集群

3gtaxfhh  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(429)

我有一个solr cloud(v4.10)安装,它位于cloudera(cdh5.4.2)hdfs之上,有3个solr示例,每个示例承载每个核心的一个碎片。我正在寻找一种将solr数据从生产集群增量复制到开发集群的方法。有3个核心,但我只对复制其中一个感兴趣。
我尝试过使用solr复制-备份和恢复,但似乎没有将任何内容加载到dev集群中。

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 dir,并使用hadoop disctp复制文件,但是solr indexer删除了一些文件,因此distcp作业失败。

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

有人能帮我吗?

txu3uszq

txu3uszq1#

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

xt0899hw

xt0899hw2#

请按照以下步骤创建solr\u hdfs文件夹的快照,并将其移动到另一个集群上
1.允许快照

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

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

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

三。列表到快照目录

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/

相关问题