红联Linux门户
Linux帮助

Stratos的安装与配置

发布时间:2016-08-02 10:53:29来源:linux网站作者:kaiming1983
以下所有软件的OS环境均为Ubuntu14.04。
 
1.创建OpenStack镜像
制作OpenStack的基础镜像Ubuntu14.04
参考:Step 1 - Spawn an instance
启动虚拟
修改镜像源
# vi /etc/apt/source.list
删除所有官方的镜像源,添加阿里云的镜像源,并执行apt-get update。
deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
修改时区为中国时区,Puppet Master和Agent的时间完全同步,否则会出现无法正常通讯的情况。
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改Python源为国内的豆瓣提供的源,否则会出现镜像制作步骤中配置cartridge时超时的问题,错误信息为:pip installs-gittle timeout。
# cd ~
# mkdir .pip
# cd .pip
# vim pip.conf
添加并保存如下内容:
[global] 
index-url = http://pypi.douban.com/simple 
[install] 
trusted-host = pypi.douban.com
执行如下命令,进行Cartriage配置
sudo ­-i
apt-get install zip unzip
mkdir -p /root/bin
cd /root/bin
wget "https://git-wip-us.apache.org/repos/asf?p=stratos.git;a=blob_plain;f=tools/config-scripts/ec2/config.sh;hb=HEAD" -O config.sh
chmod +x config.sh
wget "https://git-wip-us.apache.org/repos/asf?p=stratos.git;a=blob_plain;f=tools/init-scripts/ec2/ubuntu/init.sh;hb=HEAD" -O init.sh
chmod +x init.sh
mkdir -p /root/bin/puppetinstall
wget "https://git-wip-us.apache.org/repos/asf?p=stratos.git;a=blob_plain;f=tools/puppet3-agent/puppetinstall/puppetinstall;hb=HEAD" -O puppetinstall/puppetinstall
chmod +x puppetinstall/puppetinstall
wget "https://git-wip-us.apache.org/repos/asf?p=stratos.git;a=blob_plain;f=tools/puppet3-agent/stratos_sendinfo.rb;hb=HEAD" -O stratos_sendinfo.rb
chmod +x stratos_sendinfo.rb
此处需要注意最后一步,官网的步骤中没有对stratos_sendinfo.rb赋可执行权限的操作。
设置时间与Puppet Master保持一致
sed -i 's:^TIMEZONE=.*$:TIMEZONE=\"Asia/Shanghai\":g' /root/bin/puppetinstall/puppetinstall
运行config.sh文件,此处的service-name可输入default或者不输入值,若输入php,在运行期间会出现php配置失败的情况,可能是由于puppet脚本有错误。(刚配置php可以访问ip:80,但cartriage agent运行完后无法访问。Stratos Application的启动状态一直停留在starting,原因是程序会访问80端口但无响应)。
 
2.配置Puppet Master
参考官网步骤:6. Setup Puppet Master
此处注意,需要将apache-stratos-python-cartridge-agent-4.1.5.zip文件解压后去掉4.1.5的版本号去掉后重新解压后拷贝到puppet的modules的相关目录下。
 
3.运行Stratos
启动Stratos
调试运行时可启动H2数据库,连内置CEP。
创建各Stratos对象
创建Cartridge的代码如下:
{
"type": "java",
"category": "framework",
"provider": "oracle",
"host": "leaptocloud.com",
"displayName": "java",
"description": "java Cartridge",
"version": "7",
"multiTenant": true,
"portMapping": [
{
"name": "http-22",
"protocol": "http",
"port": 22,
"proxyPort": 8280
}
],
"iaasProvider": [
{
"type": "openstack",
"imageId": "RegionOne/f8850fcb-a1a5-4288-a808-2c2a0b97adcb",
"property": [
{
"name": "instanceType",
"value": "RegionOne/2"
}
],
"networkInterfaces": [
{
"networkUuid": "84eeb7b2-82f4-478a-b768-e24d7d0544ee"
}
]
}
]
}
portMapping配置需要填正确的port配置。配置错误时,会出现applicaiton无法启动的问题。
 
4.Troubleshooting
Cartridge agent运行时可查看syslog日志,若出现不能正常启动或者启动出错的情况,可手动删除python agent进行,修改配置后,重新运行agent程序:
# nohup /mnt/apache-stratos-python-cartridge-agent-/agent.py &
并查看nohup日志进行调试运行。
调试关键路径
/root/bin/puppetinstall
/tmp/payload/launch-params
/root/bin/puppetinstall/puppetinstall
 
本文永久更新地址:http://www.linuxdiyf.com/linux/22924.html