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
cp jna-4.0.0.jar /usr/share/cassandra/lib/
2. 开启JNA
cassandra soft memlock unlimited
cassandra hard memlock unlimited
注意: 通过yum安装的dsc是通过cassandra用户启动的,所以我配置上面为cassandra用户。
3. 验证安装
如果没有配置JNA,cassandra log将会打印如下信息:
配置成功后,会出现如下log:
4. 错误诊断
将JNA jar包放置后,但如果没有配置好系统limit的话,将会出现如下log:
完成步骤2配置,就可以解决这个警告。
参考:
https://journal.paul.querna.org/articles/2010/11/11/enabling-jna-in-cassandra/
--end
相关推荐
Cassandra 2.0版本文档详细介绍了该版本的新特性,CQL(Cassandra Query Language)的使用,其架构的理解,内部通信机制,故障检测与恢复,数据分布和复制,分区器,网络拓扑策略(Snitches),客户端请求处理,集群...
这些开源项目共同构成了Cassandra开发环境的基础,它们为Cassandra提供了核心功能、网络通信、配置管理、解析处理等能力。了解这些依赖可以帮助开发者更好地理解和维护Cassandra项目,同时也可以为其他Java项目提供...
用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web 2.0网站所...
Cassandra 2.1.2 源代码 part2 已经编译
Cassandra 集群配置详解 本文将通过实例介绍 Cassandra 的简单配置,包括基本配置、集群配置、启动 Cassandra 和集群管理等方面的内容。 一、基本配置 在 Cassandra 中,需要准备 3 台或以上的计算机,并且每台...
所有前端,以及 REST 资源和所有 Spring 配置 config 和其他胶水代码都是为了方便而提供,以便参与者可以专注于数据建模和服务层 对于对象映射,我们使用 ,它提供了许多工具来使开发更有效和更容易。 我们将使用的...
### Linux 下 Cassandra 的安装与配置 #### 一、Java 的安装 Cassandra 是基于 Java 开发的分布式数据库管理系统,因此在安装 Cassandra 之前,需要确保系统已安装 Java 环境。 1. **下载 Java** 首先通过 wget...
Hadoop 包含多个子项目,如 Hadoop Common、HDFS(Hadoop Distributed File System)、MapReduce 等,以及 Avro、Cassandra 等其他相关工程。Hadoop 2.0 在原有的基础上引入了关键改进,包括高可用性(HA)、YARN...
Hadoop是 apache 的开源 项目,开发的主要目的是为了构建可靠,可拓展 scalable ,分布式的系 统, hadoop 是一系列的子工程的 总和,其中...4. 其他工程包含: Avro( 序列化系 统 ) , Cassandra( 数据 库项目 ) 等
docker-cassandra-群集使用docker的Cassandra的基本集群脚本。 尽管您可以将其启动到docker-machine集群上,但这是为本地开发而设计的。 如果您确实踏上了那趟旅程,请特别注意compose yaml中的端口规格。 它可能...
Cassandra 3.9版本是对之前版本的一系列改进,包括对配置文件参数的增强。配置文件是Cassandra的核心部分,其中包含了控制集群行为和性能的参数。了解这些配置参数对部署和优化Cassandra集群至关重要。 首先,...
Apache Cassandra是一个开源的分布式NoSQL数据库管理系统,它最初由Facebook开发,并在2008年被捐献给了Apache软件基金会。Cassandra旨在解决大规模数据存储的问题,特别适用于那些需要高性能、可伸缩性以及高可用性...
### Windows 下安装 Cassandra 与 C# 访问配置 #### 安装 Cassandra 在 Windows 平台上安装 Apache Cassandra 的步骤如下: 1. **下载 Cassandra** 首先访问官方站点 [http://cassandra.apache.org/]...
CIS(Center for Internet Security)针对 Apache Cassandra 3.11 版本发布的安全评估 Benchmark 文档,旨在帮助用户和管理员对 Apache Cassandra 实现安全配置和部署。下面是文档中所涵盖的重要知识点: 1. 安全...
1. CQL3支持:Cassandra 2.0引入了更强大的Cassandra Query Language (CQL)版本3,提供了更接近SQL的查询体验。 2. SSTable级别的压缩:在2.0.1版本中,数据存储格式SSTable支持数据压缩,降低了存储空间需求。 3. ...
### Apache Cassandra 2.06 集群配置详解 #### 一、基础知识与概念 Cassandra 是一款分布式、去中心化的 NoSQL 数据库系统,主要用于处理大规模数据,并且能够跨多个数据中心提供高可用性和高性能的服务。其数据...
它有两个实现-自动配置和使用AbstractCassandraConfiguration。 Exmaple遍历GET和POST请求 还说明了如何在cassandra表中使用新的TYPE 建立表格 使用聚类排序依据(时间DESC)创建表位置(车辆ID文本,日期文本,...
接下来,我们需要配置Cassandra的数据源。在`application.properties`或`application.yml`中,提供Cassandra集群的信息,如主机地址、端口、键空间等: ```properties cassandra.contact-points=localhost ...
这些配置项在 Cassandra 的 cassandra.yaml 文件中定义,它们直接影响到 Cassandra 集群的性能、稳定性和安全性。正确理解和配置这些参数对于优化 Cassandra 集群至关重要。在实际部署和运行 Cassandra 时,应根据...