Трекер вакансий не запускается

Я устанавливаю CDH4.6.0 с помощью этот сайт Я запускаю start-all.sh для запуска служб.

  /etc/init.d/hadoop-hdfs-namenode start

  /etc/init.d/hadoop-hdfs-datanode start

  /etc/init.d/hadoop-hdfs-secondarynamenode start

  /etc/init.d/hadoop-0.20-mapreduce-jobtracker start

  /etc/init.d/hadoop-0.20-mapreduce-tasktracker start

  bin/bash [to start bash prompt after starting services]

После выполнения этих инструкций как части файла докера, например

 CMD ["start-all.sh"]

Он запускает все службы

Когда я это делаю, я вижу только

 jps
 Namenode
 Datanode
 Secondary Namenode
 Tasktracker

Но трекер вакансий еще не запущен. журнал выглядит следующим образом

  2015-01-23 07:26:46,706 INFO org.apache.hadoop.metrics.jvm.JvmMetrics: 
  Initializing JVM Metrics with processName=JobTracker, sessionId=
  2015-01-23 07:26:46,735 INFO org.apache.hadoop.mapred.JobTracker: 

  JobTracker up at: 8021

  2015-01-23 07:26:46,735 INFO org.apache.hadoop.mapred.JobTracker: 

  JobTracker webserver: 50030
  2015-01-23 07:26:47,725 INFO org.apache.hadoop.mapred.JobTracker:    

  Creating the system directory

  2015-01-23 07:26:47,750 WARN org.apache.hadoop.mapred.JobTracker: Failed 

  to operate on mapred.system.dir (hdfs://localhost:8020/var/lib/hadoop-

  hdfs/cache/mapred/mapred/system) because of permissions.

  2015-01-23 07:26:47,750 WARN org.apache.hadoop.mapred.JobTracker: This 

  directory should be owned by the user 'mapred (auth:SIMPLE)'

  2015-01-23 07:26:47,751 WARN org.apache.hadoop.mapred.JobTracker: Bailing out ...

  org.apache.hadoop.security.AccessControlException: Permission denied: user=mapred, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x

Но когда я снова запускаю его из командной строки bash, он работает. Почему так? Какие-либо предложения?

Я вижу это из журнала. Трекер заданий запускается через порт 8020, и почему он пытается работать через порт 8020? Это проблема? Если да, то как с этим бороться?


person Gibbs    schedule 23.01.2015    source источник


Ответы (1)


Похоже, что пользователь mapred не имеет права записывать файлы/каталоги внутри корневого каталога HDFS.

Переключитесь на пользователя hdfs и назначьте необходимые привилегии пользователю mapred перед запуском службы mapreduce.

sudo -su hdfs ; 

hadoop fs -chmod 777 / 

/etc/init.d/hadoop-0.20-mapreduce-jobtracker stop;  /etc/init.d/hadoop-0.20-mapreduce-jobtracker start
person SachinJ    schedule 23.01.2015
comment
Не могли бы вы сказать мне причину? Почему только эта служба [отслеживание вакансий] не работает? - person Gibbs; 27.01.2015
comment
Разрешение HDFS будет включено по умолчанию. Поскольку вы используете двух пользователей для запуска HDFS (пользователь hdfs) и Mapreduce (пользователь mapred), вы получите эту ошибку. В случае автоматической установки с помощью Cloudera Manager или Ambari эта ситуация обрабатывается. - person SachinJ; 28.01.2015
comment
Спасибо чувак. У вас есть идеи по поводу этого поста? - person Gibbs; 28.01.2015