当前位置:首页 > 技术 > 正文内容

CentOS 8.2 部署 Cassandra Web 可视化工具

访客 技术 2026年7月25日 1

Cassandra Web 简介

Cassandra Web 是一款基于 AngularJS 和服务器推送事件(Server-Sent Events)构建的 Apache Cassandra 集群管理界面。作为一款开源工具,其源代码托管于 GitHub 上,虽然功能较为精简,但足以通过单一网页实现对整个 Cassandra 集群的监控。

环境配置

  • CPU:3.4 GHz (双核)
  • 内存:2 GB
  • 磁盘:20 GB
  • 操作系统:CentOS 8.2
  • 主机名:cassandra.liangglab.cn
  • IP 地址:192.168.6.65/24

本教程假设您已事先在相同主机上部署了 Apache Cassandra 3.11.9,因此本文不再涉及 Cassandra 数据库本身的安装。

第1步:安装 Ruby 运行环境

Cassandra Web 依赖 Rubygems 包管理器,因此需要先安装 Ruby 及其开发包。

[root@cassandra ~]# dnf install -y rubygems ruby-devel
...
Complete!
[root@cassandra ~]#

第2步:安装编译工具链

为了后续通过 Rubygems 编译原生扩展,必须安装 make、gcc、gcc-c++ 和 redhat-rpm-config。

[root@cassandra ~]# dnf install -y make gcc gcc-c++ redhat-rpm-config
...
Complete!
[root@cassandra ~]#

第3步:安装 Cassandra Web 及 Bundler

通过 gem 命令直接安装 cassandra-web,并额外安装 Ruby Bundler。

[root@cassandra ~]# gem install cassandra-web
Fetching: lz4-ruby-0.3.3.gem (100%)
...
13 gems installed

[root@cassandra ~]# gem install bundler
Successfully installed bundler-2.2.2
1 gem installed

第4步:开放防火墙端口

Cassandra Web 默认监听 3000/tcp 端口,需要在 firewalld 中放行。

[root@cassandra ~]# firewall-cmd --permanent --add-port=3000/tcp
success
[root@cassandra ~]# firewall-cmd --reload
success

第5步:创建数据库专用账户

Cassandra Web 需要具备超级用户权限才能管理集群。通过 cqlsh 创建一个新的角色。

[root@cassandra ~]# cqlsh -u lianglab -p lianglab@123
cqlsh> CREATE ROLE cassweb WITH PASSWORD = 'Cassweb@123' AND SUPERUSER = true AND LOGIN = true;
cqlsh> exit

第6步:手动启动并验证

执行以下命令手动启动服务。若需连接远程 Cassandra 节点,请将 127.0.0.1 替换为目标地址。

[root@cassandra ~]# cassandra-web --hosts '127.0.0.1' --port '9042' --username 'cassweb' --password 'Cassweb@123'
I, [2020-12-21T19:49:50.969783 #58769]  INFO -- : Establishing control connection
...
2020-12-21 19:49:51 +0800 Listening on 0.0.0.0:3000, CTRL+C to stop

在浏览器中访问 http://192.168.6.65:3000,即可看到 Cassandra Web 界面。该工具未内置用户认证,可通过 HTTP 基本认证等外部手段加强访问控制。

第7步:注册为 Systemd 服务

为便于自动启停,创建一个 Systemd 服务单元文件。

[root@cassandra ~]# vi /usr/lib/systemd/system/cassweb.service

写入以下内容:

[Unit]
Description=Cassandra Web

[Service]
Type=simple
ExecStart=cassandra-web --hosts '127.0.0.1' --port '9042' --username 'cassweb' --password 'Cassweb@123'

[Install]
WantedBy=multi-user.target

启用并启动服务:

[root@cassandra ~]# systemctl enable --now cassweb.service
Created symlink /etc/systemd/system/multi-user.target.wants/cassweb.service → /usr/lib/systemd/system/cassweb.service.
[root@cassandra ~]# netstat -antpl | grep 3000
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      59130/ruby

至此,Cassandra Web 已成功部署并作为系统服务运行。

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。