1.配置资源前准备:

安装好数据库并保持两台机器用户ID及组ID一致,组ID和用户ID在/etc/passwd查看,如不保持一致,可能导致切机时阵列的属主改变,导致数据库无法启动。

建议用法,现在两台机器上建好kingbase组,然后通过 groupmod  kingbase –g xxx(ID值)

然后建立用户是将kingbase用户直接绑定到kingbase组上 useradd –m –d/home/kingbase kingbase –g kingbase

  1. 操作系统相关配置

■  更改KingbaseHA集群子节点的主机名

#vim /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=kdb1

备机改为kdb2

■  更改KingbaseHA集群子节点的主机名

配置主备机kdb1/kdb2机器的IP地址,

eth0为外网ip:192.168.10.1/192.168.10.2

eth1为HA内网通讯ip:10.10.10.1/10.10.10.2

■ TCP/IP 连接和名称解析的确认

构成集群的全部节点之间,需要互相进行名称解析,这个问题一出现,GUI 的功能不能够正常执行会引起各种各样的故障。强烈推荐使用/etc/hosts。使用 DNS 服务器的情况下也请在/etc/hosts中记录正确的信息。

kdb1主机:

#vim /etc/hosts

127.0.0.1       localhost        //这行必须存在

10.10.10.1    kdb1

10.10.10.2    kdb2

kdb2主机:

#vim /etc/hosts

127.0.0.1       localhost        //这行必须存在

10.10.10.1 kdb1

10.10.10.2 kdb2

■  确认防火墙设置

关闭防火墙

■ SELinux 配置

SELinux 设置的是disabled 方式,SELinux选项一般默认为enforcing方式。

  1. 确认准备的配置

完成上述操作,重启服务器,并检查上述配置已经正确修改.

检查 hosts 文件.

检查网络通信. Ping IP.

检查防火墙是否关闭.

检查 selinux  文件.

  1. 安装KingbaseHA

4.1 安装前检查

KingbaseHA-3.0版本进行KingbaseHA共享存储模式安装。在安装KingbaseHA之前首先保证KingbaseHA的网络心跳可以正常链接进行心跳侦测。另外,为防止KingbaseHA集群节点之间出现“脑裂”现象,一般采用增加心跳的策略或通过系统外部硬件设备来保障KingbaseHA集群节点之间的正常运行状态。

KingbaseHA-A2.2版本金仓高可用软件提供静默的安装方式,安装过程简单。此工具需要在安装金仓高可用软件的每个节点上均执行。

【注意】:在安装配置 KingbaseHA 之前,应确保在每个单独的服务器节点上相关服务均可正常使用。

以数据库系统为例,需保证每个节点上的数据库系统都可以正常的启动、停止并正常的对外提供服务。

请按照以下步骤进行 KingbaseHA的安装:

[root@kdb1 ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 5.3 (Tikanga)

查看Linux为redhat的哪个系列,合理选择KingbaseHA的版本

4.2 KingbaseHA安装

在 Linux系统中以 root 用户登陆,将KingbaseHA安装光盘放入光驱中;或将安装包复制到指定目录下,如/opt/KingbaseHA:

[root@kdb1 ~]#cp /medir/cdrom/ KingbaseHA-RHEL6-20140325.run/opt/KingbaseHA

创建KingbaseHA用户属主和属组(可选:如不创建,安装程序会自动创建):

[root@kdb1 ~]#groupadd haclient

useradd -g haclient hacluster

passwd hacluster

1、以root用户登陆开启一个终端窗口,执行如下命令,给安装包加权限,并执行安装:

[root@kdb1 KingbaseHA]#chmod +x KingbaseHA-RHEL6-20140325.run

[root@kdb1 KingbaseHA]#./ KingbaseHA-RHEL6-20140325.run

这样KingbaseHA就安装KingbaseHA-RHEL6-20140325.run完成了。

2、配置HA

进入HA配置文件路径,创建ha.cf,配置HA日志路径和心跳等信息,如:

[root@kdb1 KingbaseHA]# cd /etc/opt/KingbaseHA/ha.d/

[root@kdb1 ha.d]#vim ha.cf

输入:

logfile /var/log/ha-log

use_logd 0

apiauth mgmtd   uid=root

respawn root   /opt/KingbaseHA/lib/heartbeat/mgmtd -v

node kdb1

node kdb2 --修改主机名/etc/sysconfig/network

ucast eth1 10.10.10.1 --心跳ip,如果有多个网卡可配置多个(防脑裂措施),两台服务器心跳ip网卡名一致,本例均为eth1

ucast eth1 10.10.10.2 --心跳ip,两台服务器心跳ip网卡名一致,本例均为eth1

crm respawn

在该路径下创建HA授权文件authkeys,如:

[root@kdb1 ha.d]# vim authkeys

auth 1

4.3 KingbaseHA环境变量配置

配置环境变量:在/etc/profile文件最后加上如下环境变量:

source /etc/opt/KingbaseHA/profile.d/kingbaseha.sh

保存。并执行source /etc/profile或重启。

4.4 KingbaseHA启动

启动KingbaseHA:

[root@kdb1 ~]#/etc/init.d/KingbaseHA start

注:再启动过程中如果出现故障请查看日志/var/log/ha.log,进行原因分析;

检查KingbaseHA服务是否随操作系统启动:

[root@kdb1 ~]# chkconfig --list KingbaseHA

KingbaseHA         0:off   1:off  2:on    3:on    4:on   5:on    6:off

如果不是则需要执行:

[root@kdb1 ~]#chkconfig --level 235 KingbaseHA on

注:节点kdb2的KingbaseHA安装和配置同上

  1. 配置KingbaseHA资源

5.1 磁盘分区

注:磁盘分区根据现场的环境进行配置

例如:分区fdisk /dev/sdb

分两个区:/dev/sdb1和/dev/sdb2

第一个分区用来初始化锁实现防脑裂的作用(大小小于等于10MB即可);

第二个分区用来存储数据

分区时输入信息:(双引号内的内容)

“n”创建分区

“p”显示分区信息:

“1”分区编号

“n”创建分区

“p”显示分区信息:

“2”分区编号

“w”保存分区信息:

格式化分区:mkfs.ext3 /dev/sdb1或mkfs –t ext3  /dev/sdb1

格式化分区:mkfs.ext3 /dev/sdb2或mkfs –t ext3  /dev/sdb2

  1. 分区。用fdisk /dev/sdb

“p”显示分区信息:

“w”保存分区信息:

  1. 格式化分区:mkfs.ext3     /dev/sdb1或mkfs –t ext3  /dev/sdb1

给/dev/sdb1初始化sfex锁:

磁盘阵列挂载

设定挂载目录:mkdir /dbdata,然后可以在文件系统中查看到该目录:

Mount命令挂载:mount/dev/sdb2 /dbdata,可以看到DATA中出现的目录:

查看挂载分区:

[root@kdb1 ~]# df –lh

Filesystem           Size  Used Avail Use% Mounted on

/dev/sda2             35G  3.9G   30G 12% /

/dev/sda1            145M   12M  126M  9% /boot

tmpfs                3.5G     0  3.5G  0% /dev/shm

/dev/sdb2            33G  177M  1G   1% /dbdata

5.2 SFEX创建锁

  1. 创建特定分区

首先,需要在共享存储上划出一个单独的小分区出来,不用多大,一个节点仅需要1Kb。因此10M足够了。盘阵中以创建好:/dev/sdb1。

  1. 初始化

SFEX提供了sfex_init指令来初始化特定分区,使用方式如下

sfex_init -n 10 /dev/sdb1

-n表示能创建多少个锁。假定你有2个数据分区,那就需要2个锁。注意,一旦初始化后,不能再增加锁的数量。因此要考虑数据分区的扩展性,所以建议多初始化几个锁。

  1. 测试分区

SFEX提供了sfex_state指令来测试分区信息是否有效,指令使用及输出结果如下:

[root@kdb1 ~]## sfex_stat-i 1 /dev/sdb1

control data:

magic: 0x53, 0x46, 0x45,0x58

version: 1

revision: 3

blocksize: 512

numlocks: 3

lock data #1:

status:unlock

count: 393

nodename: tsd1

status is UNLOCKED

5.3 配置资源

由于我们已经在/etc/hosts和ha.cf文件中做了相应的配置,我们在节点kdb1上面所作的配置会保存在KingbaseHA的cib.xml文件中,并且自动同步到kdb2上。

注:Kingbase数据库在本文中安装的路径:/home/kingbase/KingbaseES

5.3.1 命令行配置:

KingbaseHA提供管理工具crm进行HA的配置和日常的管理,以下是命令行的配置:

[root@kdb1 ~]# crm

crm(live)# configure

crm(live)configure#edit

node $id="6fc261db-e88c-42c3-874a-aabed73d4090" kdb2

node $id="e33d73be-63b3-4873-9ee5-e433f054fcca" kdb1

property $id="cib-bootstrap-options" \

dc-version="1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b" \

cluster-infrastructure="Heartbeat" \

last-lrm-refresh="1367837350" \

stonith-enabled=”true”

primitive FIP ocf:heartbeat:IPaddr2 \

metatarget-role="Started" \

operations$id="FIP-operations" \

op monitorinterval="30s" timeout="60s" \

params ip="192.168.10.8"cidr_netmask="255.255.255.0"

primitive Filesystem ocf:heartbeat:Filesystem \

metatarget-role="Started" \

operations$id="Filesystem-operations" \

op monitorinterval="30" timeout="60" \

params device="/dev/sdb2"directory="/kingbase" fstype="ext3"

primitive PXD ocf:heartbeat:sfex \

metatarget-role="Started" \

operations$id="PXD-operations" \

op monitorinterval="20s" timeout="40s" \

params device="/dev/sdb1"lock_timeout="5" monitor_interval="1"

primitive pingip ocf:heartbeat:pingd \

metatarget-role="Started" \

operations$id="pingip-operations" \

op monitorinterval="60" timeout="120s" \

multiplier="1000"host_list="192.168.10.8"

primitive kingbase ocf:heartbeat:kingbase \

metatarget-role="Started" \

operations$id="kingbase-operations" \

op monitorinterval="30" timeout="30" \

params kbhome="/home/kingbase/KingbaseES/"monitor_password="123456" kbdata="/kingbase/data"

group kingbaseha PXD Filesystem kingbase FIP \

metatarget-role="Started"

clone cl_pingip pingip

location l kingbaseha inf: kdb1

location l2 kingbaseha inf: kdb2

location lo_group_pingip kingbaseha \

rule$id="lo_group-pingip-rule" -inf: not_defined pingd or pingd lt 1000

property $id="cib-bootstrap-options" \

dc-version="1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b" \

cluster-infrastructure="Heartbeat" \

last-lrm-refresh="1367837350" \

stonith-enabled="false" \

no-quorum-policy="ignore" \

default-resource-stickiness="100"

保存并退出,执行commit,即可完成配置。

本文出自 “岁伏” 博客,请务必保留此出处http://suifu.blog.51cto.com/9167728/1692282

KingbaseES的HA搭建的更多相关文章

  1. Spark集群基于Zookeeper的HA搭建部署笔记(转)

    原文链接:Spark集群基于Zookeeper的HA搭建部署笔记 1.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192 ...

  2. HBase HA + Hadoop HA 搭建

    HBase 使用的是 1.2.9 的版本.  Hadoop HA 的搭建见我的另外一篇:Hadoop 2.7.3 HA 搭建及遇到的一些问题 以下目录均为 HBase 解压后的目录. 1. 修改 co ...

  3. hadoop HA + HBase HA搭建:

    hadoop HA搭建参考:https://www.cnblogs.com/NGames/p/11083640.html (本节:用不到YARN 所以可以不用考虑部署YARN部分) Hadoop 使用 ...

  4. Spark HA搭建

    正文 下载Spark版本,这版本又要求必须和jdk与hadoop版本对应. http://spark.apache.org/downloads.html tar -zxvf 解压到指定目录,进入con ...

  5. Flink HA 搭建坑

    目前网上能找到的做HA的教程基本都无法真正做到多机高可用,包括官方文档,经过很久的折腾,终于做到了多机高可用,希望其它人不再被坑. 集群模式安装 前提条件: 机器已经安装好Java环境 jobMana ...

  6. 【Hadoop学习之四】HDFS HA搭建(QJM)

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 由于NameNode对于整个HDF ...

  7. Hadoop 2.7.3 HA 搭建及遇到的一些问题

    看了Hadoop的一个7天视频教程,里面给出了搭建的详细步骤,教程中是按2.4.1版本搭建的,我用的是2.7.3版本,好像没什么差别.下面是抄过来的,加了一点注释. hadoop2.0已经发布了稳定版 ...

  8. Hadoop HA 搭建

    Hadoop HA 什么是 HA HA是High Available缩写,是双机集群系统简称,指高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点.通常 ...

  9. Yarn 集群环境 HA 搭建

    环境准备 确保主机搭建 HDFS HA 运行环境 步骤一:修改 mapred-site.xml 配置文件 [root@node-01 ~]# cd /root/apps/hadoop-3.2.1/et ...

随机推荐

  1. 关于有限状态机FSM同步复位的问题

    FSM通常情况下使用异步信号进行复位,如FSM1中的rst_n信号.当rst_n信号为低时,FSM进入空闲状态IDLE. 在某些特殊情况下有可能需要跟随某个外部信号强制切换到空闲状态,也即同步复位.下 ...

  2. 在java中和javascript中过滤掉类似于img形式的字符串,从而不显示图片

    1:javascript过滤掉<img></img>和<img />形式的字符串 <!DOCTYPE html PUBLIC "-//W3C//DT ...

  3. POJ Sudoku 数独填数 DFS

    题目链接:Sudoku Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 18105   Accepted: 8772   Sp ...

  4. HDU 4638 (莫队)

    题目链接:Problem - 4638 做了两天莫队和分块,留个模板吧. 当插入r的时候,设arr[r]代表r的位置的数字,判断vis[arr[r-1]]和vis[arr[r+1]]是否访问过,如果两 ...

  5. gridcontrol第一行为0,没有选中为-999999

  6. BNU OJ 51005 BQG's Quadrilateral Bricks

    #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include ...

  7. Alcatraz:插件管理

    安装: 终端粘贴 "curl -fsSL https://raw.github.com/alcatraz/Alcatraz/master/Scripts/install.sh | sh&qu ...

  8. php 安装php5-mysql 拓展

    Your PHP installation appears to be missing the MySQL extension which is required by WordPress Error ...

  9. Quick Cocos2dx controller的初步实现

    很久没有记笔记了,今天记一下,最近都在瞎忙活,都不知道自己干了些啥. 我的Controller是在官方的mvc sample的里面的PlayerDualController上更改的,所以很多地方还没来 ...

  10. Linux中后台执行任务

    执行时, 可以在命令最后添加 & 使其后台执行, 但是其输出依然会显示, 而且其运行是和当前shell绑定的 如果脚本已经运行,  可以使用Ctrl-Z暂停, 然后使用 bg 让其转入后台, ...