`
heipark
  • 浏览: 2097104 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Cassandra2.0 JNA配置

 
阅读更多

Cassandra中通过JNA可以调用Native方法优化Jvm内存,大概意思就是不让操作系统将jvm内存置换到系统swap分区,从而提升jvm内存性能。它有两个用处:

 

  • Since 0.6.2: JNA for mlockall. This prevents Linux from swapping out parts of the JVM that aren't accessed frequently. Chris Goffinet reported a 13% performance improvement in his tests from this change. CASSANDRA-1214

  • Since 0.6.6: JNA for hard links, improving snapshots. Previously Cassandra would use the /bin/ln binary to create hard links to SSTables when creating a snapshot. On nodes with thousands of SSTables, this would take a very long time, because it had to fork+exec the JVM to run the new process. With JNA, Cassandra uses the link call directly. CASSANDRA-1371

P.S. JNA配置不是必须的,但官方建议生成环境下使用JNA。

 

我的软件环境:CentOS6 64bit + Cassandra2.0(DataStax社区版,通过YUM安装的)

 

开启方法如下:

 

1. 下载并放置JNA

wget https://maven.java.net/content/repositories/releases/net/java/dev/jna/jna/4.0.0/jna-4.0.0.jar
cp jna-4.0.0.jar /usr/share/cassandra/lib/

 

2. 开启JNA

 

vi /etc/security/limits.d/cassandra.conf

cassandra soft memlock unlimited
cassandra hard memlock unlimited

注意: 通过yum安装的dsc是通过cassandra用户启动的,所以我配置上面为cassandra用户。

 

3. 验证安装

如果没有配置JNA,cassandra log将会打印如下信息:

 

INFO 12:17:58,616 JNA not found. Native methods will be disabled.

 

 配置成功后,会出现如下log:

INFO 09:59:59,184 JNA mlockall successful

 

4. 错误诊断

将JNA jar包放置后,但如果没有配置好系统limit的话,将会出现如下log:

WARN 10:49:53,587 Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being swapped out, especially with mmapped I/O enabled. Increase RLIMIT_MEMLOCK or run Cassandra as root.

 完成步骤2配置,就可以解决这个警告。

 

参考:

https://journal.paul.querna.org/articles/2010/11/11/enabling-jna-in-cassandra/

 

--end

 

 

 

分享到:
评论

相关推荐

    Cassandra 2.0 Document

    Cassandra 2.0版本文档详细介绍了该版本的新特性,CQL(Cassandra Query Language)的使用,其架构的理解,内部通信机制,故障检测与恢复,数据分布和复制,分区器,网络拓扑策略(Snitches),客户端请求处理,集群...

    开源依赖第二部分,Cassandra工程所需要的开源项目的所有依赖

    这些开源项目共同构成了Cassandra开发环境的基础,它们为Cassandra提供了核心功能、网络通信、配置管理、解析处理等能力。了解这些依赖可以帮助开发者更好地理解和维护Cassandra项目,同时也可以为其他Java项目提供...

    cassandra-2.0.10

    用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web 2.0网站所...

    Cassandra 2.1.2 源代码 part2

    Cassandra 2.1.2 源代码 part2 已经编译

    cassandra集群配置

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

    HandsOnCassandraChat:Cassandra 2.0 简介

    所有前端,以及 REST 资源和所有 Spring 配置 config 和其他胶水代码都是为了方便而提供,以便参与者可以专注于数据建模和服务层 对于对象映射,我们使用 ,它提供了许多工具来使开发更有效和更容易。 我们将使用的...

    liunx下cassandra的安装配置

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

    Hadoop 2.0 详细配置教程 (2).docx

    Hadoop 包含多个子项目,如 Hadoop Common、HDFS(Hadoop Distributed File System)、MapReduce 等,以及 Avro、Cassandra 等其他相关工程。Hadoop 2.0 在原有的基础上引入了关键改进,包括高可用性(HA)、YARN...

    Hadoop 2.0集群配置详细教程

    Hadoop是 apache 的开源 项目,开发的主要目的是为了构建可靠,可拓展 scalable ,分布式的系 统, hadoop 是一系列的子工程的 总和,其中...4. 其他工程包含: Avro( 序列化系 统 ) , Cassandra( 数据 库项目 ) 等

    docker-cassandra-cluster:使用docker的Cassandra的基本集群脚本

    docker-cassandra-群集使用docker的Cassandra的基本集群脚本。 尽管您可以将其启动到docker-machine集群上,但这是为本地开发而设计的。 如果您确实踏上了那趟旅程,请特别注意compose yaml中的端口规格。 它可能...

    cassandra3.9配置参数说明

    Cassandra 3.9版本是对之前版本的一系列改进,包括对配置文件参数的增强。配置文件是Cassandra的核心部分,其中包含了控制集群行为和性能的参数。了解这些配置参数对部署和优化Cassandra集群至关重要。 首先,...

    Apache Cassandra

    Apache Cassandra是一个开源的分布式NoSQL数据库管理系统,它最初由Facebook开发,并在2008年被捐献给了Apache软件基金会。Cassandra旨在解决大规模数据存储的问题,特别适用于那些需要高性能、可伸缩性以及高可用性...

    windows下安装cassandra与C#访问配置

    ### Windows 下安装 Cassandra 与 C# 访问配置 #### 安装 Cassandra 在 Windows 平台上安装 Apache Cassandra 的步骤如下: 1. **下载 Cassandra** 首先访问官方站点 [http://cassandra.apache.org/]...

    CIS-Apache-Cassandra-3.11-Benchmark-v1.0.0.pdf

    CIS(Center for Internet Security)针对 Apache Cassandra 3.11 版本发布的安全评估 Benchmark 文档,旨在帮助用户和管理员对 Apache Cassandra 实现安全配置和部署。下面是文档中所涵盖的重要知识点: 1. 安全...

    apache-cassandra-2.0.1-bin.tar

    1. CQL3支持:Cassandra 2.0引入了更强大的Cassandra Query Language (CQL)版本3,提供了更接近SQL的查询体验。 2. SSTable级别的压缩:在2.0.1版本中,数据存储格式SSTable支持数据压缩,降低了存储空间需求。 3. ...

    Apache_Cassandra_2.06集群配置

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

    spring-boot-cassandra:一个使用Springboot和Cassandra的简单示例

    它有两个实现-自动配置和使用AbstractCassandraConfiguration。 Exmaple遍历GET和POST请求 还说明了如何在cassandra表中使用新的TYPE 建立表格 使用聚类排序依据(时间DESC)创建表位置(车辆ID文本,日期文本,...

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

    接下来,我们需要配置Cassandra的数据源。在`application.properties`或`application.yml`中,提供Cassandra集群的信息,如主机地址、端口、键空间等: ```properties cassandra.contact-points=localhost ...

    2_1_Cassandra配置文件中相关配置项详解

    这些配置项在 Cassandra 的 cassandra.yaml 文件中定义,它们直接影响到 Cassandra 集群的性能、稳定性和安全性。正确理解和配置这些参数对于优化 Cassandra 集群至关重要。在实际部署和运行 Cassandra 时,应根据...

Global site tag (gtag.js) - Google Analytics