Я начал изучать hbase, и я не понимаю, как он масштабируется линейно.Действительно ли hbase весит линейно?
Проблема в том, что перед установкой hbase у вас должен быть кластер hdfs. В кластере HDFS есть главный узел, который может быть только одним во всем кластере, поэтому он является узким местом. Конечно, мы можем запустить еще один главный узел (можно запустить только еще один главный узел), но он будет находиться в режиме ожидания. Как я понимаю, hbase использует кластер HDFS для хранения данных. Таким образом, для меня логично, что нет смысла запускать более одного Hmaster, потому что все запросы будут передаваться активному хозяину hdfs, производительность которого может пострадать, если у нас слишком много запросов.
Также я не понимаю, что нам нужно установить hbase на тех же узлах с помощью hdfs или отдельно. Каковы преимущества, если мы запускаем hbase отдельно от HDFS. Как для меня это логично установить Hbase кластер на один и те же узлы с HDFS, как в следующем примере:
HDFS active master - HMaster
HDFS standby master - HMaster backup
HDFS Data node - HRegion server
для меня это наиболее логически структурировать, потому что, если мы отделим мастер HDFS от hmaster то вероятность потерять кластер hbase будет в два раза больше.
Я буду очень рад, если кто-то может поделиться информацией обо всех этих вещах. Потому что я действительно не понимаю, как hbase может линейно масштабироваться и как это работает с hdf.
Вы можете объединить HDFS, что устраняет проблему с одним NN. Имейте в виду, что NN используется только для мета-операций (например, создать раздел/WAL), который hbase не делает много, если вы его правильно настроите (только вращайтесь на достаточно больших WAL, разделенных и компактных больших разделах). –
Я попытался прочитать данные с узла данных в тот же момент, когда я отключил главный сервер hdfs, и это показало мне ошибку. Насколько я понимаю, когда мы читаем/пишем что-то из узлов данных, они сначала запрашивают главный узел для некоторой информации. Если главный узел мертв, мы не сможем работать с кластером. Возможно, я ошибаюсь, но это мое предположение. – Alexandr
да, вы правы, но это не ухудшает масштабируемость, а только отказоустойчивость. Когда вы используете HA HDFS, у вас не будет этой проблемы. См. Https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html –