无法在EC2 Spark群集

时间:2015-06-10 22:33:18

标签: amazon-ec2 apache-spark ganglia

使用spark-ec2脚本启动会导致:

  

将神经节RSYNC设置为&etc / ganglia为奴隶...< ...>

     

关闭GANGLIA gmond:[FAILED]

     

启动GANGLIA gmond:[确定]

     

关闭GANGLIA gmond:[FAILED]

     

启动GANGLIA gmond:[确定]

     

与< ...>的连接关闭。 < ...>停止httpd:
  [FAILED]启动httpd:httpd:第199行的语法错误   /etc/httpd/conf/httpd.conf:无法加载modules / libphp-5.5.so   server:/etc/httpd/modules/libphp-5.5.so:无法打开共享对象   file:没有这样的文件或目录                                                              [FAILED] [时间]

     

神经节设置:00h 00m 03s连接到< ...>关闭。

     

Spark独立集群从< ...>开始:8080 Ganglia开始于   < ...>:5080 / ganglia

     

完成!

然而,当我netstat时,没有收听5080端口。

这与httpd的上述错误有关,还是其他的?

编辑:

因此找到问题(参见下面的答案),修复程序可以在实例上本地应用,之后Ganglia可以正常工作。但问题是如何在root中修复此问题,以便spark-ec2脚本可以正常启动Ganglia而无需干预。

3 个答案:

答案 0 :(得分:3)

神经节不可用的事实与这些错误有关 - 神经节是php应用程序,它不会在没有php模块的情况下运行apache。

您使用哪个版本的Spark来启动群集?

这是一个奇怪的错误 - 这些文件应该存在于AMI图像中。

答案 1 :(得分:1)

刚跟踪错误:/etc/httpd/conf/httpd.conf正在尝试加载libphp-5.5库,而modules /包含libphp-5.6版本...

更改httpd.conf可以解决问题,但是我很高兴知道spark-ec2脚本中的永久性修复

答案 2 :(得分:0)

这是因为httpd无法启动。正如您所指出的那样httpd.conf正在尝试加载模块并失败。您可以通过apachectl start重现问题,并准确检查哪些模块无法加载。

在我的案例中,有一个涉及“auth”和“core”。列出的最后四个(可能是五个)也将无法加载。我没有遇到任何与PHP有关的事情,所以也许我们的情况不同。无论如何,hacky解决方案是评论问题。我这样做了,并且正在运行Ganglia而没有问题。