Ⅰ 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