#java #bigdata #hbase #data-analysis
Вопрос:
Я создал таблицу в HBase с именем notifications
. Я хочу подключиться к этой таблице для выполнения операций вставки и удаления.
Код, который я использовал для создания соединения, выглядит так:
Configuration conf = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(conf);
Table table = connection.getTable(TableName.valueOf("notifications"));
Но это, похоже, не работает.
Комментарии:
1. Привет, вы хотите, чтобы это работало только на JAVA или python также работал на вас ?
Ответ №1:
Вы поставляете hbase-site.xml вместе с приведенным выше кодом, и вы уверены, что ваше приложение находит его правильно?
Вашему приложению необходимо знать адрес кворума zookeeper и номер порта для подключения. Обычно вы указываете их в hbase-site.xml, которые ваше приложение должно иметь возможность видеть. Но если вы хотите быть уверены, что подключаетесь в нужном месте, вы можете установить самые основные значения программно непосредственно в своем коде, например так:
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "zk1,zk2,zk3");
conf.set("hbase.zookeeper.property.clientPort", "2181");
Connection connection = ConnectionFactory.createConnection(conf);
Table table = connection.getTable(TableName.valueOf("notifications"));
Таким образом, вышесказанное предполагает, что у вас есть 3 узла zk zk1, zk2 и zk3, и они используют порт 2181 (значение по умолчанию для hbase, но вы можете дважды проверить свой hbase-site.xml на стороне сервера)
Ответ №2:
В чем заключается ошибка, которую вы получаете? Проверьте, есть ли у вас hbase-site.xml amp; core-site.xml файлы конфигурации в пути к классу. Если нет, добавьте его в конфигурацию перед созданием соединения.