Docker运行Cassandra集群

  • cassandra是一个开源的分布式NoSQL数据库系统。
  • 去中心化而非Master/Slave架构,非常易于扩展。
  • 面向列的数据库,不是传统结构式数据库。

获取镜像

docker pull cassandra:latest

创建单机容器

docker run -it --name cassandra cassandra:latest

挂载文件

切换到宿主机存放配置文件的地方(如果没有自己创建)

cd /opt/cassandra

首先我们从刚才单机版本中拷贝出yaml文件:cassandra.yaml

docker cp cassandra:/opt/cassandra/conf/cassandra.yaml .

查看拷贝出来的文件

ls
cassandra.yaml

修改配置文件:

authenticator: AllowAllAuthenticator 修改为 authenticator: PasswordAuthenticator来允许外部连接
删除容器,一定要删除,否则报错端口占用:

docker rm -f cassandra

编写docker-compose.yml文件

前提是你已经安装好了这里的docker-compose插件,另外具体的挂载位置一定根据自身来

version: '3'
services:
  cassandra-1:
    image: cassandra:latest
    container_name: cassandra-1
    volumes:
      - ~/Desktop/brainwave/conf/cassandra/cassandra.yaml:/opt/cassandra/conf/cassandra.yaml
      - ~/Desktop/brainwave/data/cassandra-cluster/cassandra-1/cassandra:/var/lib/cassandra
    environment:
      - CASSANDRA_BROADCAST_ADDRESS=cassandra-1
    ports:
      - "7000:7000"
      - "9042:9042"
    restart: always
  cassandra-2:
    image: cassandra:latest
    container_name: cassandra-2
    volumes:
      - ~/Desktop/brainwave/conf/cassandra/cassandra.yaml:/opt/cassandra/conf/cassandra.yaml
      - ~/Desktop/brainwave/data/cassandra-cluster/cassandra-2/cassandra:/var/lib/cassandra
    environment:
      - CASSANDRA_BROADCAST_ADDRESS=cassandra-2
      - CASSANDRA_SEEDS=cassandra-1
    ports:
      - "7001:7000"
      - "9043:9042"
    depends_on:
      - cassandra-1
    restart: always
  cassandra-3:
    image: cassandra:latest
    container_name: cassandra-3
    volumes:
      - ~/Desktop/brainwave/conf/cassandra/cassandra.yaml:/opt/cassandra/conf/cassandra.yaml
      - ~/Desktop/brainwave/data/cassandra-cluster/cassandra-3/cassandra:/var/lib/cassandra
    environment:
      - CASSANDRA_BROADCAST_ADDRESS=cassandra-3
      - CASSANDRA_SEEDS=cassandra-1
    ports:
      - "7002:7000"
      - "9044:9042"
    depends_on:
      - cassandra-2
    restart: always

可能需要额外调整系统参数:

vi /etc/sysctl.conf
vm.max_map_count=1048575
sysctl -p

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值