はじめに
Windows版HadoopをYoutubeの説明通りに設定していったはずがYARNがなぜか動かなかったため、対処した内容のメモです。
YARNの実行コマンドは「start-all.cmd」でも「start-yarn.cmd」でもどちらでもいいですが、本記事では入力のしやすさのためallの方で記述しています。
環境
OS Windows10(VMware上)
Hadoop 2.9.2
JDK 1.8.0_201
Resource Managerが動かない
エラー内容
「start-all.cmd」実行後、Resource Manager窓に以下のエラーが出てResource Managerが停止してしまいました。
FATAL resourcemanager.ResourceManager: Error starting ResourceManager
java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/server/timelineservice/collector/TimelineCollectorManager
解決法
hadoopフォルダにあるshare\hadoop\yarn\timelineserverの中の「hadoop-yarn-server-timelineservice-2.9.2.jar」を一つ上の階層(yarn)に移せばOKでした。
Node Managerが動かない
エラー内容
「start-all.cmd」実行後、Node Manager窓に以下のエラーが出てNode Managerが停止してしまいました。
ERROR nodemanager.NodeManager: Error starting NodeManager
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Failed to setup local dir /tmp/hadoop-<USERNAME>/rm-local-dir, which was marked as good.
解決法
「管理者として実行」したコマンドプロンプトで「start-all.cmd」を実行するとOKでした。
参考URL
https://stackoverflow.com/questions/51118358/noclassdeffounderror-org-apache-hadoop-yarn-server-timelineservice-collector-tim
https://issues.apache.org/jira/browse/YARN-3120
最後に
Node Managerの方は他にもやりようがあると思いますが、とりあえずこれが一番楽だったのでこうしています。
timelineserviceの方はこれで解決できるのがちょっと納得いかなかったです。