开发者社区> 问答> 正文

E-MapReduce 集群运维指南是什么?



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


    [font='iconfont']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

展开
收起
nicenelly 2017-10-30 16:36:30 1991 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
企业运维之云原生和Kubernetes 实战 立即下载
可视化架构运维实践 立即下载
2021云上架构与运维峰会演讲合集 立即下载