Ⅰ mysql主从库怎样做分发
数据库内均无数据,关闭主从库的iptables(chkconfig iptables off)。
1、主库配置
修改主库MySQL配置文件/ect/my.cnf:
[mysqld]
log-bin=mysql-bin
server-id=1
#skip-networking
#bind-address
server-id用来标识MySQL数据库,log-bin开启二进制日志,注释掉skip-networking和bind-address。 重启主库MySQL。
2、账号配置
在主库服务器上,新建一个用于同步的账号。
mysql> create user 'user'@'%.domain.com' identified by 'password';
mysql> grant repliction slave on *.* to 'user'@'%.domain.com';
新建的用户user@%.domain.com,赋予slave权限。
3、主库状态
mysql> show master status;
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000009 | 480 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)
记录下File和Position的值,之后暂时不要操作主库,防止主库状态发生变化。
4、从库配置
修改主库MySQL配置文件/ect/my.cnf:
[mysqld]
log-bin=mysql-bin
server-id=2
注意主从库的server-id不要相同。
将主库信息导入到从库中:
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.3.11',
-> MASTER_USER='usere',
-> MASTER_PASSWORD='password',
-> MASTER_LOG_FILE='mysql-bin.000009',
-> MASTER_LOG_POS=480;
启动从库slave同步:
mysql> start slvae;
5、从库状态
mysql> show slave status;
查看 Slave_IO_Running | Slave_SQL_Running,如果出现的结果是Yes | Yes,说明mysql主从配置成功完成了。
6、验证同步
在主库新建数据库,导入sql脚本后,查看从库也做了相应的改变,说明mysql主从同步成功。
Ⅱ CD/CD系统之OPEN-C3【快速分发文件】
1. 简介
快速分发文件就是在服务树节点下,在服务器之间同步数据,源数据也可以是用户上传的文件。
2. 前置条件
要使用快速执行脚本功能需要两个条件: 1.机器列表;2.AGENT安装
机器列表的两个来源
来自 服务树资源管理 (如果对接了外部连接器,请到对应平台进行管理【如: 聚云立方服务树 】)。
来自 机器管理 。
AGENT安装涉及到 AGENT安装和管理 。
3. 功能介绍
页面路径:【快速执行】->【分发文件】
3.1. 页面介绍
3.1.1. 作业名称
默认生成,也可以进行修改,在执行历史中可以通过名称查找。
3.1.2. 源文件
源文件有三种选择:
1.共享文件
文件管理 是针对单一服务树,用户可以通过页面或者命令行方式上传文件。
共享文件存储在OPEN-C3的服务器上,如果是集群版,会存储在一个网络文件系统中。
共享文件可以在该页面上传,也可以到 文件管理 页面进行管理。
2.源服务器文件
文件在某个或者多个机器上,选择文件所在机器IP和文件路径。
源机器可以是多个,同步过程会多对多进行进行同步。
3.构建文件
选择构建文件,说明文件来自于 流水线 中的构建文件。
可以先忽略,在 流水线 中再进行详解。
3.1.3. 目标路径
目标路径以"/"结尾代表一个目录,文件会同步到该目录下,如果不是"/"结尾代表文件路径,这个就是最终的文件名。
目标路径中如果不存,系统会自动创建。
3.1.4. 同步delete
如果源路径和目标路径都为"/"结尾,表示目录之间的同步。 “同步delete”打开时,会删除目标路径多出来的文件。
3.1.5. 执行账户
同步操作使用的执行用户,旁边的添加按钮可以添加用户。也可以到 账户管理 中进行管理。
添加用户并不会在远程机器上进行用户创建,只是一个本地的管理。
3.1.6. 目标机器
目标机器的两种类型:
直接勾选对应的IP。
选择 机器分组 中的机器组。
3.1.7. 文件所属者
等同于通过chown在远程服务器上修改文件所属。用户列表管理方式同上述“执行账户”。
3.1.8. 文件权限
等同于在远程机器上通过chmod修改文件属性, 此处可以写755。
3.1.9. 超时时间
超时时间,单位为秒。超时后如果未运行结束,会失败退出。
3.1.10. 其他开关
这里的“生产环境”,“生效动作”,“分批”三个开关可以先忽略,在 流水线 中再展开讲解,此处先都默认选择“总是执行”。
3.2. 执行
3.3. 查看执行历史
页面路径: 【执行历史】->【作业任务】
Ⅲ Linux集群命令分发执行脚本
如果没有运维人员或运维软件,但是又面临在一个集群中每台机器都执行一个命令时,总不能真的登录每一台吧。那这里就起一个简单的命令分发执行脚本。
0、确保脚本所在的机器能够免密登录到集群其他机器
SSH免密登录配置
1、将集群的IP都写入一个文件中
2、编写命令分发脚本
如果机器数量少,可以替换第三行语句为
如果机器IP配置的映射名有规律,也可以替换第三行语句为
同时后面的 $i 替换为 hadoop$i
3、测试
Ⅳ ansible-playbook根据文件名分发脚本
创建用户,设置wheel组sudo不需要密码,然后将用户添加到wheel组,并将用户的公钥传输到节点上:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
- name: Linux Create User and Upload User Public keys
hosts: test
#remote_user: xxxx
#sudo: yes
vars:
user_1: xiaoxiaoleo
tasks:
- name: Make sure we have a 'wheel' group
group:
name: wheel
state: present
- name: Allow 'wheel' group to have passwordless sudo
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^%wheel'
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
- name: Create user {{ user_1 }}
user:
name: "{{ user_1 }}"
shell: /bin/bash
groups: wheel
createhome: yes
home: /home/{{ user_1 }}
state: present
- name: create key directory
action: file path=/home/{{ user_1 }}/.ssh/ state=directory owner={{ user_1 }} group={{ user_1 }} mode=0700
- name: create key file
action: file path=/home/{{ user_1 }}/.ssh/authorized_keys state=touch owner={{ user_1 }} group={{ user_1 }} mode=0600
- name: Set authorized key took from file
authorized_key:
user: "{{ user_1 }}"
state: present