前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在同一台主机快速搭建GBase 8c集群环境

在同一台主机快速搭建GBase 8c集群环境

作者头像
AiDBA宝典
发布2023-04-27 13:51:11
5980
发布2023-04-27 13:51:11
举报
文章被收录于专栏:小麦苗的DB宝专栏

环境准备

代码语言:javascript
复制
docker rm -f gbase8c
docker run -itd --name gbase8c -h gbase8c \
  -p 5432:5432 \
  -v /sys/fs/cgroup:/sys/fs/cgroup \
  --privileged=true \
  lhrbest/gbase8c:8cV5_S3.0.0B76_1.0 \
  /usr/sbin/init

docker exec -it gbase8c bash

数据库启停

启动数据库服务

代码语言:javascript
复制
systemctl start etcd.service

su - gbase
/home/gbase/gbase_package/script/gha_ctl start all -l http://127.0.0.1:2379

停止数据库服务

代码语言:javascript
复制
su - gbase
/home/gbase/gbase_package/script/gha_ctl stop all -l http://127.0.0.1:2379


-- 或
systemctl stop coordinator_gbase_cn1.service
systemctl stop datanode_gbase_dn1_1.service
systemctl stop gtm_gbase_gtm1.service
systemctl stop server_gbase_gha_server1.service
systemctl stop etcd.service

状态检查

执行

代码语言:javascript
复制
/home/gbase/gbase_package/script/gha_ctl monitor -l http://127.0.0.1:2379
/home/gbase/gbase_package/script/gha_ctl monitor -l http://127.0.0.1:2379 -H

结果如下,说明集群安装正常,数据服务启动中

代码语言:javascript
复制
[root@gbase8c /]# /home/gbase/gbase_package/script/gha_ctl monitor -l http://127.0.0.1:2379 -H
+----+-------------+-----------+-------+---------+--------+
| No |     name    |    host   |  port |  state  | leader |
+----+-------------+-----------+-------+---------+--------+
| 0  | gha_server1 | 127.0.0.1 | 20001 | running |  True  |
+----+-------------+-----------+-------+---------+--------+
+----+------+-----------+------+---------------------------+---------+---------+
| No | name |    host   | port |          work_dir         |  state  |   role  |
+----+------+-----------+------+---------------------------+---------+---------+
| 0  | gtm1 | 127.0.0.1 | 6666 | /home/gbase/data/gtm/gtm1 | running | primary |
+----+------+-----------+------+---------------------------+---------+---------+
+----+------+-----------+------+----------------------------+---------+---------+
| No | name |    host   | port |          work_dir          |  state  |   role  |
+----+------+-----------+------+----------------------------+---------+---------+
| 0  | cn1  | 127.0.0.1 | 5432 | /home/gbase/data/coord/cn1 | running | primary |
+----+------+-----------+------+----------------------------+---------+---------+
+----+-------+-------+-----------+-------+----------------------------+---------+---------+
| No | group |  name |    host   |  port |          work_dir          |  state  |   role  |
+----+-------+-------+-----------+-------+----------------------------+---------+---------+
| 0  |  dn1  | dn1_1 | 127.0.0.1 | 15432 | /home/gbase/data/dn1/dn1_1 | running | primary |
| 1  |  dn2  | dn2_1 | 127.0.0.1 | 20010 | /home/gbase/data/dn2/dn2_1 | running | primary |
+----+-------+-------+-----------+-------+----------------------------+---------+---------+
+----+-----------------------+--------+---------+----------+
| No |          url          |  name  |  state  | isLeader |
+----+-----------------------+--------+---------+----------+
| 0  | http://127.0.0.1:2379 | node_0 | healthy |   True   |
+----+-----------------------+--------+---------+----------+
[root@gbase8c /]# 
[root@gbase8c /]# /home/gbase/gbase_package/script/gha_ctl monitor -l http://127.0.0.1:2379
{
    "cluster": "gbase",
    "version": "V5_S3.0.0B76",
    "server": [
        {
            "name": "gha_server1",
            "host": "127.0.0.1",
            "port": "20001",
            "state": "running",
            "isLeader": true
        }
    ],
    "gtm": [
        {
            "name": "gtm1",
            "host": "127.0.0.1",
            "port": "6666",
            "workDir": "/home/gbase/data/gtm/gtm1",
            "agentPort": "8001",
            "state": "running",
            "role": "primary",
            "agentHost": "127.0.0.1"
        }
    ],
    "coordinator": [
        {
            "name": "cn1",
            "host": "127.0.0.1",
            "port": "5432",
            "workDir": "/home/gbase/data/coord/cn1",
            "agentPort": "8003",
            "state": "running",
            "role": "primary",
            "agentHost": "127.0.0.1",
            "central": true
        }
    ],
    "datanode": {
        "dn1": [
            {
                "name": "dn1_1",
                "host": "127.0.0.1",
                "port": "15432",
                "workDir": "/home/gbase/data/dn1/dn1_1",
                "agentPort": "8005",
                "state": "running",
                "role": "primary",
                "agentHost": "127.0.0.1"
            }
        ],
        "dn2": [
            {
                "name": "dn2_1",
                "host": "127.0.0.1",
                "port": "20010",
                "workDir": "/home/gbase/data/dn2/dn2_1",
                "agentPort": "8007",
                "state": "running",
                "role": "primary",
                "agentHost": "127.0.0.1"
            }
        ]
    },
    "dcs": {
        "clusterState": "healthy",
        "members": [
            {
                "url": "http://127.0.0.1:2379",
                "id": "b71f75320dc06a6c",
                "name": "node_0",
                "isLeader": true,
                "state": "healthy"
            }
        ]
    }
}

连接和 SQL 测试

在主节点 gbase8c 执行 $ gsql -d postgres -p 5432,出现 postgres=# 操作符说明客户端工具 gsql 成功连接 GBase 8c 数据库。

代码语言:javascript
复制
[gbase@gbase8c script]$ gsql -d postgres -p 5432
gsql ((multiple_nodes GBase8cV5 3.0.0B76 build 47948f99) compiled at 2023-02-27 16:04:20 commit 0 last mr 1232 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

testdb=# select version();
                                                                                           version                                                                                           
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.2.4 (multiple_nodes GBase8cV5 3.0.0B76 build 47948f99) compiled at 2023-02-27 16:04:20 commit 0 last mr 1232  on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit
(1 row)

testdb=# 
postgres=# create database testdb;
CREATE DATABASE
postgres=# \c testdb
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "testdb" as user "gbase".
testdb=# create table student(ID int, Name varchar(10));
CREATE TABLE
testdb=# insert into student values(1, 'Mike'),(2,'John');
INSERT 0 2
testdb=# select * from student;
 id | name 
----+------
  1 | Mike
  2 | John
(2 rows)

testdb=# \l
                         List of databases
   Name    | Owner | Encoding | Collate | Ctype | Access privileges 
-----------+-------+----------+---------+-------+-------------------
 postgres  | gbase | UTF8     | C       | C     | 
 template0 | gbase | UTF8     | C       | C     | =c/gbase         +
           |       |          |         |       | gbase=CTc/gbase
 template1 | gbase | UTF8     | C       | C     | =c/gbase         +
           |       |          |         |       | gbase=CTc/gbase
 testdb    | gbase | UTF8     | C       | C     | 
(4 rows)

testdb=#  \d student
           Table "public.student"
 Column |         Type          | Modifiers 
--------+-----------------------+-----------
 id     | integer               | 
 name   | character varying(10) | 

testdb=# 
testdb=# create database lhrdb;
CREATE DATABASE
postgres=# \l
                         List of databases
   Name    | Owner | Encoding | Collate | Ctype | Access privileges 
-----------+-------+----------+---------+-------+-------------------
 lhrdb     | gbase | UTF8     | C       | C     | 
 postgres  | gbase | UTF8     | C       | C     | 
 template0 | gbase | UTF8     | C       | C     | =c/gbase         +
           |       |          |         |       | gbase=CTc/gbase
 template1 | gbase | UTF8     | C       | C     | =c/gbase         +
           |       |          |         |       | gbase=CTc/gbase
 testdb    | gbase | UTF8     | C       | C     | 
(5 rows)

postgres=# 

远程登录

代码语言:javascript
复制
C:\Users\lhr>psql -U gha -h 192.168.59.220 -p 5432 -d postgres
Password for user gha:
psql (14.0, server 9.2.4)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=> \l
                         List of databases
   Name    | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-------+----------+---------+-------+-------------------
 lhrdb     | gbase | UTF8     | C       | C     |
 postgres  | gbase | UTF8     | C       | C     |
 template0 | gbase | UTF8     | C       | C     | =c/gbase         +
           |       |          |         |       | gbase=CTc/gbase
 template1 | gbase | UTF8     | C       | C     | =c/gbase         +
           |       |          |         |       | gbase=CTc/gbase
 testdb    | gbase | UTF8     | C       | C     |
(5 rows)


postgres=>

备注

所有用户的密码均为lhr

巡检脚本

更多请参考:https://www.xmmup.com/nandatongyonggbaseshujukuxunjianjiaoben.html

其它不再截图。

参考

https://www.xmmup.com/zaidockerzhongkuaisudajiangbase-8cjiqunhuanjing.html

https://www.xmmup.com/zaitongyitaizhujikuaisudajiangbase-8cjiqunhuanjing.html

https://blog.csdn.net/wiserhowe/article/details/126419430

https://blog.csdn.net/wiserhowe/article/details/128833346

https://blog.csdn.net/wiserhowe/article/details/126725440

https://mp.weixin.qq.com/s/yT-v0f5raST8pw9Fiu_HLA

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境准备
  • 数据库启停
    • 启动数据库服务
      • 停止数据库服务
      • 状态检查
      • 连接和 SQL 测试
      • 远程登录
      • 备注
      • 巡检脚本
      • 参考
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档