cdh啟動datanode報錯


問題:

為cdh新增節點時,在分配datanode后,啟動報錯

Can't open /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/config.zip: 權限不夠.
Can't open /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/proc.json: 權限不夠.
Can't open /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/config.zip,Permission deny
Can't open /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/proc.zip,Permission deny

以為是權限問題,chmod -R 777 /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process,重啟后生成新的文件夾,權限還是有問題,推測是啟動過程中root用去創建了,接着hdfs去讀這個文件,所以報錯

解決:

當重啟時,此處將進程掛起3分鍾,手動用root用戶將/youdir/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process目錄改為777,然后,沒有然后,只需等待,3分鍾后,居然就成功了,成功了。

/youdir/opt/cloudera-manager/cm-5.11.2/lib64/cmf/service/common/cloudera-config.sh
# When created, the final resting place of config files is unknown,
# so it is marked as {{CMF_CONF_DIR}}. We know what this directory will
# be here in this script, so search-replace it.
replace_conf_dir() {
  echo "CONF_DIR=$CONF_DIR"
  echo "CMF_CONF_DIR=$CMF_CONF_DIR"

############fix the Can't open /youdir/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/config.zip,   ###################
############fix the Can't open /youdir/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/proc.json     ###################
  sleep 3m;  

############fix end#############################


  # Exclude files that we don't want to be modified. (OPSAPS-37023)
  EXCLUDE_CMF_FILES=('cloudera-config.sh' 'httpfs.sh' 'hue.sh' 'impala.sh' 'sqoop.sh' 'supervisor.conf' '*.log' '*.keytab' '*jceks')
  find $CONF_DIR -type f ! -path "$CONF_DIR/logs/*" $(printf "! -name %s " ${EXCLUDE_CMF_FILES[@]}) -exec perl -pi -e "s#{{CMF_CONF_DIR}}#$CONF_DIR#g" {} \;
}

 

分析:

在日志中

中發現在find命令后,報錯,那就在find命令前將進程掛起,修改目錄權限,待執行find時,權限已符合要求

 

+ EXCLUDE_CMF_FILES=('cloudera-config.sh' 'httpfs.sh' 'hue.sh' 'impala.sh' 'sqoop.sh' 'supervisor.conf' '*.log' '*.keytab' '*jceks')
++ printf '! -name %s ' cloudera-config.sh httpfs.sh hue.sh impala.sh sqoop.sh supervisor.conf '*.log' hdfs.keytab '*jceks'
+ find /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE -type f '!' -path '/software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/logs/*' '!' -name cloudera-config.sh '!' -name httpfs.sh '!' -name hue.sh '!' -name impala.sh '!' -name sqoop.sh '!' -name supervisor.conf '!' -name '*.log' '!' -name hdfs.keytab '!' -name '*jceks' -exec perl -pi -e 's#{{CMF_CONF_DIR}}#/software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE#g' '{}' ';'
Can't open /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/config.zip: 權限不夠.
Can't open /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE/proc.json: 權限不夠.
+ make_scripts_executable
+ find /software/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agent/process/642-hdfs-DATANODE -regex '.*\.\(py\|sh\)$' -exec chmod u+x '{}' ';'
+ '[' DATANODE_MAX_LOCKED_MEMORY '!=' '' ']'
+ ulimit -l

 參考文章:https://blog.csdn.net/u011120550/article/details/80598653


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM