如何阻止HiveServer2作为守护进程自动启动?

时间:2015-08-13 10:41:36

标签: hadoop apache-spark thrift

我试图通过org.apache.spark.sql.hive.thriftserver.HiveThriftServer2.startWithContext()方法以编程方式运行HiveThriftServer2,但是我无法在端口上创建套接字,因为那里已经运行了HiveServer2。如果我也杀了它,服务器会重新启动。

$ sudo netstat -nlp | grep 9999
tcp        0      0 0.0.0.0:9999                0.0.0.0:*                   LISTEN      3325/java 


$ ps -ef | grep 3325
hive      3325     1  2 10:29 ?        00:00:07 /usr/lib/jvm/java-openjdk  
/bin/java -Xmx1000m -Dhive.log.dir=/var/log/hive -Dhive.log.file=hive-  
server2.log -Dhive.log.threshold=INFO -server -Dhadoop.log.dir=/usr  
/lib/hadoop/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/usr  
/lib/hadoop -Dhadoop.id.str= -Dhadoop.root.logger=INFO,console  
 -Djava.library.path=:/usr/lib/hadoop-lzo/lib/native:/usr/lib/hadoop  
/lib/native -Dhadoop.policy.file=hadoop-policy.xml  
-Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/var/log/hive/tmp  
-XX:MaxPermSize=128m -Dhadoop.security.logger=INFO,NullAppender  
-Dsun.net.inetaddr.ttl=30 org.apache.hadoop.util.RunJar /usr/lib/hive/lib  
/hive-service-1.0.0-amzn-0.jar org.apache.hive.service.server.HiveServer2  
 --hiveconf hive.aux.jars.path=file:///usr/lib/hive/auxlib/emr-ddb-hive.jar,  
file:///usr/lib/hive/auxlib/emr-hive-goodies.jar,  
file:///usr/lib/hive/auxlib/emr-kinesis-hive.jar
hadoop    5048 11886  0 10:34 pts/1    00:00:00 grep 3325

如何阻止这种情况发生,以便我可以通过编程方式启动自己的ThriftServer?

1 个答案:

答案 0 :(得分:1)

关于EMR 3.x.x AMI'

ls /etc/init.d/可以告诉您用于停止/启动/重启HS2守护程序的hive-serverd脚本。

要停止/启动/重启HS2,您可以

sudo service hive-serverd restart
sudo service hive-serverd stop
sudo service hive-serverd start

在EMR 4.x.x& 5.x.x AMI' s,

服务管理由upstart处理,而不是传统的SysVInit脚本。可以使用upstart cookbook

中的upstart命令查询服务

有关EMR的服务清单:

grep -ir "env DAEMON=" /etc/init/ | cut -d"\"" -f2

hadoop-yarn-resourcemanager
oozie
hadoop-hdfs-namenode
hive-hcatalog-server
hadoop-mapreduce-historyserver
hue
hadoop-kms
hadoop-yarn-proxyserver
hadoop-httpfs
hive-server2
hadoop-yarn-timelineserver

停止/启动HS2的示例命令:

status hive-server2
sudo stop hive-server2
sudo start hive-server2
sudo reload hive-server2