HBase: incrementColumnValue () зависает с таймаутом при удаленном запуске - PullRequest
0 голосов
/ 08 октября 2018

Существует кластер HBase, который озадачивает меня очень простым фрагментом java:

    Configuration my_conf = HBaseConfiguration.create();
    my_conf.set("hbase.zookeeper.quorum", "192.168.0.100,192.168.0.101,192.168.0.102");
    my_conf.set("hbase.zookeeper.property.clientPort", 2181);
    my_conf.set("zookeeper.znode.parent", "/my-root-node");

    try
    {
        Connection conn = ConnectionFactory.createConnection(my_conf);
        Table my_table = conn.getTable(TableName.valueOf("mytable"));
        long id = my_table.incrementColumnValue(Bytes.toBytes("my.row"), Bytes.toBytes("key"), Bytes.toBytes("auto"), 1, Durability.SKIP_WAL);
    }
    catch(IOException ex)
    {
        System.out.println(ex.toString());
    }

Дело в том, что этот код работает нормально, если запущен непосредственно на стороне сервера (любой компьютер в этой подсети).

При запуске с какой-либо внешней машины, например, с моего компьютера или серверов из другой подсети и т. Д., Код зависает при вызове incrementColumnValue().

Согласно журналам, я вижу, что HBase входит внутрь incrementColumnValue() вызов, затем создает и запускает RegionServerCallable экземпляр, затем ожидает его завершения и зависает до тех пор, пока не обнаружится тайм-аут (независимо от продолжительности тайм-аута, я изменил его на 12 часов с тем же эффектом) .

Исключение тайм-аута содержит следующее сообщение:

callTimeout = 1200000, callDuration = 2214143: строка 'my.row' в таблице 'mytable' со значением NULL

То, что null в конце сообщения должно быть именем региона, однако кажется, что HBase испытывает проблемы с обнаружением региона.

У меня нет идей, почему вызов RPC может бытьподается хорошо, если инициированоиз внутренней сети и происходит сбой во внутренних суб-вызовах, если инициируется из внешнего помещения.Любая помощь приветствуется.

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