Cassandra安装与配置

发布于 2025年5月15日 04:21:46 (武汉时间)

Cassandra安装与配置

本文档使用环境:

  • Ubuntu22.04
  • Java8
  • Cassandra-4.0.17

1.安装Cassandra

默认已经安装Java8,如果没有,移步

1.1 下载安装包

cd /usr/local
wget https://dlcdn.apache.org/cassandra/4.0.17/apache-cassandra-4.0.17-bin.tar.gz

1.2 解压

tar -zxvf apache-cassandra-4.0.17-bin.tar.gz

1.3 删除安装包

rm -rf apache-cassandra-4.0.17-bin.tar.gz 

由于名称太长,节省打字数量,重命名一下:

sudo mv apache-cassandra-4.0.17 cassandra

1.4 配置Java8与Cassandra配置

方法一:在启动脚本中直接设置 JAVA_HOME

编辑 bin/cassandra.in.sh(这是全局配置文件):

sudo vim /usr/local/cassandra/bin/cassandra.in.sh

在顶部添加:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

保存并退出。

1.5 报错解决

✅ Step 1: 设置所有数据目录为绝对路径

你需要在 conf/cassandra.yaml 中顶部添加以下配置项:

由于文件权限只读,先要修改一下权限:

sudo chmod 777 /usr/local/cassandra/conf/cassandra.yaml
vim /usr/local/cassandra/conf/cassandra.yaml
# 所有数据目录的基础路径
data_file_directories:
    - /var/lib/cassandra/data

# commit log 存放路径
commitlog_directory: /var/lib/cassandra/commitlog

# hints 存放路径(这是关键!)
hints_directory: /var/lib/cassandra/hints

# 缓存目录(可选)
saved_caches_directory: /var/lib/cassandra/saved_caches

这样可以确保 Cassandra 不再使用相对路径,避免权限问题。


✅ Step 2: 创建所有需要的目录并设置权限

sudo mkdir -p /var/lib/cassandra/{data,commitlog,hints,saved_caches}
sudo chown -R $USER:$USER /var/lib/cassandra

这将确保 Cassandra 可以正常写入这些目录。


✅ Step 3: 确保日志目录存在且可写

mkdir -p /usr/local/cassandra/logs
sudo chown -R $USER:$USER /usr/local/cassandra/logs

✅ Step 4: 再次启动 Cassandra

1. 进入文件夹
cd /usr/local/cassandra/
2.启动
./bin/cassandra

🧪 验证是否成功

parallels@ubuntu-linux-22-04-02-desktop:/usr/local/cassandra$ bin/cqlsh

如果看到如下输出表示成功:

Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.17 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.

退出命令:

cqlsh> quit

2. Java的安装与配置

2.1 安装Java8

sudo apt update
sudo apt install -y openjdk-8-jdk

验证是否安装成功

java -version

查看Java多版本:

sudo update-alternatives --config java

结果:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-arm64/bin/java      1711      auto mode
  1            /usr/lib/jvm/java-11-openjdk-arm64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-17-openjdk-arm64/bin/java      1711      manual mode
  3            /usr/lib/jvm/java-8-openjdk-arm64/jre/bin/java   1081      manual mode

记住这个地址:/usr/lib/jvm/java-8-openjdk-arm64这是你Java8的地址,配置要使用。

← 返回首页