Created
February 18, 2014 01:28
-
-
Save ndzj081221130/9062856 to your computer and use it in GitHub Desktop.
2014_2_17部署2个dea
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| > Written with [StackEdit](https://stackedit.io/). | |
| 下面开始验证router,确实可以做到负载均衡,就是将一个应用的两个不同的实例,分别部署到2个dea节点上。 | |
| 首先,一个dea对应于一个warden容器?。 | |
| **上层DEA通过warden client来调用warden server提供的api创建并控制container,container可以添加诸多限制,且container之间互相隔离** | |
| dea启动时,会向router去注册自己。 | |
| 2个dea,对应于一个warden-server?不对,因为要做资源隔离。 | |
| 还是每个dea都对应于一个单独的warden-server?对。 | |
| 先尝试,跟同一个warden-server交互。不用试了。 | |
| 直接先部署第二个warden容器。 | |
| warden.yml中的health_check_server???端口号设置的是2345?改? | |
| 看一下源码:在server.rb中,是启动了一个监听本地的端口的HealthCheck进程,EM.start | |
| 修改pool_start_address,depot_path,rootfs_path | |
| 在lib/warden/config.rb中,默认unix_domain_path是/tmp/warden.sock改? | |
| 这个在配置文件中无法修改。所以改源码?因为dea的配置文件中,也需要指明该参数。 | |
| 在lib/warden/repl/repl_v2.rb中,也有提到"/tmp/warden.sock" | |
| 应该是要在config.yml文件中动态指定的参数。 | |
| 如果要改,就一起改。 | |
| 还有一个pool_network,这里默认是10.254.0.0/24,我还不清楚用途。 | |
| sudo bundle exec rake setup[config/linux.yml] | |
| 成功setup后,启动warden-server, | |
| sudo bundle exec rake warden:start[config/linux.yml] | |
| 通过warden-client,进行一些简单的验证:应该没什么问题。 | |
| ---------- | |
| dea的配置文件中,会指明自己的ip,pid_filename, indexx ?,这里的index是dea作为一个Component,调用VCAP::Component.register时用到的,姑且+1。 | |
| 相应的warden **socket**。改为/tmp/warden2.sock | |
| 配置direcotry server时,同样将端口号,都+1 | |
| v1_port,v2_port,file_api_port(目录 验证服务器). | |
| file_server调用sepc/bin/file_server.rb | |
| 部署目录设置的是/tmp/dea,且端口开在9999。要改? | |
| 因为一次,一个dea,只能干一件事情,所以是不会冲突的 | |
| 但是,现在我只能在同一台虚拟机里,实验,所以好多都可能是会冲突的。 | |
| 比如临时文件。 | |
| **还是没太懂initctl.只要/etc/init/有对于的conf文件就可以了?** | |
| warden启动成功后,启动dea,file-server,directory-server。 | |
| 第二个dea在运行:caught exception:script exited with status 127 | |
| staging_task.rb: 124行,promise_unpack_app, | |
| 原因是warden容器unzip:command not found. | |
| 进入 | |
| cd /var/warden/rootfs2, | |
| sudo chroot . | |
| apt-get update | |
| apt-get install gcc这个装了。 | |
| apt-get install zip果然没装 | |
| apt-get install quota同样没装 | |
| 至于ruby和jvm嘛。。。还是要手动安装 | |
| 如果下载比较慢的话,直接通过文件拷贝的形式将ruby包,拷贝到/var/warden/rootfs中 | |
| ruby安装成功后,再次尝试部署,成功! | |
| router确实是做了负载均衡。 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment