zoukankan      html  css  js  c++  java
  • OpenStack安装

    OpenStack安装--环境准备

          首先,这里我们不再介绍OpenStack是什么,以及它的架构是什么样子的,因为网上已经有很多这方面的资料了。这里我们就只讨论安装OpenStack所必需的环境基础。

          众所周知,OpenStack是基于Python语言编写的,同时使用了很多Plugin,同时OpenStack各个组件之间的通信(或者说数据交换)都是基于数据库(Mysql)和消息中间件(RabbitMQ)进行的,因此今天我们就从这几个方面具体说起:

    一、Python及其Plugin

    1)安装Python:

    这里选择的版本是2.7.6,由于默认CentOS 6.4系统已经安装了Python 2.6.6,因此需要下载Python 2.7.6 版本重新编译安装。具体安装步骤如下:

    复制代码
    [root@casonchan python]$ cd Python-2.7.6
    [root@casonchan Python-2.7.6]$ ./configure
    [root@casonchan Python-2.7.6]$ make all
    [root@casonchan Python-2.7.6]$ make install
    [root@casonchan Python-2.7.6]$ make clean
    [root@casonchan Python-2.7.6]$ make distclean
    复制代码

     经过上面几步,Python 2.7.6 已经编译安装成功,验证如下:

    [root@casonchan Python-2.7.6]$ /usr/local/bin/python2.7 -V
    Python 2.7.6

     建立软链接,使系统默认的python指向python 2.7.6:

    [root@casonchan Python-2.7.6]$ mv /usr/bin/python /usr/bin/python2.6.6
    [root@casonchan Python-2.7.6]$ ln -s /usr/local/bin/python2.7 /usr/bin/python

    再次验证系统默认python版本:

    [root@casonchan Python-2.7.6]$ python -V
    Python 2.7.6

    但是,此时问题就来了,由于yum默认使用的是python 2.6.6,因此需要修改 /usr/bin/yum 才能保证其正常工作:

    [root@casonchan Python-2.7.6]$ vim /usr/bin/yum

    将 #!/usr/bin/python 改成 #!/usr/bin/python2.6.6 即可。

    2)安装pip:

    pip是一个快速安装和管理Python包的工具,后面将通过该工具来帮我们快速方便地安装OpenStack各个组件以及其相关依赖。安装pip首先需要我们先安装setuptools,这里是通过源码编译安装的。具体安装步骤如下:

    [root@casonchan setuptools-2.0]$ python setup.py build
    [root@casonchan setuptools-2.0]$ python setup.py install

    经过上面两步即可成功编译安装setuptools。下面开始源码编译安装pip:

    [root@casonchan pip-1.5.2]$ python setup.py build
    [root@casonchan pip-1.5.2]$ python setup.py install

    同样很简单的两步即可成功编译安装pip。

    3)安装virtualenv和virtualenvwrapper:

    virtualenv 用于在一台机器上创建多个独立的Python运行环境,多个Python运行环境之间相互独立,互不影响,它能够:
    1. 在没有权限的情况下安装新套件
    2. 不同应用可以使用不同的套件版本
    3. 套件升级不影响其他应用

    安装virtualenv后,当我们在不同的虚拟运行环境里安装OpenStack组件及其依赖时,其互不影响。

    这里同样是通过源码的方式安装virtualenv,具体安装步骤如下:

    [root@casonchan virtualenv-1.11.2]$ python setup.py build
    [root@casonchan virtualenv-1.11.2]$ python setup.py install

    或者通过pip来安装,命令如下:

    [root@casonchan python]$ pip install virtualenv


    而 virtualenvwrapper 为 virtualenv 提供了一些便利的命令行上的封装,这里同样通过源码的方式安装,具体安装步骤如下:

    [root@casonchan virtualenvwrapper-4.2]$ python setup.py build
    [root@casonchan virtualenvwrapper-4.2]$ python setup.py install

    或者同样通过pip来安装,命令如下:

    [root@casonchan python]$ pip install virtualenvwrapper

    成功安装完virtualenvwrapper后,还不能立即使用virtualenvwrapper,需要做下面几步:

    创建虚拟目录:

    [root@casonchan ~]$ mkdir $HOME/.virtualenvs

    在~/.bashrc 添加 export WORKON_HOME=$HOME/.virtualenvs

    在~/.bashrc 添加 source (/path/to/this/file/virtualenvwrapper.sh)

    最后执行如下命令:

    [root@casonchan ~]$ source ~/.bashrc

    然后创建一个虚拟运行环境,这里取名叫openstack,具体如下:

    [cason@casonchan ~]$ workon openstack
    (openstack)[cason@casonchan ~]$

    这时就进入了openstack虚拟运行环境。退出虚拟运行环境,通过如下命令:

    (openstack)[cason@casonchan ~]$ deactivate
    [cason@casonchan ~]$

    二、数据库Mysql

     Mysql数据库的安装这里就不具体详述了,通过yum就可以很方便地安装:

    [root@casonchan cason]$ yum install mysql mysql-devel mysql-server

    这里安装mysql-devel是因为后续安装mysql-python时需要用到。

    三、消息中间件RabbitMQ 

    RabbitMQ安装其官网已经描述地很详细了,可以直接参考 http://www.rabbitmq.com/install-rpm.html

    或者参考 http://chqz1987.blog.163.com/blog/static/514383112012852124254/

    四、安装MySQL-python

    由于OpenStack组件需要访问数据库,因此需要安装MySQL-python模块。

    安装MySQL-python模块,既可以通过源码方式安装,也可以通过pip命令快速安装,这里通过pip命令安装,安装命令如下:

    (openstack)[cason@casonchan ~]$ pip install mysql-python

    安装后,可以验证下:

    复制代码
    (openstack)[cason@casonchan ~]$ python
    Python 2.7.6 (default, Dec 30 2013, 19:45:12)
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import MySQLdb
    >>>
    复制代码

    没有报错,证明成功安装。


    -------------------------
    No pains, no gains
     
    分类: OpenStack
  • 相关阅读:
    题解 UVA10213 【How Many Pieces of Land ?】
    NOIP 2018 游记
    POJ 1821 Fence(单调队列优化DP)
    HDU 2196 Computer(经典树形DP)
    POJ 2228 Naptime(DP+环形处理)
    POJ 1742 Coins(多重背包?)
    POJ 2311 Cutting Game(SG函数)
    BZOJ 2560(子集DP+容斥原理)
    HDU2841 Visible Trees(容斥原理)
    HDU 1796 How many integers can you find(容斥原理)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3558831.html
Copyright © 2011-2022 走看看