前言
本文章向在搭建gbase 8a环境但是遇到困难的朋友提供帮助
环境准备
linux环境搭建
gbase 8a安装包准备
linux环境搭建
这是linux环境的基本信息
使用centos 7系统,系统镜像附链接:https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
选择基本网页服务器,右边全勾选
耐心等待安装完成
1.关闭防火墙
systemctl disable firewalld.service
2.克隆两个虚拟机,然后更改ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
如图
gbase 8a安装包准备
下载gbase安装包 附链接
http://www.gbase8a.com/forum.php?mod=attachment&aid=NDg4fDkwNzNhZmJkfDE2NDU0MzAxNTh8ODExN3wzMjM2
将文件扔到opt路径下
执行命令解压文件
tar xfj GBase8a_MPP_Cluster-NoLicense-FREE-8.6.2_build43-R20-redhat7.3-x86_64.tar.bz2
解压文件后会出现gcinstall目录
进入gcinstall并编辑demo.options文件
cd gcinstall
vi demo.options
执行gcinstall.py
./gcinstall.py --silent=demo.options
两次确认后出现如下界面表示正在安装中
耐心等待安装完成
切换到gbase用户
执行gcadmin查看集群状态
su gbase
gcadmin
执行此命令配置集群主片备片 p为每台机器上的主片数量,d为备片数量
gcadmin distribution gcChangeInfo.xml p 1 d 1
使用以下命令查看
gcadmin showdistribution
接下来对集群进行初始化,执行gccli进入数据库管理界面
gccli
执行以下命令
initnodedatamap;
此命令必须执行,否则无法正常使用gbase
至此集群安装完毕,我们可以进行基本的测试
编写以下sql脚本依次执行
create database testdb;
create table testdb.testtable(col1 int,col2 varchar(20));
insert into testdb.testtable(col1,col2) values (1,'abcdefg');
select * from testdb.testtable;
结果如下,至此我们的数据库搭建已经完成
当然 集群不一定非要安装多个节点,同样支持单节点的配置。
最后附上Jdbc的下载链接以及测试程序
http://www.gbase8a.com/forum.php?mod=attachment&aid=NDQxfDI0YTQ4OGVhfDE2NDU0MzI3MzZ8ODExN3wxMzE1
import java.sql.*;
public class GbaseTest {
private String url = "jdbc:gbase://192.168.198.133:5258";
private String username = "root";
private String password = "";
private String driver = "com.gbase,jdbc.Dirver";
public Connection getConnection() {
try {
return DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args){
GbaseTest gbaseTest = new GbaseTest();
Connection conn = gbaseTest.getConnection();
String sql = "select * from testdb.testtable";
ResultSet rs;
PreparedStatement ps;
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
System.out.println(Integer.toString(rs.getInt(1)) + '\t' + rs.getString(2));
}
rs.close();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
|