本文为您介绍如何查看环境变量和启停E-MapReduce集群服务进程等,以便于您可以自主的运维服务。
前提条件
已创建集群,详情请参见创建集群。
查看环境变量
- 登录集群,详情请参见登录集群。
- 输入
env
命令。您可以看到类似如下的环境变量配置,具体环境变量配置以实际环境为准。PRESTO_HOME=/usr/lib/presto-current TEZ_CONF_DIR=/etc/ecm/tez-conf HUDI_HOME=/usr/lib/hudi-current XDG_SESSION_ID=35918 SPARK_HOME=/usr/lib/spark-current HOSTNAME=emr-header-1.cluster-23**** HADOOP_LOG_DIR=/var/log/hadoop-hdfs SMARTDATA_CONF_DIR=/usr/lib/b2smartdata-current//conf ECM_AGENT_STACK_CACHE_DIR=/usr/lib/emr/ecm-agent/cache/ecm TERM=xterm SHELL=/bin/bash HUE_CONF_DIR=/etc/ecm/hue-conf HADOOP_HOME=/usr/lib/hadoop-current FLOW_AGENT_CONF_DIR=/etc/ecm/flow-agent-conf HISTSIZE=1000 YARN_PID_DIR=/usr/lib/hadoop-current/pids ECM_AGENT_CACHE_DIR=/usr/lib/emr/ecm-agent/cache SSH_CLIENT=1.80.**.** 26289 22 HADOOP_PID_DIR=/usr/lib/hadoop-current/pids EMR_HOME_DIR=/usr/lib/emr HADOOP_MAPRED_PID_DIR=/usr/lib/hadoop-current/pids SQOOP_CONF_DIR=/etc/ecm/sqoop-conf SQOOP_HOME=/usr/lib/sqoop-current BIGBOOT_MONITOR_HOME=/usr/lib/b2monitor-current/ HCAT_HOME=/usr/lib/hive-current/hcatalog DATA_FACTORY_CONF_PATH=/etc/ecm/datafactory-conf HIVE_HOME=/usr/lib/hive-current PWD=/root JAVA_HOME=/usr/lib/jvm/java-1.8.0 EMR_DATA_DIR=/usr/lib/emr/data B2MONITOR_CONF_DIR=/usr/lib/b2monitor-current//conf HISTCONTROL=ignoredups SPARK_PID_DIR=/usr/lib/spark-current/pids SHLVL=1 HOME=/root HADOOP_MAPRED_LOG_DIR=/var/log/hadoop-mapred ALLUXIO_CONF_DIR=/etc/ecm/alluxio-conf ECM_AGENT_LOG_DIR=/usr/lib/emr/ecm-agent/log TEZ_HOME=/usr/lib/tez-current DATA_FACTORY_HOME=/usr/lib/datafactory-current LOGNAME=root EMR_LOG_DIR=/usr/lib/emr/log EMR_TMP_DIR=/usr/lib/emr/tmp XDG_RUNTIME_DIR=/run/user/0 ECM_AGENT_HOME_DIR=/usr/lib/emr/ecm-agent B2SDK_CONF_DIR=/usr/lib/b2smartdata-current/conf HIVE_CONF_DIR=/etc/ecm/hive-conf _=/usr/bin/env
登录内置MySQL
- 通过SSH方式连接集群,详情请参见登录集群。
- 执行以下命令,登录内置的MySQL。
mysql -uroot -pEMRroot1234
说明 登录内置MySQL的用户名为root,密码为EMRroot1234。
启停服务进程
您可以在E-MapReduce控制台,对指定服务执行启动、停止和重启操作。各个服务进程的操作类似,下面以HDFS为例,介绍如何启动、停止和重启emr-worker-1主机上的DataNode进程。
- 进入集群详情页面。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏中,选择 。
- 单击部署拓扑页签。可以看到该集群中运行的服务进程列表。
- 操作emr-worker-1主机上的DataNode组件。
批量操作服务进程
本示例以HDFS为例,介绍如何重启所有实例上的DataNode进程。
- 进入集群详情页面。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏中,选择 。
- 单击部署拓扑页签。可以看到该集群中所有运行的服务进程列表。
- 选择右上角的 。
- 在执行集群操作对话框中,输入执行原因,单击确定。
- 在确认对话框中,单击确定。
重要 执行完滚动重启后,不能再执行非滚动重启,否则系统会报错。
通过命令行方式启停服务进程
- 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
- 启动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
- 启动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
- WebProxyServer(Master节点)
- 启动WebProxyServer
/usr/lib/hadoop-current/sbin/yarn-daemon.sh start proxyserver
- 停止WebProxyServer
/usr/lib/hadoop-current/sbin/yarn-daemon.sh stop proxyserver
- 启动WebProxyServer
- 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
- 启动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
- 启动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节点)
//启动HiveServer2 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
- 启动HMaster
- 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
- 启动HRegionServer
- 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
- 启动ThriftServer
- HMaster(Master节点)
- Hue
操作账号:hadoop
- 启动Hue
su -l root -c "${HUE_HOME}/build/env/bin/supervisor >/dev/null 2>&1 &"
- 停止Hue
ps aux | grep hue //查找到所的Hue进程。 kill -9 huepid //终止掉查找到的对应Hue进程。
- 启动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"
- 启动Zeppelin
- 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
- 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
- PrestoServer(Master节点)
通过命令行方式批量操作
当您需要对Core节点做统一操作时,可以通过脚本命令的方式。在EMR集群中,Master和所有Worker节点在hadoop和hdfs账号下是互通的。
例如,可以通过以下命令,对所有Core节点的NodeManage执行停止操作。本示例Core节点数为10。
for i in `seq 1 10`;do ssh emr-worker-$i /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop nodemanager;done