安装cassandra的前提是先安装jdk,所以首先我们得安装jdk这里我上篇博客有一键安装jdk的脚本
这里修改配置文件我使用的是set命令
sed 命令:
指定行,从第一行到第一行;
把该行的ssd,换成cd;
-i 表示的是替换并直接修改文件;
sed -i '1,1s/ssd/cd/g' test_file
编写脚本
vim cassandra.sh
#!/bin/sh
#解压路径
PATH_INSTALL='/opt/servers'
#tar路径
PATH_SOFT='/opt/soft'
#配置文件
PATH_CASSANDRA='cassandra.yaml'
#seed参数
for host in $1 $2
do
ssh $host -p 22 "
#解压路径用于后续存放解压的文件
#创建cassandra文件
mkdir -p $PATH_INSTALL/cassandra
#解压到刚刚创建的文件中
tar -zxvf $PATH_SOFT/apache-cassandra-3.11.7-bin.tar.gz -C $PATH_INSTALL/cassandra
#创建相应的目录
mkdir -p $PATH_INSTALL/cassandra/data
mkdir -p $PATH_INSTALL/cassandra/commitlog
mkdir -p $PATH_INSTALL/cassandra/saved_caches
mkdir -p $PATH_INSTALL/cassandra/hints
#修改配置文件
cd $PATH_INSTALL/cassandra/apache-cassandra-3.11.7/conf/
#自定义名称
sed -i '10,10s/Test /DB-/g' $PATH_CASSANDRA
#内部节点间通信端口
sed -i '593,593s/7000/17000/g' $PATH_CASSANDRA
#cql本地传输端口
sed -i '646,646s/9042/19042/g' $PATH_CASSANDRA
#设置节点IP,多个用逗号分割
sed -i '425,425s/127.0.0.1/$1,$2/g' $PATH_CASSANDRA;
#开启对外远程服务
sed -i '675,675s/start_rpc: false/start_rpc: true/g' $PATH_CASSANDRA;
#对外提供服务的地址
sed -i '689,689s/localhost/$host/g' $PATH_CASSANDRA
#对外提供服务的端口
sed -i '702,702s/9160/19160/g' $PATH_CASSANDRA
#设置数据文件路径
sed -i '190,190s/# data_file_directories:/data_file_directories:/g' $PATH_CASSANDRA
sed -i '191,191s/# - \/var\/lib/- \/opt\/servers/g' $PATH_CASSANDRA
#设置commitlog路径
sed -i '196,196s/# commitlog_directory/commitlog_directory/g' $PATH_CASSANDRA
#缓存文件存放路径
sed -i '196,196s/var\/lib/opt\/servers/g' $PATH_CASSANDRA
sed -i '368,368s/# saved_caches_directory/saved_caches_directory/g' $PATH_CASSANDRA
#设置数据文件路径
sed -i '368,368s/var\/lib/opt\/servers/g' $PATH_CASSANDRA
#缓存刷新到磁盘的位置
sed -i '73,73s/# hints_directory/hints_directory/g' $PATH_CASSANDRA
##缓存刷新到磁盘的位置
sed -i '73,73s/var\/lib/opt\/servers/g' $PATH_CASSANDRA
#listen_address: 本地ip#设置监听地址
sed -i '612,612s/localhost/$host/g' $PATH_CASSANDRA
#启用用户密码验证
sed -i '103,103s/AllowAllAuthenticator/PasswordAuthenticator/g' $PATH_CASSANDRA
sed -i '112,112s/AllowAllAuthorizer/CassandraAuthorizer/g' $PATH_CASSANDRA
#配置环境变量
echo "export CASSANDRA_HOME=/opt/servers/cassandra/apache-cassandra-3.11.7">>/etc/profile.d/cassandra.sh
echo "export PATH="'$'"PATH:"'$'"CASSANDRA_HOME/bin">>/etc/profile.d/cassandra.sh
"
echo "$host is runing"
done
这里我没有创建其他的用户,所以启动的时候需要加-R
./cassandra -R
查看集群状态
nodetool status
登入数据库
cqlsh –ucassandra –pcassandra IP 19042(端口号)