`
- 浏览:
1851 次
- 性别:
- 来自:
北京
-
版本:apache-cassandra-1.0.6
机器1:10.16.233.27
机器2:10.16.233.41
机器3:10.16.233.45
机器4:10.16.233.36
机器5:10.16.233.39
机器6:10.16.233.66
机器1和机器2作为seed_provider
java jdk已经安装并且设置过JAVA_HOME
ssh已经设置
1.解压 apache-cassandra-1.0.6-bin.tar.gz 到/usr/cassandra 目录
设置CASSANDRA_HOME,打开profile文件
命令:vim /etc/profile
设置如下:
JAVA_HOME=/usr/java/jdk1.6.0_30
CASSANDRA_HOME=/usr/cassandra
CLASSPATH=.:$JAVA_HOME/lib:$CASSANDRA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$CASSANDRA_HOME/bin
export JAVA_HOME
export CASSANDRA_HOME
export PATH
export CLASSPATH
2.按需要修改6台机器的conf/cassandra.yaml文件
修改conf/cassandra.yaml
2.1设置cluster_name 这里我们命名为E3E4
# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
cluster_name: 'E3E4'
2.2设置数据文件 提交日志 缓存文件 路径
# directories where Cassandra should store data on disk.
data_file_directories:
- /usr/cassandra/data
# commit log
commitlog_directory: /usr/cassandra/commitlog
# saved caches
saved_caches_directory: /usr/cassandra/saved_caches
2.3设置endpoint_snitch
# endpoint_snitch -- Set this to a class that implements
# IEndpointSnitch, which will let Cassandra know enough
# org.apache.cassandra.locator.PropertyFileSnitch:
# - Proximity is determined by rack and data center, which are
# explicitly configured in cassandra-topology.properties.
endpoint_snitch: org.apache.cassandra.locator.PropertyFileSnitch
2.4设置init_token,注:这里要通过算法程序来计算
算法代码如下:
#! /usr/bin/python
import sys
if(len(sys.argv)>1):
num=int(sys.argv[1])
else:
num=int(raw_input(""))
for i in range(0,num):
print 'token %d:%d'%(i,(i*(2**127)/num))
计算结果(6台机器):
token 0:0
token 1:28356863910078205288614550619314017621
token 2:56713727820156410577229101238628035242
token 3:85070591730234615865843651857942052864
token 4:113427455640312821154458202477256070485
token 5:141784319550391026443072753096570088106
算好后,依据输出设置initial_token,PS initial_token冒号后有个空格。
# If blank, Cassandra will request a token bisecting the range of
# the heaviest-loaded existing node. If there is no load information
# available, such as is the case with a new cluster, it will pick
# a random token, which will lead to hot spots.
initial_token: 85070591730234615865843651857942052864
2.5设置seed_provider
seed_provider:
# Addresses of hosts that are deemed contact points.
# Cassandra nodes use this list of hosts to find each other and learn
# the topology of the ring. You must change this if you are running
# multiple nodes!
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
# seeds is actually a comma-delimited list of addresses.
# Ex: "<ip1>,<ip2>,<ip3>"
- seeds: "10.16.233.41,10.16.233.27"
2.6 设置listen_address rpc_address为本机IP,这里机器3,机器4的设置如下
机器3:
listen_address: 10.16.233.36
rpc_address: 10.16.233.36
机器4:
listen_address: 10.16.233.39
rpc_address: 10.16.233.39
2.7修改6台机器:conf/cassandra-topology.properties
# Cassandra Node IP=Data Center:Rack
10.16.233.41=DC1:RAC1
10.16.233.27=DC2:RAC1
10.16.233.45=DC1:RAC1
10.16.233.39=DC2:RAC1
10.16.233.36=DC1:RAC2
10.16.233.66=DC2:RAC2
# default for unknown nodes
default=DC1:RAC1
2.8 修改conf/log4j-server.properties 设置日志目录:/usr/cassandra/log/system.log
# rolling log file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.maxFileSize=20MB
log4j.appender.R.maxBackupIndex=50
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%5p [%t] %d{ISO8601} %F (line %L) %m%n
# Edit the next line to point to your logs directory
log4j.appender.R.File=/usr/cassandra/log/system.log
3设置hosts
[root@tt bin]# vim /etc/hosts
内容如下:
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
10.16.233.41 tt.cassandra.xa.01
10.16.233.27 tt.cassandra.xa.02
10.16.233.45 tt.cassandra.xa.03
10.16.233.39 tt.cassandra.xa.04
10.16.233.36 tt.cassandra.xa.05
10.16.233.66 tt.cassandra.xa.06
4设置network
[root@tt bin]# vim /etc/sysconfig/network
内容如下:
NETWORKING=yes
HOSTNAME=tt.cassandra.xa.04
5 清空数据并且重启机器
rm -rf /usr/cassandra/data/*
rm -rf /usr/cassandra/saved_caches/*
rm -rf /usr/cassandra/commitlog/*
rm -rf /usr/cassandra/log/*
6一定要记住关闭防火墙
[root@tt bin]# iptables -F:关闭防火
启动Cassandra 并查看:
#在cassandra的bin目录,10.16.233.39是本机IP
[root@tt bin]# ./nodetool -h 10.16.233.39 ring
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Cassandra 集群配置详解 本文将通过实例介绍 Cassandra 的简单配置,包括基本配置、集群配置、启动 Cassandra 和集群管理等方面的内容。 一、基本配置 在 Cassandra 中,需要准备 3 台或以上的计算机,并且每台...
### Cassandra集群应用知识点详解 #### 一、Cassandra简介 ##### 1、基础描述 Cassandra是一款开源的分布式NoSQL数据库系统,最初由Facebook开发,主要用于处理简单的数据格式,如邮箱信息等。随着时间的发展,因...
### Apache Cassandra 2.06 集群配置详解 #### 一、基础知识与概念 Cassandra 是一款分布式、去中心化的 NoSQL 数据库系统,主要用于处理大规模数据,并且能够跨多个数据中心提供高可用性和高性能的服务。其数据...
了解这些配置参数对部署和优化Cassandra集群至关重要。 首先,cluster_name参数定义了集群的名称,这有助于防止不同逻辑集群中的机器相互加入,确保集群间的数据隔离。 num_tokens参数指定了随机分配给每个节点的...
根据实际的 Cassandra 集群配置进行调整。 **4. 使用 Eloquent ORM** "laravel-cassandra" 扩展包提供了类似 Laravel Eloquent ORM 的功能,允许你创建模型来操作 Cassandra 表。定义一个模型,例如 `User`: ```...
1. **创建集群**:通过简单的命令,你可以创建一个包含任意数量节点的Cassandra集群,这些节点可以分布在多个数据中心或 racks 中。 2. **启动和停止节点**:你可以独立启动或停止集群中的任何节点,模拟节点故障或...
### 数据源管理与分布式NoSQL系统——Cassandra集群管理 #### Cassandra简介 **1.1 基础描述** Cassandra是一款开源的分布式NoSQL数据库系统,最初由Facebook开发,旨在为诸如收件箱这样的简单格式数据提供高效的...
一个带有 Docker-compose 的小型多直流 Cassandra 集群 :party_popper: 是的,另一个 Docker-Cassandra 集群... Docker 镜像 映像基于并进行了更改以支持多个数据中心。 Ops Center 目前已禁用,但我希望有时间...
Cassandra-Operator的核心功能是通过Kubernetes的Operator模式来管理Cassandra的数据节点和集群配置。Operator是一种在Kubernetes上构建复杂、有状态应用的策略,它扩展了Kubernetes API,使得对特定应用的生命周期...
尽管目前仅支持Linux平台,但其提供了直观的界面和丰富的功能,包括性能监控、故障排查、集群配置等,极大地简化了Cassandra集群的运维工作。 #### 三、Cassandra集群部署规划详解 在规划Cassandra集群部署时,...
3. **Cassandra集群配置**: 在vagrant-cassandra-cluster项目中,你需要配置每台虚拟机的Cassandra节点,包括节点间通信的端口、种子节点、数据存储路径等。Cassandra的配置文件通常为`cassandra.yaml`,在虚拟机...
在这个"**Cassandra 监控脚本**"中,我们关注的是如何在Linux环境下通过Python和shell脚本来管理和维护Cassandra集群的健康状况。以下是这些脚本涉及的关键知识点: 1. **Cassandra 集群监控**: - **节点状态检查...
### Linux 下 Cassandra 的安装与配置 #### 一、Java 的安装 Cassandra 是基于 Java 开发的分布式数据库管理系统,因此在安装 Cassandra 之前,需要确保系统已安装 Java 环境。 1. **下载 Java** 首先通过 wget...
在本场景中,我们关注的是"盐-cassandra-formula",这是一个专门为配置Apache Cassandra集群设计的SaltStack公式。Apache Cassandra是一个分布式NoSQL数据库系统,广泛用于处理大规模数据分发和高可用性需求。 首先...
7. **集群管理和连接**:DevCenter可以轻松连接到多个Cassandra集群,并提供了一种统一的方式来管理这些集群的节点、拓扑和配置。 8. **教学和学习工具**:对于初学者,DevCenter提供了一个学习Cassandra和CQL的...
在使用`cassandra-jdbc-driver-0.8.2.jar`文件时,开发人员需要将其添加到项目的类路径中,以便在代码中通过`Class.forName()`加载驱动,并通过`DriverManager.getConnection()`建立到Cassandra集群的连接。...
在`application.properties`或`application.yml`中,提供Cassandra集群的信息,如主机地址、端口、键空间等: ```properties cassandra.contact-points=localhost cassandra.port=9042 cassandra.keyspace-name=...
在"一组Cassandra工具,用于备份、恢复、监控、修复和管理Apache Cassandra Datastax集群_Jinj.zip"这个压缩包中,我们可能找到了一系列实用的工具,这些工具可以帮助管理员更有效地管理和维护Cassandra集群。...