1

我在 EC2 上托管的 64 位 Ubuntu 10.04 服务器 VM 上安装了 VCAP。我按照https://github.com/cloudfoundry/oss-docs/tree/master/vcap/single_and_multi_node_deployments_with_dev_setup中提到的步骤进行操作。请注意,这是一个单节点部署,所有 CloudFoundry 组件都部署在一个实例上。

我启动和停止了 VCAP,所有组件都按预期运行,包括 CloudController。

问题

我停止了 EC2 实例,然后再次启动它。然后我执行了启动 VCAP 的命令。但状态显示为 - CloudController 已停止,所有其他组件正在运行。

一些附加信息- 每当 EC2 实例重新启动时,其公共和私有 IP 都会更改。我做了一些谷歌搜索,并意识到 devsetup 脚本(参考https://github.com/cloudfoundry/oss-docs/tree/master/vcap/single_and_multi_node_deployments_with_dev_setup)在各个地方对 IP 进行了硬编码。因此,当我重新启动 EC2 实例时,IP 地址会更改并且 VCAP 不会启动。

我正在寻找一些关于如何更正缓存 IP 的信息?

谢谢, 安基特

在原始帖子中添加更多信息

EC2 实例重启后的原始 IP 10.142.81.107
新 IP 10.142.159.0

执行以下命令将 VCAP 指向新 IP:
cd ~/cloudfoundry/.deployments/devbox/config/
sed -i 's/10.142.81.107/10.142.159.0/g' *.yml

结果云控制器未启动。所有其他组件都启动了。

~/cloudfoundry/.deployments/devbox/log/cloud_controller.log
的内容 Rails 错误:无法访问日志文件。请确保存在并且是 chmod 0666。日志级别已提高到 WARN 并且输出定向到 STDERR,直到问题得到解决。耙中止!无法连接到服务器:连接被拒绝 服务器是否在主机“10.142.159.0”上运行并接受端口 5432 上的 TCP/IP 连接?

任务:TOP => db:migrate(通过使用 --trace 运行任务查看完整跟踪) Rails 错误:无法访问日志文件。请确保存在并且是 chmod 0666。日志级别已提高到 WARN 并且输出定向到 STDERR,直到问题得到解决。/home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/connection_adapters/postgresql_adapter。 rb:950:in initialize': could not connect to server: Connection refused (PGError) Is the server running on host "10.142.159.0" and accepting TCP/IP connections on port 5432? from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/connection_adapters/postgresql_adapter.rb:950:innew' 来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/ lib/active_record/connection_adapters/postgresql_adapter.rb:950:inconnect' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/connection_adapters/postgresql_adapter.rb:246:in从 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/connection_adapters 初始化/postgresql_adapter.rb:25:in new' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/connection_adapters/postgresql_adapter.rb:25:inpostgresql_connection' 来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0 .14/lib/active_record/connection_adapters/abstract/connection_pool.rb:229:in new_connection' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:237:incheckout_new_connection' 来自 /home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config/initializers/fiber_connection_pool.rb:42:incheckout' from /home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config/initializers/fiber_connection_pool.rb:26:in来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/connection_adapters 的连接/abstract/connection_pool.rb:317:in retrieve_connection' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/connection_adapters/abstract/connection_specification.rb:97:inretrieve_connection' 来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord -3.0.14/lib/active_record/connection_adapters/abstract/connection_specification.rb:89: connection' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/base.rb:602:ininquoted_table_name' 来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby /gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/relation/query_methods.rb:275:inbuild_select' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/relation/query_methods.rb:189:inbuild_arel' 来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/relation /query_methods.rb:149:in arel' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/relation/calculations.rb:169:inperform_calculation' 来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0 .14/lib/active_record/relation/calculations.rb:152:in calculate' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/relation/calculations.rb:58:incount' 来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9 .1/gems/activerecord-3.0.14/lib/active_record/relation.rb:92:in empty?' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activerecord-3.0.14/lib/active_record/relation.rb:100:inany?来自/home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config/final_stage/check_database.rb:3:in<top (required)>' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:242:in需要'来自/home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies .rb:242:in block in require' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:227:inload_dependency' 来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.0.14 /lib/active_support/dependencies.rb:242:in require' from /home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config/final_stage/activate.rb:6:in'来自 /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/ activesupport-3.0.14/lib/active_support/dependencies.rb:242:in require' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:242:inblock in require' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/ gems/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:227:inload_dependency' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:242:in需要'来自/home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config/environment.rb:17:<top (required)>' from /home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config.ru:3:in需要'来自/home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config.ru:3:in block in <main>' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.2.5/lib/rack/builder.rb:46:ininstance_eval'来自/home/ ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.2.5/lib/rack/builder.rb:46:ininitialize' from /home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config.ru:1:in新的'来自/home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/config.ru:1:in <main>' from /home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/thin-1.3.1/lib/rack/adapter/loader.rb:36:ineval'来自/home/ubuntu/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ ruby/gems/1.9.1/gems/thin-1.3.1/lib/rack/adapter/loader.rb:36:in load' from /home/ubuntu/cloudfoundry/cloud_controller/cloud_controller/bin/cloud_controller:79:in'

4

3 回答 3

3

解决这个问题的最简单方法是用户 sed 修改 ~/cloudfoundry/.deployments/devbox/config/ 中所有 .yml 配置文件中的 IP 地址

例如,要将 192.168.1.100 更改为 192.168.1.200 使用;

sed -i 's/192\.168\.1\.100/192.168.1.200/g' *.yml

记得之后也要重新启动 vcap!

于 2012-08-01T17:46:29.643 回答
2

那么问题出在PostgreSQL上。应该更改 PostgreSQL 的配置文件,然后重新启动 PostgreSQL。详细步骤如下:

在 IP 更改的情况下进行修复

~/cloudfoundry/vcap/dev_setup/bin/vcap_dev stop
cd ~/cloudfoundry/.deployments/devbox/config/
sed -i 's/<OLDIP>/<NEWIP>/g' *.yml
vi /etc/postgresql/8.2/main/postgresql.conf # CHANGE THE IP ADDRESS AT THE END
vi /etc/postgresql/9.0/main/postgresql.conf # CHANGE THE IP ADDRESS AT THE END
sudo /etc/init.d/postgresql-8.4 restart
~/cloudfoundry/vcap/dev_setup/bin/vcap_dev start
~/cloudfoundry/vcap/dev_setup/bin/vcap_dev status
于 2012-08-02T05:19:55.873 回答
2

您可以通过在 conf 目录中运行以下命令简单地将所有本地 IP 更改为 0.0.0.0(包括在 PostgreSQL 配置文件中)

sed -i 's/XXX\.XXX\.XXX\.XXX/0\.0\.0\.0/g' *.yml
于 2012-10-15T20:07:18.887 回答