修改GBase集群的IP地址的方法

修改GBase集群的IP地址的步骤如下:

1.修改corosync配置文件

修改每个集群节点/etc/corosync/corosync.conf.

 

[root@zdc1 corosync]# vi corosync.conf

totem {
version: 2
secauth: off
interface {
member {
memberaddr: 10.xx.xx.xx
}
member {
memberaddr: 10.xx.xx.xx
}
ringnumber: 0
bindnetaddr: 10.xx.xx.xx //这里各节点配置本机IP
mcastport: 5493
ttl: 1

}
transport: udpu
token: 60000
token_retransmits_before_loss_const:80
send_join: 80
join: 1500
consensus:120000
}
logging {
fileline: off
to_stderr: no
to_file: yes
to_syslog: no
logfile: /var/log/corosync.log
corosync_system_log: /datafile/gbase/gcluster/log/gcluster/corosync_system.log
debug: off
timestamp: on
logger {
ident: AMF
debug: off
tags: enter|leave|trace1|trace2|trace3|trace4|trace6
}
}

gcware {
persistent_interval: 5
check_interval: 30
whole_check_interval_num: 20
cfg_connect_timeout: 500
gcluster_port: 5258
gnode_port: 5050
syncserver_port: 5288
node_ssh_port: 22
singlecastport: 5678
check_coordinator_thread_num: 1
check_dataserver_thread_num: 10
coordinator {
member {
memberaddr: 10.xx.xx.xx
}
member {
memberaddr: 10.xx.xx.xx
}
}
}

gcware {
persistent_interval: 5
check_interval: 30
whole_check_interval_num: 20
cfg_connect_timeout: 500
gcluster_port: 5258
gnode_port: 5050
syncserver_port: 5288
"corosync.conf" 59L, 1242C

2.修改集群配置文件

2.1 GBase节点ID的计算方法

配置IP地址需要先算好节点ID。计算方法如下

修改好corosync.conf后,启动一下corosync进程

service corosync start

...

然后执行 corosync-cfgtool -s命令

[root@zdc1 corosync]# corosync-cfgtool -s
Printing ring status.
Local node ID -1635361526
RING ID 0
id = 10.xx.xx.xx
status = ring 0 active with no faults

每个节点算出来不一样

[root@zdc2 ~]# corosync-cfgtool -s
Printing ring status.
Local node ID 1116101898
RING ID 0
id = 10.xx.xx.xx
status = ring 0 active with no faults
[root@zdc2 ~]#

节点ID算法:

如果Local node ID 为正数 则直接使用

如果Local node ID 为负数数 则节点ID为 2^32 - Local node ID

上面的例子中

10.93.134.158的节点ID为 4294967296 -1635361526 = 2659605770

10.93.134.66的节点ID为 1116101898

2.2 GBase 86版本

修改每个节点

/var/lib/gcware/DATASERVER         //.bak文件和不带.bak的文件gbase会根据集群状态选择其中一个文件使用,所以都修改一下.两个文件内容是一样的。

/var/lib/gcware/DATASERVER.bak

{
"version":1,
"epoch":5,
"list_entries":2,
"nodes":[
{
"nodeid":2659605770,
"nodename":"node1",
"ipaddr":"10.93.134.158"
},
{
"nodeid":1116101898,
"nodename":"node2",
"ipaddr":"10.93.134.66"
}
]
}


/var/lib/gcware/DISTRIBUTION

/var/lib/gcware/DISTRIBUTION.bak

 

{
"version":1,
"epoch":10,
"list_entries":1,
"distributions":[
{
"distributionid":1,
"list_entries":2,
"pairs":[
{
"segmentid":1,
"prinodeid":2659605770,
"ksafe":0
},
{
"segmentid":2,
"prinodeid":1116101898,
"ksafe":0
}
]
}
]
}

2.3GBase 85版本

修改每个节点/var/lib/gcware/CIB.xml 中的ip 地址和node id 信息

下面是个例子

2.4查询集群状态是否正常

[root@zdc2 gcware]# gcadmin
CLUSTER STATE: ACTIVE
CLUSTER MODE: NORMAL

=============================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
=============================================================
| NodeName | IpAddress |gcware |gcluster |DataState |
-------------------------------------------------------------
| coordinator1 | 10.xx.xx.158 | OPEN | OPEN | 0 |
-------------------------------------------------------------
| coordinator2 | 10.xx.xx.66 | OPEN | OPEN | 0 |
-------------------------------------------------------------
=========================================================
| GBASE DATA CLUSTER INFORMATION |
=========================================================
|NodeName | IpAddress |gnode |syncserver |DataState |
---------------------------------------------------------
| node1 | 10.xx.xx.158 | OPEN | OPEN | 0 |
---------------------------------------------------------
| node2 | 10.xx.xx.66 | OPEN | OPEN | 0 |
---------------------------------------------------------

猜你喜欢

转载自www.cnblogs.com/BrokenSwitch/p/12023086.html
今日推荐