安装文件在Ubuntu12.04上部署CloudFoundry-ng (一) dea_ng和warden的部署

最近研究安装文件,稍微总结一下,以后继续补充:

    在Ubuntu12.04上部署CloudFoundry-ng (一) dea_ng和warden的部署

    

    每日一道理
风,那么轻柔,带动着小树、小草一起翩翩起舞,当一阵清风飘来,如同母亲的手轻轻抚摸自己的脸庞,我喜欢那种感觉,带有丝丝凉意,让人心旷神怡。享受生活,不一定要有山珍海味、菱罗绸缎为伴,大自然便是上帝所赐予人类最为珍贵的。

    相比上个部署文档,这次的操纵更标准,更快捷
环境:Ubuntu12.04LTS ,rvm -> ruby1.9.3


1. 应用rvm安装/管理不同版本的ruby,并且可以应用gemset将各个项目的gem环境分隔开
安装rvm:
sudo apt-get install ruby-rvm
应用rvm安装ruby1.9.3:
rvm install 1.9.3
rvm use 1.9.3
创建两个gemset用来断绝dea_ng和warden的ruby依附(因为dea_ng和warden是两个分离的项目):
rvm gemset create dea_ng
rvm gemset create warden




2. 安装warden


下载warden的最新代码
git clone https://github.com/cloudfoundry/warden.git


为warden配置rvm:
cd warden
在目录./和./warden下各新建一个.rvmrc文件,文件内写入:rvm use 1.9.3@warden
这样以后每次cd进来后,默许都市主动应用ruby1.9.3,并且应用我们刚创建的名为“warden”的gemset


安装warden
顶层目录下有4个目录 warden, warden-client, warden-protocal, em-warden-client
安装文件在./warden目录下:
cd warden/warden
sudo apt-get install debootstrap  (需要用到debootstrap)
rvmsudo bundle exec rake setup[config/linux.yml]   (安装时间较长)


运行warden
rvmsudo bundle exec rake warden:start[config/linux.yml]


打开warden命令行与warden交互
bundle exec bin/warden










3. 安装dea_ng


下载最新源码
git clone https://github.com/cloudfoundry/dea_ng.git


为dea_ng配置rvm:
cd dea_ng
在目录./下新建一个.rvmrc文件,文件内写入:rvm use 1.9.3@dea_ng
这样以后每次cd进来后,默许都市主动应用ruby1.9.3,并且应用我们刚创建的名为“dea_ng”的gemset


更新子git模块并安装dea_ng
git submodule update --init
bundle install


配置并启动dea_ng
配置文件在config/dea.yml
需要配置nats服务的地址:nats_uri: nats://xxxxxxxx:4222/
为了便利,可以配置日志输出到文件:
logging:
  level: debug
  file: ./dea_ng.log


为了和warden交互,dea需要知道warden的sock文件路径:
warden_socket: /tmp/warden.sock (warden默许)


尝试启动dea_ng:
bin/dea config/dea.yml


4. 安装dir_server并测试dea的部署


dea_ng目录下有一个go目录,其中是directory_server的代码
安装go语言:
sudo apt-get install golang-go


测试dea_ng和dir_server的启动环境:
bin/test confit/dea.yml
应当会报错:
+ set -e
+ cd go
+ bin/go test -i directoryserver
src/common/logger.go:4:2: import "github.com/cloudfoundry/gosteno": cannot find package
src/common/config.go:5:2: import "launchpad.net/goyaml": cannot find package
在go/目录下执行 bin/go get github.com/cloudfoundry/gosteno和
bin/go get launchpad.net/goyaml (可能需要sudo apt-get install bzr)
再次bin/test confit/dea.yml
可能会有一个测试报错:
1) Dea::InstanceRegistry crash reaping under disk pressure should continue reaping while under disk pressure
     Failure/Error: em do
     RuntimeError:
       timeout
没关系,再次bin/test confit/dea.yml,应当就会通过了


安装dir_server:
bundle exec rake dir_server:install


最后,启动dea_ng和dir_server:
bin/dea config/dea.yml &
bundle exec rake dir_server:run[config/dea.yml] & > dir_server.log

文章结束给大家分享下程序员的一些笑话语录: 有一天,一个男人穿越森林的时候,听到一个细微的声音叫住他。他低头一看,是一只青蛙。
“如果你亲我一下,我会变成一个美丽的公主哦。”男人一言不发,把青蛙捡起来,放入口袋。
“如果你亲我一下,我会变成一个美丽的公主哦。而且,我会告诉我遇到的每一个人,你是多么聪明和勇敢,你是我的英雄。”男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
“如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一星期。”男人又把青蛙拿出来,对着它微微一笑,把它放回口袋。
“如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一年,而且你可以对我做任何事。”再一次,男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
  最后,青蛙无力地问:“我开出了这么好的条件,为什么你还不肯吻我?”男人说:“我是一个程序员,我可没时间和什么公主鬼混。不过,拥有一个会说话的青蛙,倒是蛮酷的。”

posted @ 2013-05-15 19:29  xinyuyuanm  阅读(312)  评论(0编辑  收藏  举报