我正在使用CDH 5.3.2群集,并且要求能够从脚本启动/停止impala守护进程。 Cloudera Docs中提到的命令
sudo service impala-server start
在我的CDH 5.10本地VM上工作正常但在CDH 5.3.2群集上我收到错误“impala-server:unrecognized service”。在检查/etc/init.d时,我发现没有列出这样的服务(当它在5.10版本中列出时)
然后我尝试直接从impala bin目录
重启服务cd /usr/bin
./impalad stop
但是现在遇到以下错误:
E0918 11:55:27.815739 12046 JniFrontend.java:622] FileSystem is file:///
W0918 11:55:27.817589 12046 JniFrontend.java:534] Cannot detect CDH version. Skipping Hadoop configuration checks
E0918 11:55:27.817620 12046 impala-server.cc:210] Unsupported file system. Impala only supports DistributedFileSystem but the configured filesystem is: LocalFileSystem.fs.defaultFS(file:///) might be set incorrectly
E0918 11:55:27.817631 12046 impala-server.cc:212] Aborting Impala Server startup due to improper configuration
我在Cloudera Manager上检查了core-site.xml,并且正确设置了fs.defaultFS,因此不确定从中选择值的位置。有关如何进一步发展的任何指示?
答案 0 :(得分:1)
从命令行启动Impala的init.d服务包旨在用于 NOT 想要使用Cloudera Manager的CDH用户。在Cloudera Manager集群上启动和停止Impala的正确方法是使用CM API:
https://cloudera.github.io/cm_api/apidocs/v17/index.html
tutorial显示了如何使用CM API,但您可能需要这样做:
$ curl -X POST -u USER:PASSWORD \
'CM_URL//api/v1/clusters/CLUSTERNAME/services/IMPALA_SERVICE/commands/stop'
使用适当的值替换USER,PASSWORD,CM_URL,CLUSTERNAME,IMPALA_SERVICE_NAME。 curl命令将返回命令ID。
然后使用命令ID轮询此API以查看启动/停止操作是否已完成。
$ curl -u USER:PASSWORD 'CM_URL//api/v1/commands/COMMAND_ID'
但是,如果您仍想使用init.d服务包,则需要安装impala-server
包。