zoukankan      html  css  js  c++  java
  • salt-stack-非标准安装(源码安装)-redhat6.5源码安装salt

    一,简介

    简单先介绍下环境,笔者所运维的环境基本上以redhat和CentOS为主。CentOS系统的版本也从5.4到6.8都有包括,进尔导致salt所依赖的python语言环境的版本也从2.4.3到2.6.6都有。因为是线上的系统,系统版本的升级或者python版本的升级,都有可能带来一定的风险性。所以从本意上来说,这次做的salt安装,最好不要对线上环境有任何的影响。

    二,官方文档说:安装需求

    python >=2.6 <3.0

    zeromq >=2.1.9

    pyzmp >=2.1.9

    pycrypto

    msgpack-python

    yaml

    jinja2

     

    根据官方文档的要求开始准备软件:

    序号 软件包 下载连接 报错
    1 libzmq-master.zip https://github.com/zeromq/libzmq 安装pyzmq报错,其中有一段 - Failed with default libzmq, trying again with /usr/local
    2 PyYAML-3.10.tar.gz https://pypi.python.org/pypi/PyYAML/3.10#downloads 启动master报错 - ImportError: No module named yaml
    3 MarkupSafe-0.18.tar.gz https://pypi.python.org/simple/MarkupSafe/ 安装jinja2报错 - error: Could not find suitable distribution for Requirement.parse('markupsafe')
    4 Jinja2-2.7.1.tar.gz https://pypi.python.org/pypi/Jinja2/2.7.1 启动master报错 - ImportError: No module named jinja2
    5 pyzmq-13.1.0.tar.gz https://pypi.python.org/pypi/pyzmq/13.1.0#downloads 启动master报错 - ImportError: No module named zmq
    6 M2Crypto-0.21.1.tar.gz https://pypi.python.org/pypi/M2Crypto/0.21.1 启动master报错 - ImportError: No module named M2Crypto
    7 msgpack-python-0.3.0.tar.gz https://pypi.python.org/pypi/msgpack-python/0.3.0 安装m2crypto报错 - /usr/include/openssl/opensslconf.h:31: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.
    8 pycrypto-2.6.tar.gz https://pypi.python.org/pypi/pycrypto/2.6 master和minion在运行一段时间后会报以下错误 - NameError: global name 'AES' is not defined
    9 virtualenv-15.1.0.tar.gz https://pypi.python.org/pypi/virtualenv/ [WARNING ] virtualenv not installed, please install first
    10 Python-2.7.5.tar.bz2 https://www.python.org/download/releases/2.7.5/ 升级python

    三,升级系统python

    本文介绍redhat6.5从自带的Pyhon版本是2.4升级到2.7.5的方法。因为redhat系统中旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装。

    1.下载Pyhon,选择下载Gzipped source tar ball (2.7.5) (sig)

    网址https://www.python.org/download/releases/2.7.5

    2.解压安装,命令如下

    tar -xvf Python-2.7.5.tgz

    cd Python-2.7.5

    ./configure --prefix=/usr/local/python2.7

    make

    make install

    3.创建链接来使系统默认python变为python2.7

    ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python

    4.查看Python版本

    python –V

    5.修改yum配置(否则yum无法正常运行)

    vi /usr/bin/yum

    将第一行的#!/usr/bin/python修改为系统原有的python版本地址#!/usr/bin/python2.4,至此redhat6.5系统Python已成功升级至2.7.5版本

    三,源码安装salt  

    1,安装libzmq-master    ---如果报错,需要先升级autoconf 

    [root@ntpserver libzmq-master]# sh autogen.sh 
    autoreconf: Entering directory `.'
    autoreconf: configure.ac: not using Gettext
    autoreconf: running: aclocal --force -I config
    configure.ac:3: error: Autoconf version 2.61 or higher is required
    configure.ac:3: the top level
    autom4te: /usr/bin/m4 failed with exit status: 63
    aclocal: autom4te failed with exit status: 63
    autoreconf: aclocal failed with exit status: 63
    autogen.sh: error: autoreconf exited with status 0

    2,升级autoconf

    [root@localhost ]# rpm -e autoconf-2.59-12  --nodeps 
    [root@localhost ]# wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz 
    [root@localhost ]# tar zxvf autoconf-2.68.tar.gz 
    [root@localhost ]# cd autoconf-2.68 
    [root@localhost autoconf-2.68]# ./configure --prefix=/usr/local 
    [root@localhost autoconf-2.68]# make&& make install 
    [root@localhost autoconf-2.68]# /usr/bin/autoconf -V 
    autoconf (GNU Autoconf) 2.68

    3,安装PyYAML-3.10

    wget --no-check-certificate https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz#md5=74c94a383886519e9e7b3dd1ee540247
    tar xzvf PyYAML-3.10.tar.gz
    cd PyYAML-3.10
    python setup.py install

    4,安装MarkupSafe

    wget --no-check-certificate https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz
    tar xzvf MarkupSafe-0.23.tar.gz
    cd MarkupSafe-0.23
    python setup.py install

    5,安装Jinja

    wget --no-check-certificate https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz
    tar zxvf Jinja2-2.7.3.tar.gz
    cd Jinja2-2.7.3
    python setup.py install

    6,安装pyzmq

    wget --no-check-certificate https://pypi.python.org/packages/source/p/pyzmq/pyzmq-14.3.1.tar.gz#md5=7196b4a6fbf98022f17ffa924be3d68d
    tar xzvf pyzmq-14.3.1.tar.gz
    cd pyzmq-14.3.1
    python setup.py install

    7,安装msgpack

    wget --no-check-certificate https://pypi.python.org/packages/source/m/msgpack-python/msgpack-python-0.4.2.tar.gz
    tar xzvf msgpack-python-0.4.2.tar.gz
    cd msgpack-python-0.4.2
    python setup.py install

    8,安装M2Crypto

    若swig的版本小于1.3.29,则先安装新版本的swig-2.0.0

    $ tar zxvf swig-2.0.0.tar.gz
    $ cd swig-2.0.0
    $ ./configure --prefix=$HOME/local/swig
    $ make && make install
    # 设置$HOME/local/swig/bin 到环境变量PATH,替换原来的swig
    $ source ~/.bash_profile

    若出现错误提示1:“This openssl-devel package does not work your architecture?”

    则修改setup.py文件,将#'-Di386' 的注释去掉 (或直接下载已修改好的setup.py 文件替换原来的)

    若出现错误提示2:“/usr/include/openssl/opensslconf.h:13: Error: Unable to find 'opensslconf-i386.h'”

    #yum install openssl-1.0.1e-15.el6.i686
    #yum install openssl-devel-1.0.1e-15.el6.i686
    #则先将'opensslconf-i386.h'复制到当前目录
    #cp /usr/include/openssl/opensslconf-i386.h ./

    然后重新安装:

    pyton setup.py install

    9,安装virtualenv

    下载地址:https://pypi.python.org/pypi/virtualenv/
    tar -zxvf virtualenv-15.1.0.tar.gz 
    cd virtualenv-15.1.0
    python setup.py install

    10,安装salt

    wget https://pypi.python.org/pypi/salt
    cd salt
    python setup.py install
    11,源码安装后,还需要手动拷贝配置文件模板到/etc/salt/内
    cp salt-0.17.0/conf/master /etc/salt/
    cp salt-0.17.0/conf/minion /etc/salt/

    12,正确安装完毕后可以看到一批salt命令

    [root@localhost ~]# salt
    salt salt-call salt-cp salt-key salt-master salt-minion salt-run salt-ssh salt-syndic

    13,启动salt各个模块

    可以使用salt-minion –d 方式启动

     

  • 相关阅读:
    struts2 委托spring代理action<转>
    Ajax中的时间戳应用<转>
    ajax的json传值方式
    单例HashTable例子
    eclipse修改vm页面JavaScript代码颜色
    Ajax表单异步提交及验证
    xml解析
    sql server 添加语句中,VALUES值需要从数据库中查询出来
    SQL substring、replace函数
    使用SQL语句操作数据库
  • 原文地址:https://www.cnblogs.com/snailshadow/p/8042094.html
Copyright © 2011-2022 走看看