1. 程式人生 > >大資料之(2)修改Hadoop叢集日誌目錄,資料存放目錄

大資料之(2)修改Hadoop叢集日誌目錄,資料存放目錄

Hadoop有時會有unhealthy Node不健康的非Active節點存產生,具體錯誤內容如下。

一、錯誤內容

-== log-dirs usable space is below configured utilization percentage/no more usable space [ /hadoop/hadoop-2.9.0/logs/userlogs : used space above threshold of 90.0% ]==
如下圖所示。
在這裡插入圖片描述

二、錯誤解釋

日誌目錄可用空間已經低於可用空間閾值90%。因此此DataNode節點不可使用。

  • 使用df -h 命令檢視磁碟空間使用情況由於使用了預設的日誌存放目錄即HADOOP_HOME/logs此處為/hadoop/hadoop-2.9.0/logs/,而此處/根目錄的使用已經到達92%,所以低於90%可用日誌空間閾值,所以產生了此不健康節點,原因一清二楚,解決方法也比較清楚。
/dev/sda4        50G   43G  3.9G   92% /
devtmpfs        3.6G     0  3.6G    0% /dev
tmpfs           3.6G     0  3.6G    0% /dev/shm
tmpfs           3.6G  283M  3.3G    8% /run
tmpfs           3.6G     0  3.6G    0% /sys/fs/cgroup
/dev/sda2       3.8G  136M  3.4G    4% /boot
/dev/sda1       200M  9.8M  191M    5% /boot/efi
/dev/sda3        90G  7.6G   78G    9% /data
tmpfs           728M     0  728M    0% /run/user/0

三、解決方法

方法一:清除無用的根目錄/下的其他資源,使磁碟可用空間保持在閾值90%之下即可。

方法二:修改所有資料檔案儲存目錄(此處為了都指向/data目錄下,因為有90G)。

  1. 修改tmp檔案目錄在core-site.xml檔案裡
    修改為/data/hadoop/tmp
<property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop/tmp</value>
    </property>

  1. 修改namenode.name.dir和datanode.data.dir在hdfs-site.xml檔案裡
    此處修改為/data/hadoop/dfs/name和/data/hadoop/dfs/data
<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/hadoop/dfs/data</value>
    </property>

  1. 修改log dir在hadoop-env.sh檔案裡
    加入下面內容export HADOOP_LOG_DIR=/data/hadoop/logs
export HADOOP_LOG_DIR=/data/hadoop/logs
  1. 修改yarn log dir在yarn-env.sh檔案裡
    加入export YARN_LOG_DIR=/data/hadoop/logs,注意此yarn目錄如果不修改還是會提示90%閾值問題,他預設也是在HADOOP_HOME/logs之下存放,因此必須明確顯式指定。
export YARN_LOG_DIR=/data/hadoop/logs
if [ "$YARN_LOG_DIR" = "" ]; then
  YARN_LOG_DIR="$HADOOP_YARN_HOME/logs"
fi
if [ "$YARN_LOGFILE" = "" ]; then
  YARN_LOGFILE='yarn.log'
fi

  1. 此時在sbin目錄下./start-all.sh啟動hadoop叢集,瀏覽http://172.16.16.15:8088/cluster/nodes 問題節點已經恢復正常。
    在這裡插入圖片描述