# zkclient **Repository Path**: mcxia/zkclient ## Basic Information - **Project Name**: zkclient - **Description**: 内核1.0 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-09 - **Last Updated**: 2026-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ZooKeeper FX Client 一个功能强大的 ZooKeeper 图形化管理客户端,基于 JavaFX 开发,提供直观的界面和丰富的功能来管理和监控 ZooKeeper 集群。 ## 功能特性 ### 核心功能 - **连接管理**: 支持连接到 ZooKeeper 集群,实时显示连接状态 - **节点管理**: 完整的 ZNode CRUD 操作(创建、读取、更新、删除) - **数据浏览**: 树形结构展示 ZooKeeper 节点层次 - **实时监控**: 实时监听节点变化事件 ### 高级功能 - **ACL 权限管理**: 支持多种认证方案(world、auth、digest、ip、sasl) - **批量操作**: 支持批量创建、删除节点 - **数据备份与恢复**: 完整的节点数据备份和恢复功能 - **数据导入导出**: 支持 JSON 格式的数据导入导出 - **集群监控**: 实时监控集群状态、服务器信息 - **性能监控**: 监控操作性能指标 - **操作历史**: 记录所有操作历史,支持审计 - **脚本管理**: 支持脚本录制和回放 - **主题管理**: 支持多主题切换 ## 技术栈 - **Java**: JDK 1.8 - **UI 框架**: JavaFX - **ZooKeeper**: Apache ZooKeeper 3.8.0 - **日志框架**: SLF4J + Logback - **JSON 处理**: Jackson 2.13.3 - **工具库**: Apache Commons Lang3, Commons IO - **构建工具**: Maven ## 项目结构 ``` zkclient/ ├── src/main/java/ │ ├── MainApp.java # 应用程序入口 │ └── com/zkclient/ │ ├── ZKConnectionManager.java # ZooKeeper 连接管理 │ ├── controller/ │ │ └── MainViewController.java # 主界面控制器 │ ├── model/ │ │ └── ZNode.java # 节点数据模型 │ └── util/ │ ├── ACLManager.java # ACL 权限管理 │ ├── BackupManager.java # 备份管理 │ ├── BatchOperations.java # 批量操作 │ ├── ClusterMonitor.java # 集群监控 │ ├── ConfigManager.java # 配置管理 │ ├── DataExporter.java # 数据导出 │ ├── DataFormatter.java # 数据格式化 │ ├── DataImporter.java # 数据导入 │ ├── OperationHistory.java # 操作历史 │ ├── PerformanceMonitor.java # 性能监控 │ ├── ScriptManager.java # 脚本管理 │ ├── ThemeManager.java # 主题管理 │ ├── ZKMonitor.java # ZK 监控 │ └── ZKUtils.java # 工具类 ├── src/main/resources/ │ ├── fxml/ │ │ └── MainView.fxml # 主界面布局 │ └── logback.xml # 日志配置 └── pom.xml # Maven 配置文件 ``` ## 环境要求 - JDK 1.8 或更高版本 - Maven 3.6 或更高版本 - ZooKeeper 3.8.0 或兼容版本 ## 安装与运行 ### 编译项目 ```bash mvn clean compile ``` ### 打包项目 ```bash mvn clean package ``` 打包完成后,会在 `target` 目录下生成可执行的 JAR 文件: - `zookeeper-fx-client-1.0.0.jar` - 包含所有依赖的可执行 JAR ### 运行应用 #### 方式一:使用 Maven 运行 ```bash mvn javafx:run ``` #### 方式二:直接运行 JAR ```bash java -jar target/zookeeper-fx-client-1.0.0.jar ``` #### 方式三:使用依赖运行 ```bash java -cp "target/zookeeper-fx-client-1.0.0.jar;target/lib/*" MainApp ``` ## 使用指南 ### 连接到 ZooKeeper 1. 启动应用后,在连接配置区域输入 ZooKeeper 服务器地址(默认:`localhost:2181`) 2. 设置会话超时时间(默认:5000ms) 3. 点击"连接"按钮建立连接 4. 连接成功后,状态栏会显示"已连接" ### 节点操作 - **创建节点**: 右键点击父节点,选择"创建子节点" - **查看节点**: 点击节点查看节点数据和元信息 - **修改节点**: 选中节点后,在右侧面板修改数据并保存 - **删除节点**: 右键点击节点,选择"删除" ### ACL 权限管理 支持以下权限操作: - READ(读取) - WRITE(写入) - CREATE(创建) - DELETE(删除) - ADMIN(管理) 支持以下认证方案: - world(全局) - auth(认证) - digest(摘要) - ip(IP地址) - sasl(SASL) ### 批量操作 可以通过批量操作功能一次性创建或删除多个节点,提高操作效率。 ### 数据备份与恢复 - **备份**: 将整个 ZooKeeper 树结构备份到本地文件 - **恢复**: 从备份文件恢复数据到 ZooKeeper ### 数据导入导出 支持将节点数据导出为 JSON 格式,或从 JSON 文件导入数据。 ## 配置说明 ### 日志配置 日志配置文件位于 `src/main/resources/logback.xml`,可以根据需要调整日志级别和输出格式。 ### 连接配置 默认连接配置: - 服务器地址:`localhost:2181` - 会话超时:`5000ms` 可以在应用界面中动态修改这些配置。 ## 开发说明 ### 添加新功能 1. 在相应的包中创建新的类或修改现有类 2. 遵循现有的代码风格和命名规范 3. 使用 SLF4J 进行日志记录 4. 更新相关文档 ### 代码规范 - 使用 Java 8 语法特性 - 遵循 Google Java Style Guide - 所有公共方法添加 Javadoc 注释 - 使用有意义的变量和方法名 ## 依赖说明 主要依赖及其版本: - `org.apache.zookeeper:zookeeper:3.8.0` - ZooKeeper 客户端库 - `org.slf4j:slf4j-api:1.7.36` - 日志门面 - `ch.qos.logback:logback-classic:1.2.11` - 日志实现 - `com.fasterxml.jackson.core:jackson-databind:2.13.3` - JSON 处理 - `org.apache.commons:commons-lang3:3.12.0` - 工具类库 - `commons-io:commons-io:2.11.0` - IO 工具库 ## 常见问题 ### 连接失败 - 检查 ZooKeeper 服务器是否正常运行 - 确认服务器地址和端口配置正确 - 检查网络连接和防火墙设置 ### 会话过期 - 增加会话超时时间 - 检查网络稳定性 - 检查 ZooKeeper 服务器负载 ### 权限错误 - 确认用户具有相应的 ACL 权限 - 检查认证配置是否正确 ## 版本历史 ### v1.0.0 - 初始版本发布 - 实现核心 ZooKeeper 管理功能 - 支持 ACL 权限管理 - 支持批量操作 - 支持数据备份恢复 - 支持集群监控 ## 许可证 本项目采用 [MIT License](LICENSE) 许可证。 ## 贡献 欢迎提交 Issue 和 Pull Request! ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 ## 致谢 感谢 Apache ZooKeeper 社区提供的优秀框架!