全部产品
E-MapReduce

集群运维指南

更新时间:2017-08-04 16:14:12   分享:   

E-MapReduce集群运维指南

本篇主要旨在说明EMR集群的一些运维的手段,方便大家在使用的时候可以自主的进行服务的运维。

一些通用的环境变量

在集群上,输入env命令可以看到类似如下的环境变量配置(以集群上最新的配置为准,此处只做参考):

  1. JAVA_HOME=/usr/lib/jvm/java
  2. HADOOP_HOME=/usr/lib/hadoop-current
  3. HADOOP_CLASSPATH=/usr/lib/hbase-current/lib/*:/usr/lib/tez-current/*:/usr/lib/tez-current/lib/*:/etc/emr/tez-conf:/usr/lib/hbase-current/lib/*:/usr/lib/tez-current/*:/usr/lib/tez-current/lib/*:/etc/emr/tez-conf:/opt/apps/extra-jars/*:/opt/apps/extra-jars/*
  4. HADOOP_CONF_DIR=/etc/emr/hadoop-conf
  5. SPARK_HOME=/usr/lib/spark-current
  6. SPARK_CONF_DIR=/etc/emr/spark-conf
  7. HBASE_HOME=/usr/lib/hbase-current
  8. HBASE_CONF_DIR=/etc/emr/hbase-conf
  9. HIVE_HOME=/usr/lib/hive-current
  10. HIVE_CONF_DIR=/etc/emr/hive-conf
  11. PIG_HOME=/usr/lib/pig-current
  12. PIG_CONF_DIR=/etc/emr/pig-conf
  13. TEZ_HOME=/usr/lib/tez-current
  14. TEZ_CONF_DIR=/etc/emr/tez-conf
  15. ZEPPELIN_HOME=/usr/lib/zeppelin-current
  16. ZEPPELIN_CONF_DIR=/etc/emr/zeppelin-conf
  17. HUE_HOME=/usr/lib/hue-current
  18. HUE_CONF_DIR=/etc/emr/hue-conf
  19. PRESTO_HOME=/usr/lib/presto-current
  20. PRESTO_CONF_DIR=/etc/emr/presot-conf

服务进程的启停

YARN

操作用账号:hadoop

  • ResourceManager (Master节点)
    1. // 启动
    2. /usr/lib/hadoop-current/sbin/yarn-daemon.sh start resourcemanager
    3. // 停止
    4. /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop resourcemanager
  • NodeManager (Core节点)
    1. // 启动
    2. /usr/lib/hadoop-current/sbin/yarn-daemon.sh start nodemanager
    3. // 停止
    4. /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop nodemanager
  • JobHistoryServer (Master节点)
    1. // 启动
    2. /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh start historyserver
    3. // 停止
    4. /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh stop historyserver
  • WebProxyServer (Master节点)
    1. // 启动
    2. /usr/lib/hadoop-current/sbin/yarn-daemon.sh start proxyserver
    3. // 停止
    4. /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop proxyserver

HDFS

操作用账号:hdfs

  • NameNode (Master节点)
    1. // 启动
    2. /usr/lib/hadoop-current/sbin/hadoop-daemon.sh start namenode
    3. // 停止
    4. /usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop namenode
  • DataNode (Core节点)

    1. // 启动
    2. /usr/lib/hadoop-current/sbin/hadoop-daemon.sh start datanode
    3. // 停止
    4. /usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop datanode

    Hive

    操作用账号:hadoop

  • MetaStore (Master节点)

    1. // 启动,这里的内存可以根据需要扩大
    2. HADOOP_HEAPSIZE=512 /usr/lib/hive-current/bin/hive --service metastore >/var/log/hive/metastore.log 2>&1 &
  • HiveServer2 (Master节点)
    1. // 启动
    2. HADOOP_HEAPSIZE=512 /usr/lib/hive-current/bin/hive --service hiveserver2 >/var/log/hive/hiveserver2.log 2>&1 &

HBase

操作用账号:hdfs

需要注意的,需要在组件中选择了HBase以后才能使用如下的方式来启动,否则对应的配置未完成,启动的时候会有错误。

  • HMaster (Master节点)
    1. // 启动
    2. /usr/lib/hbase-current/bin/hbase-daemon.sh start master
    3. // 重启
    4. /usr/lib/hbase-current/bin/hbase-daemon.sh restart master
    5. // 停止
    6. /usr/lib/hbase-current/bin/hbase-daemon.sh stop master
  • HRegionServer (Core节点)
    1. // 启动
    2. /usr/lib/hbase-curren/bin/hbase-daemon.sh start regionserver
    3. // 重启
    4. /usr/lib/hbase-curren/bin/hbase-daemon.sh restart regionserver
    5. // 停止
    6. /usr/lib/hbase-curren/bin/hbase-daemon.sh stop regionserver
  • ThriftServer (Master节点)
    1. // 启动
    2. /usr/lib/hbase-current/bin/hbase-daemon.sh start thrift -p 9099 >/var/log/hive/thriftserver.log 2>&1 &
    3. // 停止
    4. /usr/lib/hbase-current/bin/hbase-daemon.sh stop thrift

Hue

操作用账号:hadoop

  1. // 启动
  2. su -l root -c "${HUE_HOME}/build/env/bin/supervisor >/dev/null 2>&1 &"
  3. // 停止
  4. ps axu | grep hue // 查找到所有的hue进程
  5. kill -9 huepid // 杀掉查找到的对应hue进程

Zeppelin

操作用账号:hadoop

  1. // 启动, 这里的内存可以根据需要扩大
  2. su -l root -c "ZEPPELIN_MEM=\"-Xmx512m -Xms512m\" ${ZEPPELIN_HOME}/bin/zeppelin-daemon.sh start"
  3. // 停止
  4. su -l root -c "${ZEPPELIN_HOME}/bin/zeppelin-daemon.sh stop"

Presto

操作用账号:hdfs

  • PrestoServer (Master节点)
    1. // 启动
    2. /usr/lib/presto-current//bin/launcher --config=/usr/lib/presto-current/etc/worker-config.properties start
    3. // 停止
    4. /usr/lib/presto-current//bin/launcher --config=/usr/lib/presto-current/etc/worker-config.properties stop
  • (Core节点)
    1. // 启动
    2. /usr/lib/presto-current//bin/launcher --config=/usr/lib/presto-current/etc/coordinator-config.properties start
    3. // 停止
    4. /usr/lib/presto-current//bin/launcher --config=/usr/lib/presto-current/etc/coordinator-config.properties stop

批量操作

当需要对worker(Core)节点做统一操作时,可以写脚本命令,一键轻松解决。在EMR集群中,master到所有worker节点在hadoop和hdfs账号下是ssh打通的。

例如,需要对所有worker节点的nodemanager做停止操作,假设有10个worker节点,则可以这样做:

  1. for i in `seq 1 10`;do ssh emr-worker-$i /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop nodemanager;done
本文导读目录
本文导读目录
以上内容是否对您有帮助?