千家信息网

Apache Stratos的安装与配置

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,目录创建OpenStack镜像配置Puppet Master运行StratosTroubleshooting以下所有软件的OS环境均为Ubuntu14.041. 创建OpenStack镜像制作Open
千家信息网最后更新 2025年01月31日Apache Stratos的安装与配置

目录

  • 创建OpenStack镜像

  • 配置Puppet Master

  • 运行Stratos

  • Troubleshooting

以下所有软件的OS环境均为Ubuntu14.04

1. 创建OpenStack镜像

  • 制作OpenStack的基础镜像Ubuntu14.04
    参考:Step 1 - Spawn an instance

  • 启动虚拟

  • 修改镜像源

# vi /etc/apt/source.list1

删除所有官方的镜像源,添加阿里云的镜像源,并执行apt-get update。

deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse12345
  • 修改时区为中国时区,Puppet Master和Agent的时间完全同步,否则会出现无法正常通讯的情况。

# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime1
  • 修改Python源为国内的豆瓣提供的源,否则会出现镜像制作步骤中配置cartridge时超时的问题,错误信息为:pip installs-gittle timeout。

# cd ~# mkdir .pip# cd .pip# vim pip.conf1234

添加并保存如下内容:

[global] index-url = http://pypi.douban.com/simple [install] trusted-host = pypi.douban.com1234
  • 执行如下命令,进行Cartriage配置

sudo -iapt-get install zip unzipmkdir -p /root/bincd /root/binwget "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.shchmod +x config.shwget "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.shchmod +x init.shmkdir -p /root/bin/puppetinstallwget "https://git-wip-us.apache.org/repos/asf?p=stratos.git;a=blob_plain;f=tools/puppet3-agent/puppetinstall/puppetinstall;hb=HEAD" -O puppetinstall/puppetinstallchmod +x puppetinstall/puppetinstallwget "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.rbchmod +x stratos_sendinfo.rb12345678910111213

此处需要注意最后一步,官网的步骤中没有对stratos_sendinfo.rb赋可执行权限的操作。

  • 设置时间与Puppet Master保持一致

sed -i 's:^TIMEZONE=.*$:TIMEZONE=\"Asia/Shanghai\":g' /root/bin/puppetinstall/puppetinstall1
  • 运行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的相关目录下。

  • 配置base.pp文件中的内容时,需要与nodes目录下的其他资源的定义相符合,比如在base.pp目录下定义 了$tomcat_version这个变量,则需要在/etc/puppet/manifests/nodes/tomcat.pp目录下的内容与之对 应,这样才能正确的文件推送。

node /tomcat/ inherits base {  $tomcat_version            = '8.0.36'  $docroot = "/mnt/apache-tomcat-${tomcat_version}/webapps/"  $samlalias="/mnt/apache-tomcat-${tomcat_version}/webapps/"  class {'tomcat':}}1234567

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",            "p_w_picpathId": "RegionOne/f8850fcb-a1a5-4288-a808-2c2a0b97adcb",            "property": [                {                    "name": "instanceType",                    "value": "RegionOne/2"                }            ],            "networkInterfaces": [                {                    "networkUuid": "84eeb7b2-82f4-478a-b768-e24d7d0544ee"                }            ]        }    ]}1234567891011121314151617181920212223242526272829303132333435

portMapping配置需要填正确的port配置。配置错误时,会出现applicaiton无法启动的问题。

4. Troubleshooting

  • Cartridge agent运行时可查看syslog日志,若出现不能正常启动或者启动出错的情况,可手动删除python agent进行,修改配置后,重新运行agent程序:

# nohup /mnt/apache-stratos-python-cartridge-agent-/agent.py &1

并查看nohup日志进行调试运行。

  • 调试关键路径
    /root/bin/puppetinstall
    /tmp/payload/launch-params
    /root/bin/puppetinstall/puppetinstall



0