本文介绍E-MapReduce集群部分运维的方法,以便于您可以自主的运维服务。
前提条件
一些通用的环境变量
在集群Master节点上,输入
env
命令,可以看到类似如下的环境变量配置(具体以集群上最新的配置为准)。 JAVA_HOME=/usr/lib/jvm/java
HADOOP_HOME=/usr/lib/hadoop-current
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/*
HADOOP_CONF_DIR=/etc/emr/hadoop-conf
SPARK_HOME=/usr/lib/spark-current
SPARK_CONF_DIR=/etc/emr/spark-conf
HBASE_HOME=/usr/lib/hbase-current
HBASE_CONF_DIR=/etc/emr/hbase-conf
HIVE_HOME=/usr/lib/hive-current
HIVE_CONF_DIR=/etc/emr/hive-conf
PIG_HOME=/usr/lib/pig-current
PIG_CONF_DIR=/etc/emr/pig-conf
TEZ_HOME=/usr/lib/tez-current
TEZ_CONF_DIR=/etc/emr/tez-conf
ZEPPELIN_HOME=/usr/lib/zeppelin-current
ZEPPELIN_CONF_DIR=/etc/emr/zeppelin-conf
HUE_HOME=/usr/lib/hue-current
HUE_CONF_DIR=/etc/emr/hue-conf
PRESTO_HOME=/usr/lib/presto-current
PRESTO_CONF_DIR=/etc/emr/presot-conf
启停服务进程
您可以在E-MapReduce控制台,对指定服务执行启动、停止和重启操作。各个服务进程的操作类似,下面以HDFS为例,介绍如何启动、停止和重启emr-worker-1主机上的DataNode进程。
批量操作服务进程
本示例以HDFS为例,介绍如何重启所有实例上的DataNode进程。
通过命令行方式启停服务进程
- YARN
操作用账号:hadoop
- ResourceManager(Master节点)
// 启动ResourceManager /usr/lib/hadoop-current/sbin/yarn-daemon.sh start resourcemanager // 停止ResourceManager /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop resourcemanager
- NodeManager(Core节点)
// 启动NodeManager /usr/lib/hadoop-current/sbin/yarn-daemon.sh start nodemanager // 停止NodeManager /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop nodemanager
- JobHistoryServer(Master节点)
// 启动JobHistoryServer /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh start historyserver // 停止JobHistoryServer /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh stop historyserver
- JobHistoryServer (Master节点)
// 启动 /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh start historyserver // 停止 /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh stop historyserver
- WebProxyServer(Master节点)
// 启动WebProxyServer /usr/lib/hadoop-current/sbin/yarn-daemon.sh start proxyserver // 停止WebProxyServer /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop proxyserver
- ResourceManager(Master节点)
- HDFS
操作用账号:hdfs
- NameNode(Master节点)
// 启动NameNode /usr/lib/hadoop-current/sbin/hadoop-daemon.sh start namenode // 停止NameNode /usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop namenode
- DataNode(Core节点)
// 启动DataNode /usr/lib/hadoop-current/sbin/hadoop-daemon.sh start datanode // 停止DataNode /usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop datanode
- NameNode(Master节点)
- Hive
操作用账号:hadoop
- MetaStore(Master节点)
// 启动MetaStore,内存可以根据需要扩大。 HADOOP_HEAPSIZE=512 /usr/lib/hive-current/bin/hive --service metastore >/var/log/hive/metastore.log 2>&1 &
- HiveServer2(Master节点)
// 启动 HADOOP_HEAPSIZE=512 /usr/lib/hive-current/bin/hive --service hiveserver2 >/var/log/hive/hiveserver2.log 2>&1 &
- MetaStore(Master节点)
- HBase
操作用账号:hdfs
需要注意的,需要在组件中选择了 HBase 以后才能使用如下的方式来启动,否则对应的配置未完成,启动的时候会有错误。
- HMaster(Master节点)
// 启动HMaster /usr/lib/hbase-current/bin/hbase-daemon.sh start master // 重启HMaster /usr/lib/hbase-current/bin/hbase-daemon.sh restart master // 停止HMaster /usr/lib/hbase-current/bin/hbase-daemon.sh stop master
- HRegionServer(Core节点)
// 启动HRegionServer /usr/lib/hbase-current/bin/hbase-daemon.sh start regionserver // 重启HRegionServer /usr/lib/hbase-current/bin/hbase-daemon.sh restart regionserver // 停止HRegionServer /usr/lib/hbase-current/bin/hbase-daemon.sh stop regionserver
- ThriftServer(Master节点)
// 启动ThriftServer /usr/lib/hbase-current/bin/hbase-daemon.sh start thrift -p 9099 >/var/log/hive/thriftserver.log 2>&1 & // 停止ThriftServer /usr/lib/hbase-current/bin/hbase-daemon.sh stop thrift
- HMaster(Master节点)
- Hue
操作用账号:hadoop
// 启动 su -l root -c "${HUE_HOME}/build/env/bin/supervisor >/dev/null 2>&1 &" // 停止 ps aux | grep hue // 查找到所的Hue进程。 kill -9 huepid // 杀掉查找到的对应Hue进程。
- Zeppelin
操作用账号:hadoop
// 启动Zeppelin ,内存可以根据需要扩大。 su -l root -c "ZEPPELIN_MEM=\"-Xmx512m -Xms512m\" ${ZEPPELIN_HOME}/bin/zeppelin-daemon.sh start" // 停止Zeppelin su -l root -c "${ZEPPELIN_HOME}/bin/zeppelin-daemon.sh stop"
- Presto
操作用账号:hdfs
- PrestoServer(Master节点)
// 启动PrestoServer /usr/lib/presto-current/bin/launcher --config=/usr/lib/presto-current/etc/coordinator-config.properties start // 停止PrestoServer /usr/lib/presto-current/bin/launcher --config=/usr/lib/presto-current/etc/coordinator-config.properties stop
- PrestoServer(Core节点)
// 启动PrestoServer /usr/lib/presto-current/bin/launcher --config=/usr/lib/presto-current/etc/worker-config.properties start // 停止PrestoServer /usr/lib/presto-current/bin/launcher --config=/usr/lib/presto-current/etc/worker-config.properties stop
- PrestoServer(Master节点)
通过命令行方式批量操作
当您需要对Core节点做统一操作时,可以写脚本命令。在EMR集群中,Master和所有Worker节点在hadoop和hdfs账号下是SSH互通的。
例如,如果需要对所有Core节点的NodeManager做停止操作,则可以通过以下命令操作。本示例Core节点数为10。
for i in `seq 1 10`;do ssh emr-worker-$i /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop nodemanager;done
在文档使用中是否遇到以下问题
更多建议
匿名提交