Проследяването на работа не се стартира

Инсталирам 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, мога да видя само

 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 prompt, работи. Защо така? Някакви предположения?

Виждам го от дневника. Job tracker стартира от порт 8020 и защо се опитва да работи на порт 8020? проблем ли е Ако е така, как да се справим с него?


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


Отговори (1)


Изглежда, че картографираният потребител няма привилегия да записва файлове/директории в основната директория на 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
Бихте ли ми казали причината? Защо само тази услуга [job tracker] се проваля? - person Gibbs; 27.01.2015
comment
Разрешението за HDFS ще бъде активирано по подразбиране. Тъй като използвате двама потребители за работа с HDFS (hdfs user) и Mapreduce (mapred user), ще получите тази грешка. В случай на автоматизирана инсталация с помощта на Cloudera Manager или Ambari, тази ситуация се обработва. - person SachinJ; 28.01.2015
comment
Мерси човече. Имате ли представа за тази публикация - person Gibbs; 28.01.2015