1.Server端安装
1.1 设置ControlTier的根目录环境变量CTIER_ROOT,以及创建根目录下pkgs文件夹。
$ export CTIER_ROOT=~/ctier
$ mkdir -p $CTIER_ROOT/pkgs
1.2 将安装包放入$CTIER_ROOT/pkgs后然后解压。
$ cd $CTIER_ROOT/pkgs
$ unzip ControlTier-3.6.1.zip
1.3 设置JAVA_HOME环境变量。强烈建议为ControlTier单独配一个Java实例。从Oracle官网下载JDK,然后将bin文件放在$CTIER_ROOT/pkgs/下,然后安装。
$ export JAVA_HOME=$CTIER_ROOT/pkgs/jdk1.6.0_10
1.4 执行安装脚本
$ cd $CTIER_ROOT/pkgs/ControlTier-3.6.1
$ sh install.sh
注意,默认端口是8080,如果怕与其他软件引起冲突,需要修改端口:
1)修改安装目录下的default.properties中的server.jetty.port=9000
2)修改安装目录下的default.properties中的server.port=9000,或使用命令:sh install.sh -Dserver.port=9000
3)修改 $CTIER_ROOT/ctl/etc/framework.properties 中的framework.server.port = 9000
1.5 安装结束后。修改.bashrc。使用户登录后ControlTier环境变量立即生效执行。
$ vi ~/.bashrc
将
if [ -f ~/.ctierrc ]; then
. ~/.ctierrc
else
echo ~/.ctierrc not found 1>&2
fi
放入~/.bashrc文件末尾。(如果没有设置JAVA_HOME,也可将JAVA_HOME置于此)。
然后立即执行,使环境变量生效。
$ . ~/.bashrc
1.6 修改ssh超时,设为0。表示不设置ssh超时时间。
$ vi $CTIER_ROOT/ctl/etc/framework.properties
找到framework.ssh.timeout,设置值改为0。
1.7 运行ControlTier服务器。
$ jetty.sh start
1.8 检验安装
$ ctl --help
2. Client端安装
设置环境变量,解压与Server安装1.1, 1.2, 1.3相同。
2.1 修改/etc/hosts文件
$ vi /etc/hosts
增加ControlTier Server的host。例如,server的hostname叫hc-62, ip为192.168.20.62。增加192.168.20.62 hc-62到hosts文件。
2.2 Client执行安装脚本
$ cd $CTIER_ROOT/pkgs/ControlTier-3.6.1
$ sh install.sh --client -Dserver.hostname=<server host> -Dclient.hostname=<hostname> -Dclient.node.name=<name>
注意:client端口默认也是8080,如果需要修改,需修改
1)$CTIER_ROOT/ctl/etc/framework.properties 中的framework.server.port = 9000
2)修改default.properties中的client.port=9000;server.jetty.port=9000(和server的端口要一致)
3)也可以sh install.sh -Dclient.port=9000
2.3 设置环境变量,于Server安装1.5相同。
2.4检验安装
$ ctl --help
3.SSH配置
由于ControlTier是Server端通过ssh调用Client的脚本执行部署任务。SSH不能使用密码,因此需要配置public key。ControlTier默认使用DSA。
在ControlTier的Server端执行
$ ssh-keygen -t dsa
当有提示时,全部回车。密码为空。产生~/.ssh/id_dsa.pub文件。
在ControlTier的Client端
$ ssh-keygen -t dsa
当有提示时,全部回车。密码为空。
将ControlTier Server端产生的~/.ssh/id_dsa.pub文件追加到Client端的~/.ssh/authorized_keys文件。
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 .ssh