Hadoop组件运维命令
TODO
Agent在supervise的方式下启动,如果进程死掉会被系统立即重启,以提供服务。
简介
项目中初次使用原生的Hadoop集群,各组件不稳定,常需要各种重启命令。
Hadoop 2.7
应该按照下文的顺序启动集群,更详细的说明请参考# HA 模式下的 Hadoop+ZooKeeper+HBase 启动顺序
- ZooKeeper
节点规划中,zookeeper跟journalnode放在一起,共5个节点1
2zkServer.sh start # QuorumPeerMain
hadoop-daemon.sh start journalnode # JournalNode - 启动NameNode
1
hadoop-daemon.sh start namenode
- 启动DataNode
1
2hadoop-daemon.sh start datanode # 单个
hadoop-daemons.sh start datanode # 整个集群 - 启动ResourceManager
1
yarn-daemon.sh start resourcemanager
- 启动NodeManager
1
2yarn-daemon.sh start nodemanager # 单个
yarn-daemons.sh start nodemanager # 整个集群 - 启动zkfc(DFSZKFailoverController) - HA两台master都要
1
hadoop-daemon.sh start zkfc
- 启动JobHistoryServer
1
mr-jobhistory-daemon.sh start historyserver
- 切换Active的NameNode
1
hdfs haadmin -failover nn2 nn1
- 查看hdfs状态
1
hdfs haadmin -getServiceState nn1
- 切换Active的ResourceManager
由于yarn rmadmin不支持-failover命令,只能kill掉active的ResourceManager进程,待切换后再查看
1 | yarn rmadmin -getServiceState rm1 #查看状态 |
nn1是namenode1,nn2是namenode2. 对应的配置文件是hdfs-site.xml
- 平衡
参考文章:
原因
参数
算法
任意节点执行: dfsadmin -setBalancerBandwidth 10485760 (=10MB/s)
该命令会在两个NameNode节点生效. 后续执行 hdfs balancer 会快很多.
默认是每个DataNode节点是1MB/s
生产环境点对点大约是60MB/s, 这样配置大约会占用六分之一的带宽.
不要再设置更大了, 因为多对机器传输累积到网关的速度就很大了.
hdfs balancer命令原本设计是常驻后台进程, 所以默认参数平衡时很慢的. 适用于长期运行, 不影响业务操作. 无限期后台hdfs balancer -idleiterations -1
1 | dfsadmin -setBalancerBandwidth 10485760 |
Hbase
- 启动HMaster
1
hbase-daemon.sh start master
- 启动HRegionServer
1
2hbase-daemon.sh start regionserver # 单个
hbase-daemons.sh start regionserver # 整个集群
Hive
- 启动Metastore
1
2
3# hive --service metastore # 关键部分
nohup hive --service metastore > /home/hadoop/soft/hive/logs/metastore.log 2>&1 & - 启动HiveServer2
1
2
3# hive --service hiveserver2 # 关键部分
nohup hive --service hiveserver2 > /home/hadoop/soft/hive/logs/hiveserver2.log 2>&1 &
presto
coordinator和worker都是一样的启动命令
1 | /home/hadoop/soft/presto/bin/launcher start |
Azkaban
Azkaban工作流项目使用的是2.5.0版本,有Web和Executor两个组件
1 | cd /home/hadoop/soft/azkaban-web-2.5.0/ |
Kylin
1 | cd /home/hadoop/soft/kylin/bin |
Hue
1 | cd /home/hadoop/soft/hue |
杀掉yarn上的任务
1 | bin/yarn application -kill <applicationId> |
统计hive数据仓库表占用空间
1 | #!/usr/bin/env python |
hadoop mapreduce Job Name指定任务名
sqoop参数
sqoop export/import -Dmapreduce.job.name=”<你指定的任务名>”