`
碧月幽灵
  • 浏览: 1851 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
版本: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

分享到:
评论

相关推荐

    cassandra集群配置

    Cassandra 集群配置详解 本文将通过实例介绍 Cassandra 的简单配置,包括基本配置、集群配置、启动 Cassandra 和集群管理等方面的内容。 一、基本配置 在 Cassandra 中,需要准备 3 台或以上的计算机,并且每台...

    Cassandra集群应用.docx

    ### Cassandra集群应用知识点详解 #### 一、Cassandra简介 ##### 1、基础描述 Cassandra是一款开源的分布式NoSQL数据库系统,最初由Facebook开发,主要用于处理简单的数据格式,如邮箱信息等。随着时间的发展,因...

    Apache_Cassandra_2.06集群配置

    ### Apache Cassandra 2.06 集群配置详解 #### 一、基础知识与概念 Cassandra 是一款分布式、去中心化的 NoSQL 数据库系统,主要用于处理大规模数据,并且能够跨多个数据中心提供高可用性和高性能的服务。其数据...

    cassandra3.9配置参数说明

    了解这些配置参数对部署和优化Cassandra集群至关重要。 首先,cluster_name参数定义了集群的名称,这有助于防止不同逻辑集群中的机器相互加入,确保集群间的数据隔离。 num_tokens参数指定了随机分配给每个节点的...

    Laravel开发-laravel-cassandra

    根据实际的 Cassandra 集群配置进行调整。 **4. 使用 Eloquent ORM** "laravel-cassandra" 扩展包提供了类似 Laravel Eloquent ORM 的功能,允许你创建模型来操作 Cassandra 表。定义一个模型,例如 `User`: ```...

    Python-CCM一个脚本可以在本机上轻松创建和销毁ApacheCassandra集群

    1. **创建集群**:通过简单的命令,你可以创建一个包含任意数量节点的Cassandra集群,这些节点可以分布在多个数据中心或 racks 中。 2. **启动和停止节点**:你可以独立启动或停止集群中的任何节点,模拟节点故障或...

    数据源管理 分布式NoSQL系统,Cassandra集群管理.docx

    ### 数据源管理与分布式NoSQL系统——Cassandra集群管理 #### Cassandra简介 **1.1 基础描述** Cassandra是一款开源的分布式NoSQL数据库系统,最初由Facebook开发,旨在为诸如收件箱这样的简单格式数据提供高效的...

    cassandra-docker-compose:用于运行简单 Cassandra 集群的 Dockerfile 和 docker-compose 文件

    一个带有 Docker-compose 的小型多直流 Cassandra 集群 :party_popper: 是的,另一个 Docker-Cassandra 集群... Docker 镜像 映像基于并进行了更改以支持多个数据中心。 Ops Center 目前已禁用,但我希望有时间...

    cassandra-operator,apache-cassandra的kubernetes算子.zip

    Cassandra-Operator的核心功能是通过Kubernetes的Operator模式来管理Cassandra的数据节点和集群配置。Operator是一种在Kubernetes上构建复杂、有状态应用的策略,它扩展了Kubernetes API,使得对特定应用的生命周期...

    Cassandra个人学习笔记总结

    尽管目前仅支持Linux平台,但其提供了直观的界面和丰富的功能,包括性能监控、故障排查、集群配置等,极大地简化了Cassandra集群的运维工作。 #### 三、Cassandra集群部署规划详解 在规划Cassandra集群部署时,...

    vagrant-cassandra-cluster

    3. **Cassandra集群配置**: 在vagrant-cassandra-cluster项目中,你需要配置每台虚拟机的Cassandra节点,包括节点间通信的端口、种子节点、数据存储路径等。Cassandra的配置文件通常为`cassandra.yaml`,在虚拟机...

    Cassandra 监控脚本

    在这个"**Cassandra 监控脚本**"中,我们关注的是如何在Linux环境下通过Python和shell脚本来管理和维护Cassandra集群的健康状况。以下是这些脚本涉及的关键知识点: 1. **Cassandra 集群监控**: - **节点状态检查...

    liunx下cassandra的安装配置

    ### Linux 下 Cassandra 的安装与配置 #### 一、Java 的安装 Cassandra 是基于 Java 开发的分布式数据库管理系统,因此在安装 Cassandra 之前,需要确保系统已安装 Java 环境。 1. **下载 Java** 首先通过 wget...

    salt-cassandra-formula:Salt Formula设置和配置Cassandra集群

    在本场景中,我们关注的是"盐-cassandra-formula",这是一个专门为配置Apache Cassandra集群设计的SaltStack公式。Apache Cassandra是一个分布式NoSQL数据库系统,广泛用于处理大规模数据分发和高可用性需求。 首先...

    DevCenter cassandra客户端

    7. **集群管理和连接**:DevCenter可以轻松连接到多个Cassandra集群,并提供了一种统一的方式来管理这些集群的节点、拓扑和配置。 8. **教学和学习工具**:对于初学者,DevCenter提供了一个学习Cassandra和CQL的...

    Cassandra JDBC Driver

    在使用`cassandra-jdbc-driver-0.8.2.jar`文件时,开发人员需要将其添加到项目的类路径中,以便在代码中通过`Class.forName()`加载驱动,并通过`DriverManager.getConnection()`建立到Cassandra集群的连接。...

    spring boot与cassandra集成,使用JPA方式。

    在`application.properties`或`application.yml`中,提供Cassandra集群的信息,如主机地址、端口、键空间等: ```properties cassandra.contact-points=localhost cassandra.port=9042 cassandra.keyspace-name=...

    一组Cassandra工具,用于备份、恢复、监控、修复和管理ApacheCassandraDatastax集群_Jinj.zip

    在"一组Cassandra工具,用于备份、恢复、监控、修复和管理Apache Cassandra Datastax集群_Jinj.zip"这个压缩包中,我们可能找到了一系列实用的工具,这些工具可以帮助管理员更有效地管理和维护Cassandra集群。...

Global site tag (gtag.js) - Google Analytics