cassandra单节点和集群配置

参考
https://blog.csdn.net/yuanjian0814/article/details/78768779 初始化多节点集群(多个数据中心)
https://www.ibm.com/developerworks/cn/analytics/library/ba-multi-data-center-cassandra-cluster-kubernetes-platform/index.html 图解
https://www.cnblogs.com/ziyouchutuwenwu/p/4297610.html 告密者策略
https://blog.csdn.net/yuanjian0814/article/details/78772128 将数据中心添加到集群
http://zqhxuyuan.github.io/tags/cassandra/ cassandra问题

一. 安装单节点单数据中心cassandra
单节点cassandra数据库

 1.安装jdk
 2.安装python (失败提示缺乏c编译器,先安装 yum install gcc.*)
 3.安装cassandra
   a.注意安装的版本
   b.配置 cassandra.yaml
     修改集群名,默认Test Cluster,为避免与其它集群冲突,建议修改;
	 data,commitlog,saved_cash 目录可以修改到指定目录,修改时注意格式。默认在cassandra/data/下,启动时会自动创建;
	 修改seeds,默认为127.0.0.1,最好修改为本地ip地址 eg:192.168.1.1(便于集群扩展);
	 修改 listen_address 和 rpc_address 为本地ip;
   c.启动cassandra
     进入目录cassandra/bin/,执行 ./cassandra(后台启动) 或 ./cassandra -f(前台启动);
	 报错:格式不对,检查配置文件是否多或少了空格;
	       内存不足,cassandra默认最大需要内存为2048M,若本机内存不高,配置文件里修改memtable_heap_space_in_mb: 2048
		   memtable_offheap_space_in_mb: 2048(约380行,默认被注释)
		   无法gossip,检查防火墙开放需要的端口,或者关闭防火墙
	d.使用cql
	 进入目录cassandra/bin/,执行./cqlsh ip
	 创建keyspace  CREATE KEYSPACE IF NOT EXISTS mycas WITH REPLICATION = {'class': 'SimpleStrategy','replication_factor':1};(副本配置策略,复制因子)

二. 部署cassandra单数据中心集群
在已有的cassandra集群加入新的节点

1.安装jdk,安装python,安装cassandra,注意版本要与集群中一致
2.配置cassandra
  a.配置已存在的节点192.168.1.1,将新节点ip 192.168.1.2 加入seed,并重启(该步骤不是必须的,但为了cassandra后续的扩展,seed最好多于1个)
  b.配置新节点192.168.1.2的cassandra.yaml
    修改集群名和seed与原节点一致
	修改 listen_address 和 rpc_address 为本地ip
	添加 auto_bootstrap:false(仅在初始化没有数据的干净节点时添加此设置)
  c.启动cassandra
    进入目录cassandra/bin/,执行 ./cassandra(后台启动) 或 ./cassandra -f(前台启动);
    报错:格式不对,检查配置文件是否多或少了空格;
          内存不足,cassandra默认最大需要内存为2048M,若本机内存不高,配置文件里修改memtable_heap_space_in_mb: 2048
	      memtable_offheap_space_in_mb: 2048(约380行,默认被注释)
	      无法gossip,检查防火墙开放需要的端口,或者关闭防火墙
  d.查看集群状态 
    进入目录cassandra/bin/,执行./nodetool status 或   ./nodetool status mycas
  e.使用cql
    进入目录cassandra/bin/,执行./cqlsh ip

三. 部署多数据中心集群
在单节点单数据中心cassandra 加入新的数据中心节点

1.修改已有节点192.168.1.1的配置
  a.在seed中加入本节点192.168.1.3
  b.添加 auto_bootstrap:false
  c.修改副本策略endpoint_snitch(约800行),将SimpleSnitch 改为 GossipingPropertyFileSnitch
  d.修改数据中心文件cassandra-rackdc.properties,将dc=dc1改为dc=datacenter1
  e.进入cqlsh,修改keyspace策略  ALTER KEYSPACE mycas WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'datacenter1':1, 'datacenter2':1}; 
  f.重启该节点

2.在新节点安装好cassandra后配置
  a.修改集群名,seed,副本策略与已有节点一致
  b.修改listen_address 和 rpc_address 为本地ip
  c.添加 auto_bootstrap:false
  d.修改数据中心文件cassandra-rackdc.properties,将dc=dc1改为dc=datacenter2
  
3.启动新节点,查看集群状态,数据中心的改变

4.修复节点,复制数据  ./nodetool repair

5.进入cqlsh操作数据库,检查数据的同步

猜你喜欢

转载自blog.csdn.net/qq_35331140/article/details/86512203