1 概念
2 部署方法
2.1 背景
计划在阿里云的ECS服务器上部署Apache Cassandra数据库,作为Janusgraph后端数据存储引擎,用于技术验。因此需要考虑限制Cassandra的内存使用大小。
2.2 配置
2.2.1 内存
因需要限制Cassandra的内存大小,所以在bin/cassandra-env.sh
中修改MAX_HEAP_SIZE
和HEAP_NEWSIZE
即可,同时根据需要在conf/jvm.options
中修改-Xms
和-Xmx
来调整JVM的内存大小。
2.2.2 集群名称
考虑到日后在更新Cassandra版本时避免误更新,修改Cassandra默认集群名称。可采用如下步骤(参考:https://www.cnblogs.com/chenjunjie12321/p/8253105.html):
- 对集群所有节点(for each node)依次连接CQLSH,使用如下命令:
UPDATE system.local SET cluster_name = '<cluster_name>' where key='local';
- 在该集群的所有节点(for each node)执行
nodetool flush system # 推荐
# 或者
nodetool flush
- 将
cassandra.yaml
中的cluster_name
更新为新的集群名称。 - 重启cassandra集群。
2.3 启用
Apache Cassandra的官方文档对于安装方法的阐述已经非常详细了,提供了Debian packages
、binary tarball
等安装方式。本文选择binary tarball
安装,详细安装步骤可参照官方指南安装。
# 检查Java版本
$ java -version
# 下载tar包
$ curl -OL http://apache.mirror.digitalpacific.com.au/cassandra/3.11.6/apache-cassandra-3.11.6-bin.tar.gz
$ tar xzvf apache-cassandra-3.11.6-bin.tar.gz
# 启动Cassandra
$ cd apache-cassandra-3.11.6/
$ bin/cassandra
# 查看状态
$ bin/nodetool status
注意事项
- 在启动Cassandra时,可能会因Linux用户问题而无法启动,因为Cassandra默认不可以以root身份启动。有两种解决方式:
bin/cassandra -R
:启动命令后加-R
flag。- 使用其他用户身份启动(可能需要移动Cassandra文件夹至
/usr/app
下)。代码见附录。
3 Reference
4 附录
4.1 Linux用户相关操作
$ adduser cassandra
$ passwd cassandra
$ chown -R cassandra apache-cassandra-3.11.6
$ su cassandra