/var/lib/ambari-server/resources/stacks/HDP/2.5/services/
)添加你编写的自定义服务。ambari-server restart
重启ambaricurl localhost:8090
查看是否启动tomcat(也可以通过配置容器外端口映射来访问)(github)tomcat-service_tomcat
添加ambari定制服务可参考
https://cloud.tencent.com/developer/article/1372228
问题:SyntaxError: EOL while scanning string literal
可能是由于多个引号,没有闭合导致的错误
报错内容:
org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/opt/apache-tomcat-9.0.38
解决:
打开Tomcat安装后目录,进入conf文件夹,找到配置文件server.xml,将
注释掉。
问题:Ambari_tomcat安装后启动了闪退:
花了两天时间排错:
——降低tomcat版本源不可行(之前看到有文章说是我的jre1.8版本和tomcat9不适配导致的闪退)
首先还是必须找到日志所在的地方——查看日志
cat /var/log/ambari-agent/ambari-agent.log
发现报错:
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/ambari_agent/PythonReflectiveExecutor.py", line 59, in run_file
imp.load_source('__main__', script)
File "/var/lib/ambari-agent/cache/stacks/HDP/2.5/services/TOMCAT/package/scripts/master.py", line 80, in
Master().execute()
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 367, in execute
method(env)
File "/var/lib/ambari-agent/cache/stacks/HDP/2.5/services/TOMCAT/package/scripts/master.py", line 73, in status
import params
File "/var/lib/ambari-agent/cache/stacks/HDP/2.5/services/TOMCAT/package/scripts/params.py", line 19, in
tomcat_dir = os.path.join(*[tomcat_install_dir, tomcat_dirname])
File "/usr/lib64/python2.7/posixpath.py", line 77, in join
elif path == '' or path.endswith('/'):
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/config_dictionary.py", line 73, in __getattr__
raise Fail("Configuration parameter '" + self.name + "' was not found in configurations dictionary!")
Fail: Configuration parameter 'tomcat-ambari-config' was not found in configurations dictionary!
发现是因为找不到tomcat-ambari-config配置组,以致于获取不到tomcat的状态所以stopped。
我的文件Master.py中的status() 方法:
def status(self, env):
import params
env.set_params(params)
check_process_status(params.tomcat_pid_file)
Params.py:
tomcat_install_dir = config['configurations']['tomcat-ambari-config']['tomcat.install_dir']
configuration文件夹下:tomcat-ambari-config.xml:
tomcat.install_dir
/opt
Local dir where to install component.
…
原因:
Ambari2.5.0在param.py里读不到tomcat-ambari-config.xml
解决:
能读到-env后缀的xml,所以将tomcat-ambari-config.xml改为tomcat-ambari-env.xml
参考
linux中>和>>的区别:
查看进程:
查看端口使用情况
tomcat切换端口的脚本来源于互联网,未经过测试,可能有坑,待填。