Статьи

Hadoop и загадка номера версии

Когда я работаю с людьми в Hadoop, я спрашиваю, что вы думаете, это простой вопрос. Какую версию Hadoop вы используете? Обычно ответом является одна из нескольких попыток объяснить, что установлено, в том числе —

Ответ Перевод
Hortonworks / Cloudera Это мой Hadoop Distribution.
Hortonworks 2 Я знаю, что мы не используем версию 1.
Hadoop 2 Я не знаю мой дистрибутив, но я использую Hadoop 2.
апаш кто-то еще работает над этим. Понятия не имею.

В действительности это не так просто, как вы думаете. Я думаю, что самый простой способ получить максимальную отдачу — просто взглянуть на номер версии установленного пакета. Таким образом, на системах на базе Yum вы можете просто сделать

yum list hive\*
Loaded plugins:fastestmirror,priorities
Determining fastest mirrors
Installed Packages
hive.noarch  [email protected]
[email protected]
[email protected]
hive-webhcat.noarch  [email protected]
Available Packages
hive-hcatalog-server.noarch  0.13.0.2.1.1.0-385.el6HDP-2.1
hive-metastore.noarch  0.13.0.2.1.1.0-385.el6HDP-2.1
hive-server.noarch0.13.0.2.1.1.0-385.el6HDP-2.1
hive-server2.noarch  0.13.0.2.1.1.0-385.el6HDP-2.1
hive-webhcat-server.noarch0.13.0.2.1.1.0-385.el6HDP-2.1
hivex.i6861.3.3-4.2.el6  base
hivex.x86_641.3.3-4.2.el6  base
hivex-devel.i6861.3.3-4.2.el6  base
hivex-devel.x86_641.3.3-4.2.el6  base

и вернитесь к списку того, что установлено и что доступно. Вы также можете просто запросить базу данных rpm:

rpm-qa|grep hadoop
hadoop-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-yarn-proxyserver-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-hdfs-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-yarn-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-mapreduce-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-yarn-resourcemanager-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-libhdfs-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-client-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-mapreduce-historyserver-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-yarn-nodemanager-2.4.0.2.1.1.0-385.el6.x86_64
hadoop-lzo-0.6.0-1.x86_64
hadoop-lzo-native-0.6.0-1.x86_64

Если вы запустите SLES, вам нужно будет выполнить zypper и в окнах взглянуть на диалоговое окно «Установка и удаление программ» в большинстве основных новых версий Windows. В конце концов, вам остается эта загадочная строка для декодирования. Если вы внимательно посмотрите, есть метод к безумию, и он помогает узнать этот уровень детализации при работе в такой области, как Hadoop, где второстепенные номера версий или номера сборки могут иметь значение.

Например:
имя пакетаверсияhadoop архитектуры2.4.0.2.1.1.0-385.el6.x86_64

Номер версии в данном случае взят из дистрибутива Hortonworks, поэтому у нас есть семизначный (8 мест) номер версии.

версия пакетаВерсия HDPсборка
2.4.02.1.1.0сборка 385

Важно знать как версию Hadoop, так и версию пакета, над которым вы работаете. Например, если кто-то говорит: «Я работаю над Hive». Вы действительно должны знать, какая версия улья И какая версия Hadoop, потому что они тесно связаны. Если кто-то дает вам строку пакета улья:

hive-0.13.0.2.1.1.0-385.el6.noarch

Вам действительно недостаточно информации, чтобы сказать, какую версию Hadoop кто-то использует. Вы знаете, что они используют HDP 2.1.1.0, поэтому вы либо запрашиваете ту же информацию об установленном пакете Hadoop, либо переходите к заметкам о выпуске дистрибутива, чтобы декодировать номер версии дистрибутива в версию Apache Hadoop. В каждом дистрибутиве используется своя комбинация пакетов, и стоит точно знать, что вы получаете при загрузке дистрибутива. У Cloudera точно такие же проблемы, и их упаковка может оказаться еще более интересной, поскольку они сообщают вам, сколько патчей было применено. Hortonworks делает это в контексте своих заметок о выпуске.

имя пакетаверсия пакета + версия CDH + патчи

hadoop2.3.0 + cdh5.1 + 384

Надеюсь, теперь вы лучше понимаете версии пакетов Hadoop.