阿晨的运维笔记 | Ubuntu部署Cassandra集群

954 阅读1分钟

开始部署之前,建议先按照Ubuntu切换到国内镜像源操作一下,能省下大把宝贵时间!

示例机器

主机IP
cassandra-1192.168.0.1
cassandra-2192.168.0.2
cassandra-3192.168.0.3

安装Cassandra

echo "deb http://www.apache.org/dist/cassandra/debian 39x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
sudo apt update
sudo apt -y install cassandra
sudo apt install openjdk-8-jdk-headless
## 更多参考:http://cassandra.apache.org/download/#installation-from-debian-packages

修改配置文件

sudo vi /etc/cassandra/cassandra.yaml
​
seed_provider:
          - seeds: "192.168.0.1,192.168.0.2,192.168.0.3" # 这里填所有集群内网IP,有多少节点就填多少,建议奇数个
 
concurrent_writes: 64
concurrent_counter_writes: 64
concurrent_counter_writes: 64
concurrent_materialized_view_writes: 64
compaction_throughput_mb_per_sec: 128
file_cache_size_in_mb: 1024
buffer_pool_use_heap_if_exhausted: true
disk_optimization_strategy: spinning
#listen_address: localhost
listen_interface: eth0
#rpc_address: localhost
rpc_interface: eth0
enable_user_defined_functions: true
auto_bootstrap: false## 优化cassandra jvm配置
sudo vi /etc/cassandra/jvm.options
#-XX:+UseParNewGC
#-XX:+UseConcMarkSweepGC
#-XX:+CMSParallelRemarkEnabled
#-XX:SurvivorRatio=8
#-XX:MaxTenuringThreshold=1
#-XX:CMSInitiatingOccupancyFraction=75
#-XX:+UseCMSInitiatingOccupancyOnly
#-XX:CMSWaitDuration=10000
#-XX:+CMSParallelInitialMarkEnabled
#-XX:+CMSEdenChunksRecordAlways# 这里根据实际情况略作调整
-XX:+UseG1GC
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:MaxGCPauseMillis=500
-XX:InitiatingHeapOccupancyPercent=70
-XX:ParallelGCThreads=16
-XX:ConcGCThreads=16# ==========================我是分割线===========================
​
sudo vi /etc/cassandra/cassandra-env.sh
​
## 配置为主机内网地址
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=192.168.0.1"
#if [ "x$LOCAL_JMX" = "x" ]; then
#      LOCAL_JMX=yes
#  fi
  if [ "x$LOCAL_JMX" = "x" ]; then
      LOCAL_JMX=no
  fi
​
#JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"#JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
​
sudo systemctl stop cassandra

迁移配置导数据盘(可选)

sudo mv /var/lib/cassandra /data/cassandra
sudo ln -s /data/cassandra /var/lib/cassandra
​
sudo systemctl start cassandra

集群内其余机器,重复以上步骤步骤,修改对应IP

常用命令

sudo systemctl start cassandra # 启动cassandra
sudo systemctl stop cassandra # 停止cassandra
sudo systemctl restart cassandra # 重启cassandra
​
sudo journalctl -n100 -f -ucassandra # 打印实时日志

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。

image-20210723185904932

我是阿晨,在技术的道路上我们一起砥砺前行!