Cassandra安装-Cassandra 4.0 for RHEL 9安装配置及升级迁移详细过程
1. 硬件环境检查
在安装Cassandra之前,必须对服务器的硬件环境进行全面检查,确保满足Cassandra 4.0的最低要求。更多学习教程www.fgedu.net.cn
# free -h
total used free shared buff/cache available
Mem: 32G 2.1G 28G 8.5M 1.8G 29G
Swap: 16G 0B 16G
# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 500G 20G 480G 4% /data
# 检查CPU核心数
# nproc
16
# 检查系统架构
# uname -m
x86_64
2. 操作系统检查
Cassandra 4.0支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)
# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64
# 检查SELinux状态
# getenforce
Disabled
# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled
# 检查防火墙状态
# systemctl status firewalld
# 关闭防火墙(生产环境建议开放特定端口而非完全关闭)
# systemctl stop firewalld
# systemctl disable firewalld
3. 安装准备
在安装Cassandra之前,需要进行一系列准备工作,包括下载安装介质、创建用户和组、配置网络等。
# 从Apache官网下载Cassandra 4.0安装包
# 下载地址:https://cassandra.apache.org/download/
# 创建Cassandra用户和组
# 创建组
# groupadd -g 1001 cassandra
# 创建用户
# useradd -u 1001 -g cassandra cassandra
# 设置密码
# passwd cassandra
# 创建安装目录
# mkdir -p /data/cassandra
# chown -R cassandra:cassandra /data/cassandra
# 配置网络
# 确保服务器IP地址为192.168.1.51
# ip addr show eth0
2: eth0:
inet 192.168.1.51/24 brd 192.168.1.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe12:3456/64 scope link noprefixroute
valid_lft forever preferred_lft forever
# 配置主机名
# vi /etc/hosts
192.168.1.51 fgedudb01 fgedudb01.fgedu.net.cn
192.168.1.52 fgedudb02 fgedudb02.fgedu.net.cn
192.168.1.53 fgedudb03 fgedudb03.fgedu.net.cn
4. Cassandra软件安装
现在开始安装Cassandra 4.0软件,按照以下步骤进行。
# scp apache-cassandra-4.0.0-bin.tar.gz root@192.168.1.51:/tmp
# 解压安装包
# cd /tmp
# tar -xzf apache-cassandra-4.0.0-bin.tar.gz
# mv apache-cassandra-4.0.0 /usr/local/cassandra
# chown -R cassandra:cassandra /usr/local/cassandra
# 验证安装
# ls -la /usr/local/cassandra/
total 40
drwxr-xr-x 10 cassandra cassandra 4096 Mar 31 10:00 .
drwxr-xr-x 3 root root 4096 Mar 31 10:00 ..
drwxr-xr-x 2 cassandra cassandra 4096 Mar 31 10:00 bin
drwxr-xr-x 2 cassandra cassandra 4096 Mar 31 10:00 conf
drwxr-xr-x 3 cassandra cassandra 4096 Mar 31 10:00 data
drwxr-xr-x 2 cassandra cassandra 4096 Mar 31 10:00 interface
drwxr-xr-x 4 cassandra cassandra 4096 Mar 31 10:00 lib
drwxr-xr-x 2 cassandra cassandra 4096 Mar 31 10:00 logs
drwxr-xr-x 2 cassandra cassandra 4096 Mar 31 10:00 pylib
drwxr-xr-x 3 cassandra cassandra 4096 Mar 31 10:00 tools
5. 集群配置
配置Cassandra集群,包括节点配置和网络设置。
# su – cassandra
# 配置环境变量
$ vi ~/.bashrc
# 添加以下内容
export CASSANDRA_HOME=/usr/local/cassandra
export PATH=$CASSANDRA_HOME/bin:$PATH
# 使环境变量生效
$ source ~/.bashrc
# 编辑Cassandra配置文件
$ vi /usr/local/cassandra/conf/cassandra.yaml
# 修改以下配置
cluster_name: ‘fgedu_cassandra_cluster’
seed_provider:
– class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
– seeds: “192.168.1.51,192.168.1.52,192.168.1.53”
data_file_directories:
– /data/cassandra/data
commitlog_directory: /data/cassandra/commitlog
saved_caches_directory: /data/cassandra/saved_caches
listen_address: 192.168.1.51
rpc_address: 192.168.1.51
endpoint_snitch: GossipingPropertyFileSnitch
dc_suffix: dc1
rack: rack1
$ cassandra -f
# 验证Cassandra状态
# 另开一个终端
$ nodetool status
Datacenter: dc1
==============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
— Address Load Tokens Owns (effective) Host ID Rack
UN 192.168.1.51 100.0 KB 256 33.3% 5509c7a0-9c8a-4f0e-9b4e-1a9c1c3c5c5c rack1
UN 192.168.1.52 100.0 KB 256 33.3% 5509c7a0-9c8a-4f0e-9b4e-1a9c1c3c5c5d rack1
UN 192.168.1.53 100.0 KB 256 33.3% 5509c7a0-9c8a-4f0e-9b4e-1a9c1c3c5c5e rack1
6. 测试验证
创建测试键空间和表,验证Cassandra功能正常。学习交流加群风哥QQ113257174
$ cqlsh 192.168.1.51
# 创建键空间
cqlsh> CREATE KEYSPACE fgedudb WITH replication = {‘class’: ‘SimpleStrategy’, ‘replication_factor’: 3};
# 使用键空间
cqlsh> USE fgedudb;
# 创建测试表
cqlsh> CREATE TABLE fgedu_employees (
id INT PRIMARY KEY,
name TEXT,
salary DECIMAL
);
# 插入测试数据
cqlsh> INSERT INTO fgedu_employees (id, name, salary) VALUES (1, ‘张三’, 5000.00);
cqlsh> INSERT INTO fgedu_employees (id, name, salary) VALUES (2, ‘李四’, 6000.00);
cqlsh> INSERT INTO fgedu_employees (id, name, salary) VALUES (3, ‘王五’, 7000.00);
# 查询测试数据
cqlsh> SELECT * FROM fgedu_employees;
id | name | salary
—-+——+——–
1 | 张三 | 5000.0
2 | 李四 | 6000.0
3 | 王五 | 7000.0
(3 rows)
7. 备份配置
配置Cassandra数据库备份策略,确保数据安全。
# mkdir -p /backup/cassandra
# chown -R cassandra:cassandra /backup/cassandra
# 执行备份
# 以cassandra用户执行
$ su – cassandra
$ nodetool snapshot -t fgedudb_backup_20260331 fgedudb
# 验证备份文件
$ ls -la /data/cassandra/data/fgedudb/fgedu_employees/snapshots/
fgedudb_backup_20260331/
# 创建备份脚本
$ vi ~/backup_cassandra.sh
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR=”/backup/cassandra”
# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR
# 执行备份
nodetool snapshot -t fgedudb_backup_$DATE fgedudb
# 复制备份文件到备份目录
cp -r /data/cassandra/data/fgedudb/*/snapshots/fgedudb_backup_$DATE $BACKUP_DIR/
# 保留最近7天的备份
find $BACKUP_DIR -name “fgedudb_backup_*” -type d -mtime +7 -exec rm -rf {} \;
# 给脚本添加执行权限
$ chmod +x ~/backup_cassandra.sh
# 添加到crontab
$ crontab -e
# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /home/cassandra/backup_cassandra.sh
8. 升级迁移
Cassandra数据库的升级和迁移过程。
# 1. 下载Cassandra 4.1安装包
# 2. 上传安装包到服务器
# 3. 停止Cassandra服务
$ nodetool stopdaemon
# 4. 解压安装包
# cd /tmp
# tar -xzf apache-cassandra-4.1.0-bin.tar.gz
# mv apache-cassandra-4.1.0 /usr/local/cassandra-4.1
# chown -R cassandra:cassandra /usr/local/cassandra-4.1
# 5. 复制配置文件
# cp /usr/local/cassandra/conf/cassandra.yaml /usr/local/cassandra-4.1/conf/
# cp /usr/local/cassandra/conf/cassandra-env.sh /usr/local/cassandra-4.1/conf/
# 6. 更新符号链接
# ln -sf /usr/local/cassandra-4.1 /usr/local/cassandra
# 7. 启动Cassandra
$ cassandra -f
# 8. 验证升级结果
$ nodetool status
$ cqlsh -e “SELECT * FROM fgedudb.fgedu_employees;”
# 从旧版本Cassandra迁移到Cassandra 4.0
# 1. 在旧系统上创建备份
# 2. 将备份文件复制到新系统
# 3. 在新系统上恢复备份
$ su – cassandra
$ nodetool refresh fgedudb fgedu_employees
# 4. 验证迁移结果
$ cqlsh -e “SELECT * FROM fgedudb.fgedu_employees;”
9. 总结
本文详细介绍了Cassandra 4.0 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署Cassandra数据库并确保其稳定运行。from:fengge
– 定期备份数据库,建议每天执行一次全备份
– 监控数据库性能,定期检查数据库日志和错误信息
– 定期更新Cassandra版本,确保系统安全性和性能
– 合理规划数据库存储,避免空间不足
– 配置合适的参数,优化数据库性能
– 对于生产环境,建议部署多节点集群,提高可用性和性能
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
