Когда я попытался выполнить следующую команду, чтобы скопировать данные из hbase в другой кластер в среде клиента hbase.Команда, которую я выполнил:
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr=[destination zk]:/hbase [source table name]
Я получил эту ошибку:
Исключение в потоке "main" java.io.FileNotFoundException: Файл не существует: hdfs: //имя сервера: 8020 / opt / hbase-1.2.10 / lib / metrics-core-2.2.0.jar по адресу org.apache.hadoop.hdfs.DistributedFileSystem $ 17.doCall (DistributedFileSystem.java:1072) по адресу org.apache.hadoop.hdfs.DistributedFileSystem $ 17.doCall (DistributedFileSystem.java:1064) в org.apache.hadoop.fs.FileSystemLinkResolver.resolve (FileSystemLinkResolver.java:81)
/opt/hbase-1.2.10/lib/metrics-core-2.2.0.jar
находится на моем локальном путино он не существует в hdfs.Похоже, что утилита CopyTable отправляет задание mapreduce без jar-зависимостей.Я прочитал несколько статей, и кажется, что единственное решение - загрузить библиотеку jar в hdf с тем же путем.Это действительно ужасное решение.
Пожалуйста, сообщите нам.Спасибо!