安装的是Cassandra2.0.11版本(建议用最新版本)
之后又装了2.1.9版本,之中有些许区别,下面会讲到。
前提环境:
Ubuntu18.04
JDK:1.7以上
如果是本机安装的话,内存8G及一下的需要修改/conf/cassandra-env.sh文件里面的
MAX_HEAP_SIZE=“4G”
HEAP_NEWSIZE=“800M”
默认的是8G和1024MB,记得把注释去掉,顶格写。
一、下载Cassandra包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/cassandra/2.0.11/apache-cassandra-2.0.11-bin.tar.gz
二、解压到自己习惯的目录下
sudo tar -zxvf apache-cassandra-2.0.11-bin.tar.gz -C /opt
sudo mv apache-cassandra-2.0.11-bin.tar.gz cassandra //把解压出来的文件夹改名为cassandra
三、java的环境这里不详细介绍,直接给出配置内容
vi /etc/profile
#set java environment
export JAVA_HOME=/usr/local/javaDevelopment/jdk1.8.0_25
export JRE_HOME=$JAVA_HOME/jdk1.8.0_25/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=/usr/local/java/jdk1.8.0_25/bin:$PATH
使环境变量生效:
source /etc/profile
四、设置Cassandra环境变量
sudo vim /etc/profile.d/cassandra-3.sh
添加如下内容
#!/bin/sh
export CASSANDRA_HOME=/opt/cassandra //注意前面我已经把apache-cassandra-2.0.11文件夹改为cassandra了
export PATH=$CASSANDRA_HOME/bin:$PATH
变量生效
source /etc/profile
五、建立Cassandra数据存储文件夹(对应cassandra/conf/cassandra.ymal文件的存储位置)
mkdir /var/lib/cassandra/data
mkdir /var/lib/cassandra/commitlog
mkdir /var/lib/cassandra/saved_caches
六、启动Cassandra
1.后台启动
bin/cassandra
2.交互启动(bin/cassandra -f),开启后保持在Terminal的log输出需要 Ctrl+C结束
六、关闭(结束)Cassandra
查找出Cassandra运行ID
ps aux | grep CassandraDaemon
结束Cassandra
kill -9 22384 pid
这里的22384就是进程号,-9强制执行,pid指的就是输入参数为进程号(这里并不建议这么做来关闭数据库,因为这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。)
七、开启远程连接
1.进入conf目录,修改cassandra.yaml
data_file_directories:
- /var/lib/cassandra/data //数据文件存放路径。这里要与前面新建的文件夹对应。
commitlog_directory: /var/lib/cassandra/commitlog //操作日志文件存放路径。与前面新建的文件夹对应。
saved_caches_directory: /var/lib/cassandra/saved_caches //缓存文件存放路径。与前面新建的文件夹对应。
start_rpc: true //这里一般默认是ture,不用改
- seeds: “xxx.xxx.xxx" //集群种子节点ip,新加入集群的节点从种子节点中同步数据。这里用阿里服务器的公网ip
listen_address:172.16.xxx.xxx //需要监听的IP或主机名。注意这边用的阿里云公网IP地址
rpc_address: 0.0.0.0 //用于监听客户端连接的地址。建议设置成0.0.0.0。同时要放开broadcast_address: 1.2.3.4的注释。把1.2.3.4换成阿里云的公网ip
注意:在2.0.11版本是broadcast_address不是broadcast_rpc_address,只有broadcast_address。之前不知道,傻傻的盯着那蝇头小字的cassandra.ymal文本找了半天broadcast_rpc_address,汗
在2.1.9版本不用动broadcast_address,把broadcast_rpc_address放开并把1.2.3.4换成阿里云的公网ip。注意broadcast_rpc_address要顶格写,跟其他参数平齐,这里涉及ymal的语法结构。否则就会报错。
2.在阿里服务器的控制台设置
网络和安全→ 安全组→配置规则→添加安全组规则
确定后即可。
八、开启密码认证
还是修改cassandra.ymal文件
sudo vim cassandra.ymal
修改authenticator:AllowAllAuthenticator
变成:authenticator: PasswordAuthenticator
重启Cassandra
cassandra -f
使用默认账号登录Cassandra
cqlsh -u cassandra -p cassandra
创建新的超级用户
CREATE ROLE myAccount WITH SUPERUSER = true AND LOGIN = true AND PASSWORD = 'myScrect';
退出Cassandra用户,并用新超级用户登录
exit
cqlsh -u myAccount -p myScrect
禁用默认的超级用户
ALTER ROLE cassandra WITH SUPERUSER = false AND LOGIN = false;
另外也有简便的办法NoSQL Manager for Cassandra这个图形化管理软件
设置连接,host(登录ip),port(端口号)
用use authentication(输入帐密)
连上后右键Users → create new user
很简单~
ok,全部完成。
感觉您的耐心阅读,如有错误欢迎指正。
参考了多份博文,这里标明出处:
https://blog.csdn.net/weixin_40596016/article/details/78594603
https://blog.csdn.net/dream_an/article/details/81057610
https://blog.csdn.net/dream_an/article/details/81057591
https://blog.csdn.net/dream_an/article/details/80960653