跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

如何在 Java 应用中自定义 GridDB 连接端口

griddb 默认事务端口为 31999(多播模式)或 10001(固定列表模式),若端口冲突,可通过修改 `gs_cluster. js on` 配置文件 灵活调整, java 客户端同步更新连接参数即可完成适配。 GridDB 支持多种通信方式(如 multicast、fixed-list),其默认事务端口取决于所选通信模式: Multicast 模式 :默认事务端口为 31999; Fixed-list 模式 :默认事务端口为 10001。 当 31999 端口已被占用时,推荐切换至 fixed-list 模式并自定义端口,操作步骤如下: ✅ 步骤 1:修改集群配置文件 编辑 GridDB 安装目录下的 conf/gs_cluster. json (路径可能因安装方式略有差异,如 Docker 中需挂载修改),定位到 "transactionPort" 字段,按需修改。例如设为 10002:
{ "dataStore": { "partitionNum": 128, "replicationNum": 2, "syncMode": "ASYNC" }, "cluster": { "clusterName": "defaultCluster", "notificationMember": [ { "address": "127.0.0.1", "port": 10002 } ] }, "transaction": { "transactionPort": 10002 } }
⚠️ 注意:"notificationMember" 中的 port 必须与 "transactionPort" 保持一致;若使用多节点集群,所有节点的 gs_cluster.json 需统一配置。 ✅ 步骤 2:重启 GridDB 集群 执行以下命令使配置生效(以标准安装为例): 立即学习 “ Java免费学习笔记(深入) ”; Eclipse导入Android或其他的JAVA项目的正确方法 WORD版 本文档主要讲述的是Eclipse导入Android或其他的JAVA项目的正确方法;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看 下载
# 停止集群 gs_stopcluster # 启动集群 gs_startcluster
验证端口是否已监听:
netstat -tuln | grep 10002 # 或 ss -tuln | grep 10002
✅ 步骤 3:更新 Java 客户端连接参数 在 Java 应用中,通过 GridStoreFactory.getInstance().getGridStore(...) 构建连接时,显式指定新端口:
Properties props = new Properties(); props.setProperty("notificationAddress", "127.0.0.1"); props.setProperty("notificationPort", "10002"); // 与 gs_cluster.json 中 transactionPort 一致 props.setProperty("clusterName", "defaultCluster"); props.setProperty("username", "admin"); props.setProperty("password", "admin"); GridStore store = GridStoreFactory.getInstance().getGridStore(props);
? 补充说明 修改端口后,务必确保 防火墙 /SELinux 允许该端口通信; 若使用 Docker,需通过 -p 10002:10002 显式映射端口,并在 gs_cluster.json 和 Java 客户端中同步配置; 不建议直接修改多播模式下的 31999 端口——因其依赖底层组播机制,端口变更易引发发现失败;fixed-list 模式更可控、更适合生产环境。 通过以上三步,即可安全、可靠地将 GridDB 事务端口迁移至无冲突端口,Java 应用无缝衔接。

相关文章