1

我需要将 couchbase 数据迁移到 HDFS,但 db 和 Hadoop 集群彼此无法访问。所以我不能以推荐的方式使用 sqoop。有没有办法使用 sqoop 将 couchbase 数据导入本地文件(而不是 HDFS)。如果可能的话,我可以这样做,然后使用 ftp 传输本地文件,然后再次使用 sqoop 将它们传输到 HDFS。

如果这是一个糟糕的解决方案,那么有没有其他方法可以传输本地文件中的所有 cb 数据。在这个 cb 集群上创建视图是一项艰巨的任务,我想避免使用它。

4

3 回答 3

0

替代解决方案(可能不那么优雅,但它有效):

  1. 使用 Couchbase 备份实用程序:cbbackup 并在本地保存所有数据。
  2. 将备份文件传输到 HDFS 可达的网络主机。
  3. 在 HDFS 可访问的网段中安装 Couchbase,并使用 Couchbase 从备份过程恢复来填充该实例。
  4. 对有权访问 HDFS 的 Couchbase 实例使用 Scoop(以推荐的方式)。
于 2015-05-12T20:35:52.097 回答
0

您可以使用 Couchbase 安装附带的 cbbackup 实用程序将所有数据导出到备份文件。默认情况下,备份实际上是以 SQLite 格式存储的,因此您可以将它们移动到您的 Hadoop 集群,然后使用任何 JDBC SQLite 驱动程序通过 Sqoop 从每个 *.cbb 文件中单独导入数据。其实前段时间我写了一篇关于这个的博客,你可以看看。

为了帮助您入门,这里是众多JDBC SQLite 驱动程序之一。

于 2015-05-13T17:12:40.413 回答
0

您可以使用 couchbase kafka 适配器将数据从 couchbase 流式传输到 kafka,并且可以将 kafka 中的数据存储在您喜欢的任何文件系统中。CouchbaseKafka 适配器使用 TAP 协议将数据推送到 kafka。

https://github.com/paypal/couchbasekafka

于 2015-05-14T20:54:23.647 回答