KingbaseES的HA搭建
1.配置资源前准备:
安装好数据库并保持两台机器用户ID及组ID一致,组ID和用户ID在/etc/passwd查看,如不保持一致,可能导致切机时阵列的属主改变,导致数据库无法启动。
建议用法,现在两台机器上建好kingbase组,然后通过 groupmod kingbase –g xxx(ID值)
然后建立用户是将kingbase用户直接绑定到kingbase组上 useradd –m –d/home/kingbase kingbase –g kingbase
操作系统相关配置
■ 更改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方式。
确认准备的配置
完成上述操作,重启服务器,并检查上述配置已经正确修改.
检查 hosts 文件.
检查网络通信. Ping IP.
检查防火墙是否关闭.
检查 selinux 文件.
安装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安装和配置同上
配置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
分区。用fdisk /dev/sdb
“p”显示分区信息:
“w”保存分区信息:
格式化分区: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创建锁
创建特定分区
首先,需要在共享存储上划出一个单独的小分区出来,不用多大,一个节点仅需要1Kb。因此10M足够了。盘阵中以创建好:/dev/sdb1。
初始化
SFEX提供了sfex_init指令来初始化特定分区,使用方式如下
sfex_init -n 10 /dev/sdb1
-n表示能创建多少个锁。假定你有2个数据分区,那就需要2个锁。注意,一旦初始化后,不能再增加锁的数量。因此要考虑数据分区的扩展性,所以建议多初始化几个锁。
测试分区
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搭建的更多相关文章
- Spark集群基于Zookeeper的HA搭建部署笔记(转)
原文链接:Spark集群基于Zookeeper的HA搭建部署笔记 1.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192 ...
- HBase HA + Hadoop HA 搭建
HBase 使用的是 1.2.9 的版本. Hadoop HA 的搭建见我的另外一篇:Hadoop 2.7.3 HA 搭建及遇到的一些问题 以下目录均为 HBase 解压后的目录. 1. 修改 co ...
- hadoop HA + HBase HA搭建:
hadoop HA搭建参考:https://www.cnblogs.com/NGames/p/11083640.html (本节:用不到YARN 所以可以不用考虑部署YARN部分) Hadoop 使用 ...
- Spark HA搭建
正文 下载Spark版本,这版本又要求必须和jdk与hadoop版本对应. http://spark.apache.org/downloads.html tar -zxvf 解压到指定目录,进入con ...
- Flink HA 搭建坑
目前网上能找到的做HA的教程基本都无法真正做到多机高可用,包括官方文档,经过很久的折腾,终于做到了多机高可用,希望其它人不再被坑. 集群模式安装 前提条件: 机器已经安装好Java环境 jobMana ...
- 【Hadoop学习之四】HDFS HA搭建(QJM)
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 由于NameNode对于整个HDF ...
- Hadoop 2.7.3 HA 搭建及遇到的一些问题
看了Hadoop的一个7天视频教程,里面给出了搭建的详细步骤,教程中是按2.4.1版本搭建的,我用的是2.7.3版本,好像没什么差别.下面是抄过来的,加了一点注释. hadoop2.0已经发布了稳定版 ...
- Hadoop HA 搭建
Hadoop HA 什么是 HA HA是High Available缩写,是双机集群系统简称,指高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点.通常 ...
- Yarn 集群环境 HA 搭建
环境准备 确保主机搭建 HDFS HA 运行环境 步骤一:修改 mapred-site.xml 配置文件 [root@node-01 ~]# cd /root/apps/hadoop-3.2.1/et ...
随机推荐
- HDU 2485 Destroying the bus stations
2015 ACM / ICPC 北京站 热身赛 C题 #include<cstdio> #include<cstring> #include<cmath> #inc ...
- STM32开发指南-蜂鸣器实验
另一种I/O作为输出的应用,利用一个I/O来控制板载的有源蜂鸣器,实现蜂鸣器控制. PS:有源蜂鸣器自带了震荡电路,一通电就会发声:无源蜂鸣器则没有自带震荡电路,必须外部提供2~5Khz左右的方波驱动 ...
- 【HighCharts系列教程】四、颜色属性——colors
一.Colors属性说明 配置Colors,可以自定义数据列的颜色. 默认下colors就包含一系列颜色,在个性化或需要调整颜色的顺序下,我们可以配置该属性. 二.colors属性详解 Colors属 ...
- CSS——宽高问题大汇总
1.宽高继承 他们是要属性的,并不是直接就能继承,inherit. 2.浮动的盒子不要给宽,宽度由内容来决定
- 转发:招聘一个靠谱的 iOS
觉得很瘦感触,因此转发:http://blog.sunnyxx.com/2015/07/04/ios-interview/ 近一年内陆续面试了不少人了,从面试者到面试官的转变让我对 iOS 招聘有了更 ...
- Ibatis 3.0 之前使用的都是2.0 3.0与2.0的内容有很大的不同
以前用过ibatis2,但是听说ibatis3有较大的性能提升,而且设计也更合理,他不兼容ibatis2.尽管ibatis3还是beta10的状态,但还是打算直接使用ibatis3.0, ibatis ...
- 在win10环境下安装eclipse mars版本
1下载eclipse软件.下载地址:http://www.eclipse.org/downloads/ 不要下载.exe文件.直接下载安装包,下载对应的安装包,我下载的是这个Eclipse IDE f ...
- Identifying Dialogue Act Type
Natural Language Processing with Python Chapter 6.2 import nltk from nltk.corpus import nps_chat as ...
- OC语言的特性(一)-消息传递与调用函数的表现形式
我们在初学Objective-C时,都会觉得ObjC中的消息传递和其他语言的调用函数差不多,只是在OC中,方法调用用消息传递这一概念来代替. 那么到底怎样区别OC中的消息传递与其他语言的调用函数呢. ...
- arduino pro mini不能下载
刚毕业时就知道arduino,但当时崇拜技术极致,喜欢把单片机的性能用到尽,觉得操作寄存器运行效率高,对arduino 这种高效模式贬为投机取巧,不过其中也一直对arduino 有关注. 随着芯片技术 ...