目录
把Ansible-fate压缩包解压到/data目录下,下载地址:GitHub - FederatedAI/AnsibleFATE
1 概述
本文介绍在部署fate集群之前执行的一系列前置操作。
示例操作机器:192.168.0.1
示例操作用户:超级用户root
2 hostname配置
2.1 修改主机名
在192.168.0.1 root用户下执行:
hostnamectl set-hostname VM_0_1_centos
2.2 加入主机映射
在目标服务器(192.168.0.1)root用户下执行:
vim /etc/hosts
192.168.0.1 VM_0_1_centos
3 关闭selinux
在目标服务器(192.168.0.1)root用户下执行:
确认是否已安装selinux
centos系统执行:rpm -qa | grep selinux
4 修改Linux系统参数
在目标服务器(192.168.0.1)root用户下执行:
1)vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
2)vim /etc/security/limits.d/20-nproc.conf
* soft nproc 65535
root soft nproc unlimited
5 关闭防火墙
在目标服务器(192.168.0.1)root用户下执行
如果是Centos系统:
systemctl disable firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
6 软件环境初始化
在目标服务器(192.168.0.1)root用户下执行
6.1 创建用户
groupadd apps useradd -s /bin/bash -g apps -d /home/app app passwd app
6.2 建立目录
mkdir -pv /data/projects /data/temp /data/logs chown -R app:apps /data/projects /data/temp /data/logs
7 修改mysql配置
mv /etc/my.cnf /etc/my.cnf_bak
8 配置三边SSH免密登录(app用户)
以app账号登录;
输入ssh-keygen -t rsa,然后一路回车,顺利生成秘钥文件。
以app账号登录node0机器;
生成一个空白文件:
touch ~/.ssh/authorized_keys
将node0自己的公钥放入文件authorized_keys中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
以app账号登录node1机器,执行以下命令,即可将node1的公钥传输到node0机器,文件名为node1.id_rsa.pub:
scp ~/.ssh/id_rsa.pub app@VM_0_1_centos:~/.ssh/node1.id_rsa.pub
期间会要求输入node0的app账号的密码,输入后传输完成,在node0的/homeapp/.ssh目录下,多了个名为node1.id_rsa.pub的文件;
在VM_0_1_centos机器执行以下命令,即可将node1.id_rsa.pub的内容写入authorized_keys文件:
cat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keys
此时authorized_keys文件中已经有了VM_0_1_centos和VM_0_2_centos的公钥; 以app账号登录VM_0_3_centos机器,执行以下命令,即可将VM_0_3_centos的公钥传输到VM_0_1_centos机器,文件名为node2.id_rsa.pub:
scp ~/.ssh/id_rsa.pub hadoop@VM_0_1_centos:~/.ssh/node2.id_rsa.pub
期间会要求输入VM_0_1_centos的app账号的密码,输入后传输完成,在VM_0_1_centos的/home/app/.ssh目录下,多了个名为node2.id_rsa.pub的文件;
在VM_0_1_centos机器执行以下命令,即可将node2.id_rsa.pub的内容写入authorized_keys文件:
cat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keys
此时authorized_keys文件中已经有了node0、node1、node2的公钥;
同步秘钥授权文件
以app账号登录VM_0_1_centos机器,执行以下命令将秘钥授权文件同步到VM_0_2_centos机器:
scp ~/.ssh/authorized_keys app@VM_0_2_centos:~/.ssh/
以app账号登录VM_0_1_centos机器,执行以下命令将秘钥授权文件同步到VM_0_3_centos机器:
scp ~/.ssh/authorized_keys app@VM_0_3_centos:~/.ssh/
9 三台机器安装Ansible(三台机器都需要安装)
9.1安装
yum -y install epel-release.noarch
yum install -y ansible
yum install -y tree
tree /etc/ansible/
9.2修改配置
vim /etc/ansible/hosts # 配置主机清单
# 以下内容为添加内容,不是修改内容
[webservers]
192.168.1.1 #被监控端1的IP
[mysql]
192.168.0.88 #被监控端2的IP
10 初始化配置
10.1下载脚本和下载配置文件
bash build/build.sh do
10.2初始化配置
sh deploy/deploy.sh init -h="10000:192.168.0.1" -g="9999:192.168.1.1" -e="192.168.0.88" -k="host|exchange"
sh deploy/deploy.sh keys
sh deploy/deploy.sh render
11 执行部署
sh deploy/deploy.sh deploy
然后就可以测试了~