Когда я работаю с людьми в 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.0 — 2.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 + патчи
hadoop — 2.3.0 + cdh5.1 + 384
Надеюсь, теперь вы лучше понимаете версии пакетов Hadoop.