rm -f /etc/motd hostnamectl --static set-hostname central-10.3.190.218; yum -y update yum -y install epel-release yum -y install wget gcc gcc-c++ make vim pcre-devel libffi-devel openssl-devel python-devel libevent-devel postgresql-devel readline-devel perl-ExtUtils-Embed iptables iptables-services inotify-tools bzip2 unzip rsync psmisc python3-devel net-tools yum -y install bash-completion yum -y install python-pip yum -y install chrony #yum -y erase sudo yum clean all curl -s xabc.io/awscli|bash timedatectl set-timezone Asia/Shanghai curl -L https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/xabc.sh -o /etc/profile.d/xabc.sh chmod 644 /etc/profile.d/xabc.sh wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/files/vim.tgz -O -|tar xzf - -C ~ [ -d /root/.pip ]||mkdir -p /root/.pip curl -L https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/files/pip.conf -o /root/.pip/pip.conf pip2 install pip==9.0.3 pip2 install --upgrade setuptools==30.1.0 pip2 install --upgrade Cython redis pyOpenSSL pip2 install functions==0.7.0 pip2 install tornado==5.1.1 pip2 install redis==3.5.3 pip2 install tornadio2==0.0.4 pip2 install tornado_jinja2==0.2.4 pip2 install psycopg2-binary==2.8.6 pip2 install Pillow==2.0.0 pip2 install paramiko==2.7.2 pip2 install sqlalchemy==1.3.20 pip2 install sqlalchemy_utils==0.36.6 pip2 install influxdb==5.3.1 pip2 install futures==3.1.1 pip2 install ujson==2.0.3 pip2 install mako mv /usr/lib/python2.7/site-packages /usr/lib/python2.7/site-packages.bk mv /usr/lib64/python2.7/site-packages /usr/lib64/python2.7/site-packages.bk wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/site-packages.tgz -O -|tar xzf - -C /usr/lib/python2.7 wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/site-packages-64.tgz -O -|tar xzf - -C /usr/lib64/python2.7 yum -y install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm yum -y clean expire-cache yum -y install salt-master salt-minion salt-api salt-ssh pip3 install -U pip setuptools pip3 install redis==3.5.3 flask cryptography pyinotify influxdb salt-pepper gevent pymongo pip3 install aliyun-python-sdk-dyvmsapi echo `hostname` > /etc/salt/minion_id systemctl enable salt-master.service systemctl enable salt-api.service systemctl enable chrony systemctl disable firewalld.service &>/dev/null curl -L https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/master -o /etc/salt/master [ -d /srv/salt/user ]||mkdir -p /srv/salt/user [ -d /srv/zero/0 ]||mkdir -p /srv/zero/0 [ -d /srv/zero/1 ]||mkdir -p /srv/zero/1 [ -d /srv/zero/2 ]||mkdir -p /srv/zero/2 wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/O.tgz -O -|tar xzf - -C /srv/zero/0 wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/P.tgz -O -|tar xzf - -C /srv/zero/1 wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/R.tgz -O -|tar xzf - -C /srv/zero/2 wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/node.tgz -O -|tar xzf - -C /srv/zero/1 wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/grafana.tgz -O -|tar xzf - -C /srv/zero/1 #wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/matrix.tgz -O -|tar xzf - -C /srv/zero/1 ln -fs /srv/zero/1/node/bin/npm /usr/bin/npm ln -fs /srv/zero/1/node/bin/node /usr/bin/node chmod 100 /srv/zero/2/redis/bin/* ln -fs /srv/zero/2/redis/bin/redis-cli /usr/local/bin/ id -u nobody &>/dev/null||useradd nobody -r -s /bin/false groupadd -f nobody &>/dev/null chown root.nobody /srv/zero/0/openresty/nginx/sbin/nginx chmod +xs /srv/zero/0/openresty/nginx/sbin/nginx yum install -y postgresql-server service postgresql initdb service postgresql start service salt-master start systemctl enable postgresql.service [ -e /etc/ssh/ssh_host_dsa_key ]||ssh-keygen -q -t dsa -P '' -f /etc/ssh/ssh_host_dsa_key chmod 755 /etc/rc.d/rc.local systemctl disable salt-minion.service #wget -t 3 https://xabc-1251125987.cos.ap-nanjing.myqcloud.com/matrix/build.tgz -O -|tar xzf - -C /srv/salt rm -fr /var/log /var/cache/salt/minion /root/.bash_history IP=${SSH_CONNECTION% *};IP=${IP##* };[ -n "$IP" ]||IP=$(ip -o -f inet addr|grep -v 'lo '|grep -Po '(?<=inet ).*(?=\/)'|awk '/^10\.|^172\.|^192\.|^100\./'|head -1) REGION=$(curl -s -m 5 http://ip-api.com/line/10.3.190.218?fields=city);[ -n "$REGION" ]||REGION="Shanghai" printf "\033[1;32;40m%s\033[0m\n" "Login 和 Central 机器在同一个内网请在 Login 机器执行 # curl -s xabc.io/l-$IP-$REGION|bash 继续完成对 Login 的基础部署" printf "\033[1;32;40m%s\033[0m\n-----------------\n" "Master 和 Central 机器在同一个内网请在 Master 机器执行 # curl -s xabc.io/m-$IP-$REGION|bash 继续完成对 Master 的基础部署" printf "\033[1;32;40m%s\033[0m\n" "Login 和 Central 机器不在同一内网请在 Login 机器执行 # curl -s xabc.io/l-10.3.190.218-$REGION|bash 继续完成对 Login 的基础部署" printf "\033[1;32;40m%s\033[0m\n" "Master 和 Central 机器不在同一内网请在 Master 机器执行 # curl -s xabc.io/m-10.3.190.218-$REGION|bash 继续完成对 Master 的基础部署" printf "\033[1;32;31m%s\033[0m\n" "特别说明 $REGION 这个字段代表网络区域信息,可根据实际情况改成自己机器所在区域标识信息,同一网络节点内login,master机器,其region标识信息一致,如Beijing,必须与/srv/pillar/central.sls 里面 region 定义一致"