CDH 5.3.2 - 需要从 shell/脚本重新启动 impala 守护进程
Posted
技术标签:
【中文标题】CDH 5.3.2 - 需要从 shell/脚本重新启动 impala 守护进程【英文标题】:CDH 5.3.2 - Need to restart impala daemon from shell/script 【发布时间】:2017-09-18 12:12:03 【问题描述】:我正在使用 CDH 5.3.2 集群并且需要能够从脚本启动/停止 impala 守护程序。 Cloudera Docs中提到的命令
sudo service impala-server start
在我的 CDH 5.10 本地 VM 上运行良好,但在 CDH 5.3.2 集群上我收到错误“impala-server:无法识别的服务”。在签入 /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 设置正确,因此不确定它从哪里选择值。关于如何在这方面更进一步的任何指示?
【问题讨论】:
【参考方案1】:从命令行启动 Impala 的 init.d 服务包适用于不想要使用 Cloudera Manager 的 CDH 用户。在 Cloudera Manager 集群上启动和停止 Impala 的正确方法是使用 CM API:
https://cloudera.github.io/cm_api/apidocs/v17/index.html
start cluster service API
stop cluster service API
commands API
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
包。
【讨论】:
谢谢@tk421。我按照您的建议尝试使用 cm api: curl -u以上是关于CDH 5.3.2 - 需要从 shell/脚本重新启动 impala 守护进程的主要内容,如果未能解决你的问题,请参考以下文章