• zstack源码编译安装(1.7.x版本)


    图片没粘贴过来,请看本人gitbook吧https://www.gitbook.com/book/jingtyu/how-to-learn-zstack-code

    行环境

    zstack的安装方式有很多种离线安装、在线安装、一键安装、分布式安装等。都很简单,下面介绍一下源码编译安装.

    (一)操作系统的选择

    操作系统:centos7.2(不要是使用centos6编译后不支持Zstack Management,建议使用Centos7和Ubuntu14.04以上版本)

     

    提示如有问题请检查是否最小化安装 centos7.2, 并设置好root密码。然后加载光驱到 /mnt/cdrom 安装 net-tools 包,支持 ifconfig 等命令。未验证(申请公司的虚拟机)

    编辑 repo 文件 (配置yum源)

    cat CentOS-Media.repo

    [c7-media]

    name=CentOS-$releasever - Media

    baseurl=file:///mnt/cdrom

    gpgcheck=1

    enabled=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    cat epel.repo

    [epel]

    name=Extra Packages for Enterprise Linux 7 - $basearce - mirrors.aliyun.com

    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch

    failovermethod=priority

    enabled=1

    gpgcheck=0

    然后执行:
     
    yum clean all
     
    yum makecache

    如果出错,重复几次,一定正确。

    (二)下载安装编译依赖

    必须的组件ant,maven,java-1.8.0-openjdk-devel,bzip2,gzip, wget, zip, unzip, git等工具

    1.安装基础组件:yum install -y java-1.8.0-openjdk-devel.x86_64 java-1.8.0-openjdk.x86_64 ant git libffi libffi-devel openssl-devel bc ant sshpass 如下页面表示安装成功。如果后续过程缺少依赖包请自行安装。

     

    2.maven安装:yum install -y maven-3.0.5 (版本3.0.5)

     

    由于ZStack核心是Java代码,里面需要很多maven的依赖库,但是很多maven的依赖库的第一选择都是放在google管理的软件仓库。 由于总所周知的原因,会导致第一次编译ZStack的时候异常缓慢,甚至是无法通过。

    解决办法一(亲试)

    配置国内快速maven镜像:

    vi /etc/maven/settings.xml

    在<mirrors>配置节点下面加入

    <mirror>
    <id>alimaven1</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
    </mirror>
     
    <mirror>
    <id>alimaven2</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
     
    <mirror>
    <id>repo1</id>
    <mirrorOf>central</mirrorOf>
    <name>Human Readable Name for this Mirror.</name>
    <url>http://repo1.maven.org/maven2/</url>
    </mirror>
     
    <mirror>
    <id>repo2</id>
    <mirrorOf>central</mirrorOf>
    <name>Human Readable Name for this Mirror.</name>
    <url>http://repo2.maven.org/maven2/</url>
    </mirror>

    解决方法二(未试)

    maven的.m2/库是可以在不同机器上共享的。 在百度云盘里有一份编译的依赖包:http://pan.baidu.com/s/1eQvUmWU。 大家下载之后,可以根据说明,把依赖库的内容放到/root/.m2 的目录里即可(随着ZStack的开发,ZStack可能会引入一些新的库文件, 有可能在编译新的ZStack的时候,还是会遇到动态下载少量的依赖包,不过由于新的依赖包数量不多,所以下载速度应该可以接收)。

    另外如果有条件,大家也可以使用http代理服务器加速maven依赖包的下载,设置的方法可以参考:https://maven.apache.org/guides/mini/guide-proxies.html

    3.golang-1.6.3安装

    wget https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz

    安装和配置路径请见官网文档:https://golang.org/doc/install?download=go1.6.3.linux-amd64.tar.gz

    wgethttps://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz

    sudo tar -C /usr/local -xvzf go1.6.3.linux-amd64.tar.gz

    vi /etc/profile

    添加:

    #go lang

    export GOROOT=/usr/local/go

    export PATH=$PATH:$GOROOT/bin

    退出,保存

    使环境变量生效: source /etc/profile

    检查是否安装成功: go version

     

    (三)源码下载

    1,最新源码地址(本人用的是1.7.2)

    ZStack核心组件:

    https://github.com/zstackio/zstack.git

    ZStack虚拟机管理:

    https://github.com/zstackio/zstack-utility.git

    ZStack-dashboard:

    https://github.com/zstackio/zstack-dashboard.git

    ZSstack-vyos:

    https://github.com/zstackio/zstack-vyos.git

    tomact下载

    wget -c http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.35/bin/apache-tomcat-7.0.35.zip

    把代码和tomact放在同一目录下

    mkdir -/home/zstack

    cd /home/zstack

    源码下载

    git clone -b 1.7.x https://github.com/zstackorg/zstack
     
    git clone -b 1.7.x https://github.com/zstackorg/zstack-utility
     
    git clone -b 1.7.x https://github.com/zstackorg/zstack-dashboard
     
    wget -c http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.35/bin/apache-tomcat-7.0.35.zip

    *如果不是首次安装请注意清理依赖包(以root用户登录)

    cd /root/.m2

    rm -fr repository

    (四)编译源码

    cd /home/zstack/zstack

    mvn -DskipTests clean install

     

    cd /home/zstack/zstack-utility/zstackbuild

    git checkout1.7.x # 变更当前分支

    vi build.properties # 修改创建版本为 1.7.x

    # 执行创建命令

    # 执行创建命令

    ant -Dzstack_build_root=/home/zstack/ -Dzstack.build_version=1.7.x -Dzstack-utiltiy.build_version=1.7.x -Dzstackdashboard.build_version=master all-in-one

    提示:编译出错重新编译时,需要删除/root/zstack/zstack-utility/zstackbuild/target文件夹,重新编译

    编译成后在 /home/zstack/zstack-utility/zstackbuild/target 有 zstack-installer-1.7.3.bin 文件,即为安装包。

    最新版本安装请参考https://github.com/zstackio/zstack-woodpecker

    译后安装

    $ cd /home/zstack/zstack-utility/zstackbuild/target $ sudo bash zstack-installer*.bin -a -D -R aliyun (公网环境) $ sudo bash zstack-installer*.bin -o -D (定制环境)

    选项说明-D :初始化数据库。 -a/-o 全部安装, -R 制定安装源

    Notice: 假如安装失败,检查是否需要手动安装如下安装包: * libvirt-daemon-1.2.17-13.el7_2.5.x86_64.rpm * libvirt-client-1.2.17-13.el7.x86_64.rpm

    centos6安装时会报错如下

     

    没办法请换centos7。

    centos7会报错如下忘记截图啦

    1.大概意思是说无法访问zstack.org请检查DNS,/etc/resolve.cnf文件,就是说无法解析域名检查dns

    原因:老的官网已经不再了,当然解析不到了,请将域名和新的ip地址进行映射。

    vi /etc/hosts

    123.129.244.4 zstack.org

    2.还遇到报错python and gcc faild

    查看log /tmp/zstackinstalltion.log,可能原因是gcc,python版本冲突无法安装

    我手动安装后重启机器后可以pass

    *每次重新安装前记得删除/usr/local/zstack文件

    成功后会如下所示:

     

    1。检查系统:…通过

    2。下载并解压Zstack都在同一个包:

    ZStack一体包下载:…通过

    打开Zstack一体包:…通过

    打开tomcat:…通过

    在Tomcat安装zstack:…通过

    3。安装起来:

    禁用SELinux:…通过

    安装Python和GCC:…通过

    安装点:…通过

    安装起来:…通过

    4。安装系统库:

    安装通用库:…通过

    安装virtualenv:…通过

    5。安装Zstack工具:

    命令行安装zstack:…通过

    安装Zstack控制:…通过

    6。配置系统:

    改变所有权ZStack安装根目录:…通过

    配置zstack.properties:…通过

    配置Tomcat Java选项:…通过

    安装Zstack管理节点:…通过

    配置本地NFS服务器(主存储器):…通过

    配置本地HTTP服务器(存储图像):…通过

    7。安装数据库和消息总线:

    SSH密钥生成温度:…通过

    安装MySQL服务器:…通过

    部署Zstack数据库:…通过

    安装RabbitMQ服务器:…通过

    8。开始Zstack服务器:

    开始Zstack管理节点:…通过

    9。开始Zstack Web UI:

    安装Zstack Web UI:…通过

    开始Zstack仪表板:…通过

    ZStack All In One 1.7 Installation Completed:

    • Installation path: /usr/local/zstack

    • UI is running, visit http://10.0.53.237:5000 in Chrome or Firefox

      Use zstack-ctl [stop_ui|start_ui] to stop/start the UI service

    • Management node is running

      Use zstack-ctl [stop|start] to stop/start it

    • ZStack command line tool is installed: zstack-cli

    • ZStack control tool is installed: zstack-ctl

    • For system security, database root password is set to: zstack.mysql.password . You can use `mysqladmin -u root --password=zstack.mysql.password password NEW_PASSWORD` to change it. To be noticed: ZStack will use 'zstack' user to access database. Change 'root' password won't impact 'zstack' access database.

    • 10.0.53.237:/usr/local/zstack/nfs_root is configured for primary storage as an EXAMPLE

    • http://10.0.53.237/image is ready for storing images as an EXAMPLE. After copy your_image_name to the folder /usr/local/zstack/http_root, your image local url is http://10.0.53.237/image/your_image_name

    • You can use `zstack-ctl install_management_node --host=remote_ip` to install more management nodes

    Zstack所有在一个1.7.3安装完成:

    • Zstack管理节点成功安装在/usr/local Zstack

    •管理节点正在运行

    你可以使用zstack-ctl stopi|star(停止|开始)停止/启动

    • Zstack Web UI运行,访问HTTP:/ / 10..0.53.237:5000浏览器

    你可以使用zstack-ctl stop_ui|start_ui(停止|开始)停止/启动服务

    -安装Zstack命令行工具:Zstack cli

    -安装Zstack控制工具:zstack-ctl

    你可以使用` Zstack-ctl install_management_node——远程= remote_ip `安装更多的管理节点

     

    想学习更多关于zstack源码知识,请看本人gitbook:https://www.gitbook.com/book/jingtyu/how-to-learn-zstack-code 将持续更新

  • 相关阅读:
    boost::asio发送与传输相关的几个函数,备忘
    当ASIO::ASYNC_READ与SOCKET的ASYNC_READ_SOME的区别
    boost::asio keepalive
    boost asio ——深入框架
    Boost.Asio和ACE之间关于Socket编程的比较
    OCP-1Z0-052-V8.02-15题
    JavaScript对象和数组
    Oracle 11g New 使用RMAN 增强功能
    Flex中集合的类型
    Flex中基于列表的一系列MX组件及相互关系
  • 原文地址:https://www.cnblogs.com/jingtyu/p/7919202.html
Copyright © 2020-2023  润新知