关于 三月, 2015 的文章

Hadoop运维笔记 之 调整hdfs与yarn用户的进程nice优先级

最近,线上的CDH5集群增加了一批新的datanode,但是其中有一些datanode的负载明显比其它的要高。
通过Ganglia上的图形报告查看,发现这些datanode的CPU %ni很高,进一步查看进程,发现不少的hdfs与yarn进程运行在高优先级(<0 可通过 ps -lp pid 查看)上,这样会夺取一部分重要系统进程的资源,导致一些问题。 于是,我们通过在线调整的方式,将所有hdfs与yarn用户的进程优先级都设置为了0,将问题解决了。 具体步骤如下: vim /etc/security/limits.d/hdfs.conf 新增如下配置:

hdfs    hard    priority        20
hdfs    hard    nice            0

vim /etc/security/limits.d/yarn.conf
新增如下配置:

yarn    hard    priority  20
yarn    hard    nice    0

vim /etc/security/limits.d/mapred.conf
新增如下配置:

mapred    hard    priority  20
mapred    hard    nice    0

执行命令,在线调整hdfs,yarn与mapred用户的进程nice优先级:
renice 0 -u hdfs yarn mapred

ulimit -Hr 20 hdfs
ulimit -Hr 20 yarn
ulimit -Hr 20 mapred

ulimit -He 0 hdfs
ulimit -He 0 yarn
ulimit -He 0 mapred

,

2 Comments

分享一个有趣的.bashrc设置

在使用Mac与Linux的命令行终端时,经常会在一些目录之间频繁的切换,于是我参考了一些资料,在.bashrc中写了几个小函数,来方便这样的操作。

操作示例
1.进入某个目录并通过mark命令创建一个链接
[dong@Dong-MacBookPro ~]$ cd Downloads/Pictures/
[dong@Dong-MacBookPro Pictures]$ mark pictures

2.执行jump命令,在敲Tab键后的自动完成列表中选择想要进入的链接
[dong@Dong-MacBookPro Pictures]$ cd
[dong@Dong-MacBookPro ~]$ jump
chrome github pictures tmp
[dong@Dong-MacBookPro ~]$ jump pictures
[dong@Dong-MacBookPro Pictures]$ pwd
/Users/dong/Downloads/Pictures

3.执行unmark命令,在敲Tab键后的自动完成列表中选择想要删除的链接
[dong@Dong-MacBookPro Pictures]$ cd
[dong@Dong-MacBookPro ~]$ unmark
chrome github pictures tmp
[dong@Dong-MacBookPro ~]$ unmark pictures
remove /Users/dong/.marks/pictures? y
[dong@Dong-MacBookPro ~]$ jump
chrome github tmp

相关代码:

# Filesystem Markers & Jump
export MARKPATH=$HOME/.marks
function jump(){
  cd -P $MARKPATH/$1 2>/dev/null || echo "No such mark: $1"
}
function mark(){
  mkdir -p $MARKPATH; ln -s $(pwd) $MARKPATH/$1
}
function unmark(){
  rm -i $MARKPATH/$1
}

function _marks(){
  COMPREPLY=()
  local cur=${COMP_WORDS[COMP_CWORD]};
  local com=${COMP_WORDS[COMP_CWORD-1]};
  case $com in
    'jump')
      local marks=($(ls ${MARKPATH}))
      COMPREPLY=($(compgen -W '${marks[@]}' -- $cur))
      ;;
    'unmark')
      local marks=($(ls ${MARKPATH}))
      COMPREPLY=($(compgen -W '${marks[@]}' -- $cur))
      ;;
  esac
}
complete -F _marks jump
complete -F _marks unmark

1 Comment