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的地址,配置要使用。