在使用Ambari的过程中遇到了好多问题,比如删除一个cluster(使用ambari-server reset命令)后,重启Ambari Server之后一直报错,提示找不到集群。尝试各种方法之后,无法找到满意的解决之道的情况下,只好硬着头皮读读源码,了解一下Ambari的启动机制。在此记下源码阅读的笔记和心得。
首先分析一下Ambari Server的启动脚本(ambari-server.py),以便了解Ambari Server是如何启动的。
首先看入口函数123456if __name__ == "__main__": try: mainBody() except (KeyboardInterrupt, EOFError): print("\nAborting ... Keyboard Interrupt.") sys.exit(1)
没什么可说的,就是调用文件中的 mainBody() 方法。
mainBody方法
|
|
|
|
|
|
这个方法就是为setup的行为,做了进一步的解析器设置。
|
|
该方法就是设置全局变量_VERBOSE的值。
main
|
|