Skip to:
when running with kerberos, init scripts can start datanode but not stop
# service hadoop-hdfs-datanode start Starting Hadoop HDFS DataNode (hadoop-hdfs-datanode): [ OK ] starting datanode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-datanode-hive-xxx-conf2560-1000.dev.continuuity.net.out # ps auxww | grep -i datanode | grep -v grep | awk '{ print $1, $2 }' root 8833 hdfs 8855 # cat /var/run/hadoop-hdfs/hadoop-hdfs-datanode.pid 8833 # cat /var/run/hadoop-hdfs/hadoop_secure_dn.pid 8855 # service hadoop-hdfs-datanode stop Stopping Hadoop HDFS DataNode (hadoop-hdfs-datanode): [ OK ] # ps auxww | grep -i datanode | grep -v grep | awk '{ print $1, $2 }' root 8833 hdfs 8855 # cat /var/run/hadoop-hdfs/hadoop-hdfs-datanode.pid 8833 # cat /var/run/hadoop-hdfs/hadoop_secure_dn.pid 8855
it's a mismatch in HADOOP_PID_DIR's. manually updating it in /etc/hadoop/conf/hadoop-env.sh worked
when running with kerberos, init scripts can start datanode but not stop
# service hadoop-hdfs-datanode start Starting Hadoop HDFS DataNode (hadoop-hdfs-datanode): [ OK ] starting datanode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-datanode-hive-xxx-conf2560-1000.dev.continuuity.net.out # ps auxww | grep -i datanode | grep -v grep | awk '{ print $1, $2 }' root 8833 hdfs 8855 # cat /var/run/hadoop-hdfs/hadoop-hdfs-datanode.pid 8833 # cat /var/run/hadoop-hdfs/hadoop_secure_dn.pid 8855 # service hadoop-hdfs-datanode stop Stopping Hadoop HDFS DataNode (hadoop-hdfs-datanode): [ OK ] # ps auxww | grep -i datanode | grep -v grep | awk '{ print $1, $2 }' root 8833 hdfs 8855 # cat /var/run/hadoop-hdfs/hadoop-hdfs-datanode.pid 8833 # cat /var/run/hadoop-hdfs/hadoop_secure_dn.pid 8855