1. 程式人生 > >bash: mr-jobhistory-daemon.sh: command not found...

bash: mr-jobhistory-daemon.sh: command not found...

你看的教程是舊的,新版的hadoop啟動指令碼放在sbin下。start-all.sh已經逐漸被廢棄,採用新的啟動指令碼:

1

2

3

4

5

sbin/hadoop-daemon.sh  --script hdfs start datanode

sbin/hadoop-daemon.sh  --script hdfs start namenode

sbin/yarn-daemon.sh  start resourcemanager

sbin/yarn-daemon.sh  start proxyserver

sbin/mr-jobhistory-daemon.sh  start historyserver

【注意1】.不要隨意執行上述命令,需要你規劃好那幾個節點是namenode, 哪些節點是datanode, 哪個節點是resourcemanager, proxyserver, 以及historyserver

【注意2】.sbin/hadoop-daemon.sh  --script hdfs start datanode 執行後只能只能啟動當前節點;

1

sbin/hadoop-daemons.sh  --script hdfs start datanode

可以啟動etc/hadoop/slaves中指定的datanode

【注意3】. 最新版本(hadoop2.2.0)的啟動指令碼libexec/hadoop-config.sh有bug, 若想用

1

sbin/hadoop-daemons.sh  --hosts your_host_files --script hdfs start datanode

啟動節點,注意修改libexec/hadoop-config.sh第98行為:

1

98     elif "--hostnames" "$1" ]

同時要小心--hosts your_host_files option, 使用者指定的your_host_files一定放在etc/hadoop/下面,但是啟動時只指定該檔名,不包含任何路徑名,這也是該啟動指令碼的一個缺陷。

【注意4】. 也可以採用

1

sbin/hadoop-daemons.sh  --hostnames your_host_name --script hdfs start datanode

啟動某個節點