Данные Hbase удалены при перезапуске - PullRequest
0 голосов
/ 01 июля 2018

Я не уверен, что происходит. Я создал таблицу вчера в hbase, используя следующий код.

Я запускаю hbase с помощью этой команды.

hbase-2.0.0/bin$ ./start-hbase.sh

Код для создания таблицы

private void createStudentTable(String workspace) {
        List<ColumnFamilyDescriptor> colms = new ArrayList<>();
        colms.add(ColumnFamilyDescriptorBuilder.of("id"));
        colms.add(ColumnFamilyDescriptorBuilder.of("name"));


        TableDescriptor desc = TableDescriptorBuilder.newBuilder(TableName.valueOf(workspace + "_an_data"))
                  .setColumnFamilies(colms)
                  .build();

        hbaseAdmin.createTable(desc); //class variable 
    }

Я отключаю hbase, используя команду

hbase-2.0.0/bin$ ./stop-hbase.sh

Выключил мою систему, на следующий день проснулся, запустил hbase.

Войдите в оболочку, выполнив команду list, приведите ее

TABLE                                                                           
0 row(s)

Я что-то неправильно понимаю? hbase - это не база данных файловой памяти? Это в памяти?

Я использовал драйвер Phoenix в DBeaver с тем же поведением

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

В качестве примера для ответа @ gagan

Файл конфигурации: /hbase-2.0.0/conf/hbase-site.xml

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/pasu/apps/hbase-2.0.0</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/pasu/apps/hbase-2.0.0/data</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
</configuration>
0 голосов
/ 01 июля 2018

По умолчанию hbase.rootdir находится в / tmp, который очищается при каждой перезагрузке. Обновите hbase-site.xml, чтобы использовать каталог по вашему выбору.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...