前言
本文章向在搭建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 showdistribution
接下來對叢集進行初始化,執行gccli進入資料庫管理界面
gccli
執行以下指令
此指令必須執行,否則無法正常使用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();
}
}
}