Каков наилучший способ начать и остановить экосистему асуопа с командной строкой?
Я вижу, что мы можем начать использовать экосистему suoop,
-
start-all.sh & stop-all.sh
Который говорит, что он не рекомендуется использовать start-dfs.sh и start-yarn.sh.
-
start-dfs.sh, stop-dfs.sh and start-yarn.sh, stop-yarn.sh
-
hadoop-daemon.sh namenode/datanode and yarn-deamon.sh resourcemanager
EDIT: Я думаю, что для каждой команды должны быть некоторые конкретные варианты использования.
Ответы
Ответ 1
start-all.sh и stop-all.sh: Используется для запуска и останова демонов daoop. Выпуск его на мастер-машине приведет к запуску/остановке демонов на всех узлах кластера. Устаревший, как вы уже заметили.
start-dfs.sh, stop-dfs.sh и start-yarn.sh, stop-yarn.sh: То же, что и выше, но запускать/останавливать демоны HDFS и YARN отдельно на всех узлах от мастер-машины. Целесообразно использовать эти команды сейчас над start-all.sh и stop-all.sh
hasoop-daemon.sh namenode/datanode и yarndeamon.sh resourcemanager: Чтобы запустить отдельные демоны на отдельной машине вручную. Вам нужно перейти к конкретному node и выполнить эти команды.
Случай использования: предположим, что вы добавили новое DN в свой кластер, и вам нужно запустить демон DN только на этом компьютере,
bin/hadoop-daemon.sh start datanode
Примечание. У вас должен быть включен ssh, если вы хотите запустить всех демонов на всех узлах с одной машины.
Надеюсь, что это ответит на ваш запрос.
Ответ 2
От Hadoop страница,
start-all.sh
Это запустит Namenode, Datanode, Jobtracker и Tasktracker на вашем компьютере.
start-dfs.sh
Это вызовет HDFS, когда Namenode будет запущен на компьютере, на котором вы запускали команду. На такой машине вам понадобится start-mapred.sh
, чтобы раздельно запустить трекер задания
start-all.sh/stop-all.sh
должен выполняться на главном node
Вы использовали бы start-all.sh
в кластере single node (т.е. где у вас были бы все службы на одном и том же node). Наменода также является datanode и является ведущим node).
В настройке multi- node,
Вы будете использовать start-all.sh
на главном node и начнете то, что необходимо на ведомых устройствах.
В качестве альтернативы,
Используйте start-dfs.sh
на node, который вы хотите запустить Namenode. Это вызовет HDFS с Namenode, запущенным на машине, на которой вы запускали команду, и Datanodes на машинах, перечисленных в файле подчиненных.
Используйте start-mapred.sh
на компьютере, на котором вы планируете запустить Jobtracker. Это приведет к созданию кластера Map/Reduce с помощью Jobtracker, запущенного на компьютере, на котором вы запускали команду, и Tasktrackers, запущенных на машинах, перечисленных в файле подчиненных.
hadoop-daemon.sh
, как указано Tariq, используется для каждого отдельного node. Мастер node не запустит службы на ведомых устройствах. В одной установке node это будет действовать так же, как start-all.sh
. В настройке multi- node вам нужно будет получить доступ к каждому node (master as а также подчиненные) и выполнить на каждом из них.
Посмотрите this start-all.sh
он вызывает конфигурацию, за которой следуют dfs и mapred
Ответ 3
Запуск
start-dfs.sh (starts the namenode and the datanode)
start-mapred.sh (starts the jobtracker and the tasktracker)
Остановка
stop-dfs.sh
stop-mapred.sh