hadoop常用服务管理命令
时间:2014-12-02 15:31 来源:linux.it.net.cn 作者:IT
这几天正好在做cdh4.6.0到cdh5.2.0的升级测试,经常需要启动/关闭各种服务,简单看了下各个服务管理脚本,这里简单记录下:
主要的服务管理脚本如下
hdfs相关
1)hadoop-daemon.sh,可用于启动单一的服务
依次调用hadoop-config.sh和hadoop-env.sh
加载相关的配置和环境变量,比如nn的jvm配置等(hadoop-env.sh)
在这里可以设置
来控制观察hadoop启动时的debug日志
以start为例,最终通过nohup的方式来启动服务
比如以rollback的形式启动dn,最终为hdfs --config /home/vipshop/conf datanode -rollback
所以,如果要单独启动服务,可以使用hadoop-daemon.sh start xxxx这种形式。
hdfs脚本会调用具体的类,比如namenode会调用org.apache.hadoop.hdfs.server.namenode.NameNode类,最终的命令java xxxx org.apache.hadoop.hdfs.server.namenode.NameNode xxxx
2)hadoop-daemons.sh,hadoop-daemon.sh的复数类型,可用于启动多个服务器的服务,比如dn,nm
调用slaves.sh和
等命令
3)refresh-namenodes.sh
#refreshes all namenodes(hdfs dfsadmin -fs hdfs://xxxx -refreshNodes)
4)slaves.sh 解析slaves文件,并循环ssh调用命令,比如循环start datanode
5)start-dfs.sh #启动nn,dn,jn,snn (相反关闭为stop-dfs.sh)
启动时调用的命令分布如下
其中nn,dn的启动时,可以带入-upgrade或者-rollback参数,控制升级和回滚操作
(snn和jn在升级或者回滚时不需要做特殊操作)
nn,jn,snn的启动都需要带入hostname
比如nn:
jn:
#通过获取dfs.namenode.shared.edits.dir的设置
hdfs解析传入的参数,并最终调用对应的java实现类的main方法。比如
hdfs getconf -namenodes调用java xxx org.apache.hadoop.hdfs.tools.GetConf -namenodes
hdfs getconf -confKey dfs.namenode.shared.edits.dir调用java xxx org.apache.hadoop.hdfs.tools.GetConf -confKey dfs.namenode.shared.edits.dir
6)start-secure-dns.sh #kerberos环境下启动dn的脚本
7)start-balancer.sh #启动balance服务(相反关闭为stop-balancer.sh)
#调用hdfs start balancer (org.apache.hadoop.hdfs.server.balancer.Balancer类)
8)start-all.sh ##start-dfs.sh + start-yarn.sh (相反关闭为stop-all.sh)
yarn相关
1)yarn-daemon.sh
最终调用yarn xxx,比如yarn start nodemanager
2)yarn-daemons.sh
会调用slaves.sh和yarn-daemon.sh
3)start-yarn.sh,(相反关闭为stop-yarn.sh)
#yarn-daemon.sh start resourcemanager
yarn-daemons.sh start nodemanager
综上:
以要启动dn为例
(责任编辑:IT)
这几天正好在做cdh4.6.0到cdh5.2.0的升级测试,经常需要启动/关闭各种服务,简单看了下各个服务管理脚本,这里简单记录下: 主要的服务管理脚本如下 hdfs相关 1)hadoop-daemon.sh,可用于启动单一的服务 依次调用hadoop-config.sh和hadoop-env.sh 加载相关的配置和环境变量,比如nn的jvm配置等(hadoop-env.sh) 在这里可以设置 来控制观察hadoop启动时的debug日志 以start为例,最终通过nohup的方式来启动服务 比如以rollback的形式启动dn,最终为hdfs --config /home/vipshop/conf datanode -rollback 所以,如果要单独启动服务,可以使用hadoop-daemon.sh start xxxx这种形式。 hdfs脚本会调用具体的类,比如namenode会调用org.apache.hadoop.hdfs.server.namenode.NameNode类,最终的命令java xxxx org.apache.hadoop.hdfs.server.namenode.NameNode xxxx 2)hadoop-daemons.sh,hadoop-daemon.sh的复数类型,可用于启动多个服务器的服务,比如dn,nm 调用slaves.sh和 等命令 3)refresh-namenodes.sh #refreshes all namenodes(hdfs dfsadmin -fs hdfs://xxxx -refreshNodes) 4)slaves.sh 解析slaves文件,并循环ssh调用命令,比如循环start datanode 5)start-dfs.sh #启动nn,dn,jn,snn (相反关闭为stop-dfs.sh) 启动时调用的命令分布如下 其中nn,dn的启动时,可以带入-upgrade或者-rollback参数,控制升级和回滚操作 (snn和jn在升级或者回滚时不需要做特殊操作) nn,jn,snn的启动都需要带入hostname 比如nn: jn: #通过获取dfs.namenode.shared.edits.dir的设置 hdfs解析传入的参数,并最终调用对应的java实现类的main方法。比如 hdfs getconf -namenodes调用java xxx org.apache.hadoop.hdfs.tools.GetConf -namenodes hdfs getconf -confKey dfs.namenode.shared.edits.dir调用java xxx org.apache.hadoop.hdfs.tools.GetConf -confKey dfs.namenode.shared.edits.dir 6)start-secure-dns.sh #kerberos环境下启动dn的脚本 7)start-balancer.sh #启动balance服务(相反关闭为stop-balancer.sh) #调用hdfs start balancer (org.apache.hadoop.hdfs.server.balancer.Balancer类) 8)start-all.sh ##start-dfs.sh + start-yarn.sh (相反关闭为stop-all.sh) yarn相关 1)yarn-daemon.sh 最终调用yarn xxx,比如yarn start nodemanager 2)yarn-daemons.sh 会调用slaves.sh和yarn-daemon.sh 3)start-yarn.sh,(相反关闭为stop-yarn.sh) #yarn-daemon.sh start resourcemanager yarn-daemons.sh start nodemanager 综上: 以要启动dn为例 (责任编辑:IT) |