我就废话不多说了,大家还是直接看代码吧~
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
|
# !/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = '_X.xx_'
__date__ = '2018/7/18 16:44'
from django.http import JsonResponse
class HttpCode( object ):
ok = 200
paramserror = 400
unantu = 401
methoderror = 405
servererror = 500
def ok():
return result()
def result(code = HttpCode.ok, message = '', data = None , kwargs = None ):
json_dict = { 'code' : code, 'message' : message, 'data' : data}
if kwargs and isinstance (kwargs, dict ) and kwargs.keys():
json_dict.update(kwargs)
return JsonResponse(json_dict)
def params_error(message = '', data = None ):
return result(code = HttpCode.paramserror, message = message, data = data)
def unauth(message = '', data = None ):
return result(code = HttpCode.unantu, message = message, data = data)
def method_error(message = '', data = None ):
return result(code = HttpCode.methoderror, message = message, data = data)
def server_error(message = '', data = None ):
return result(code = HttpCode.servererror, message = message, data = data)
|
补充知识:python部署galery集群
galery.py文件内容
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
import pexpect
import os
import configparser
HOSTNAME_DB1 = 'db1'
HOSTNAME_DB2 = 'db2'
HOSTNAME_DB3 = 'db3'
DB1 = '192.168.254.24'
DB2 = '192.168.254.27'
DB3 = '192.168.254.36'
PORT = 22
USERNAME = 'root'
PASSWORD = 'root'
server3_cnf = 'sed -i "s/wsrep_node_name = db1/wsrep_node_name = db3/g" /etc/my.cnf.d/server.cnf;sed -i "s/wsrep_node_address = %s/wsrep_node_address = %s/g" /etc/my.cnf.d/server.cnf' % (DB1,DB3)
server2_cnf = 'sed -i "s/wsrep_node_name = db1/wsrep_node_name = db3/g" /etc/my.cnf.d/server.cnf;sed -i "s/wsrep_node_address = %s/wsrep_node_address = %s/g" /etc/my.cnf.d/server.cnf' % (DB1,DB3)
def config_parse():
config = configparser.ConfigParser()
config.read( "/etc/my.cnf.d/server.cnf" , encoding = "utf-8" )
config. set ( 'galera' , 'wsrep_on' , 'ON' )
config. set ( 'galera' , 'wsrep_provider' , '/usr/lib64/galera/libgalera_smm.so' )
config. set ( 'galera' , 'wsrep_cluster_address' , '"gcomm://%s,%s,%s"' % (DB1, DB2, DB3))
config. set ( 'galera' , 'wsrep_node_name' , '%s' % HOSTNAME_DB1 )
config. set ( 'galera' , 'wsrep_node_address' , '%s' % DB1)
config. set ( 'galera' , 'binlog_format' , 'row' )
config. set ( 'galera' , 'default_storage_engine' , 'InnoDB' )
config. set ( 'galera' , 'innodb_autoinc_lock_mode' , '2' )
config. set ( 'galera' , 'wsrep_slave_threads' , '1' )
config. set ( 'galera' , 'innodb_flush_log_at_trx_commit' , '1' )
config. set ( 'galera' , 'innodb_buffer_pool_size' , '120M' )
config. set ( 'galera' , 'wsrep_sst_method' , 'rsync' )
config. set ( 'galera' , 'wsrep_causal_reads' , 'ON' )
config.write( open ( '/etc/my.cnf.d/server.cnf' , 'w' ))
def cp_server_cnf():
child1 = pexpect.spawn( 'scp /etc/my.cnf.d/server.cnf %s@%s:/etc/my.cnf.d/server.cnf' % (USERNAME,DB2))
child1.expect( 'password:' )
child1.sendline(PASSWORD)
child1.interact()
child1.close()
child2 = pexpect.spawn( 'scp /etc/my.cnf.d/server.cnf %s@%s:/etc/my.cnf.d/server.cnf' % (USERNAME,DB3))
child2.expect( 'password:' )
child2.sendline(PASSWORD)
child2.interact()
child2.close()
def conn_db(ip,cnf):
child3 = pexpect.spawn( 'ssh %s@%s' % (USERNAME, ip))
child3.expect( 'password:' )
child3.sendline( 'root' )
child3.expect( '#' )
child3.sendline(cnf)
child3.expect( '#' )
child3.sendline( 'systemctl restart mariadb > /dev/null' )
child3.sendline( 'exit' )
child3.interact()
child3.close()
def init_cmd():
res1 = os.system( 'service mariadb stop' )
res2 = os.system( 'mysqld_safe --wsrep_cluster_address=gcomm://%s,%s,%s >/dev/null &' % (DB1, DB2, DB3))
res3 = os.system( 'galera_new_cluster &>/dev/null' )
if res2 = = 0 :
print ( 'galera初始化完成' )
if res3 = = 0 :
print ( 'galera集群已经启动' )
else :
print ( 'galera集群启动失败' )
else :
print ( 'galera初始化失败!' )
def main():
config_parse()
cp_server_cnf()
init_cmd()
conn_db(DB2,server2_cnf)
conn_db(DB3,server3_cnf)
if __name__ = = '__main__' :
main()
|
以上这篇Django封装交互接口代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_41827390/article/details/81286154