没有合适的资源?快使用搜索试试~ 我知道了~
Cassandra研究报告
1 下载量 6 浏览量
2021-02-24
13:52:48
上传
评论
收藏 631KB PDF 举报
温馨提示
试读
27页
YUM包管理器Root或sudo权限JRE6或者JRE7JNA(JavanativeAccess)(生产环境需要)安装配置JRE(略)添加软件包仓库到YUM的软件库将以下内容添加进/etc/yum.repos.d/datastax.repo文件即可:安装2.0版最新的软件包安装JNA经过上述步骤即安装好了Cassandra,随后便可对其进行配置。以此方式安装的Cassandra会创建一个名为cassandra的用户,cassandra以此用户启动服务。JRE6或者JRE7JNA(JavanativeAccess)(生产环境需要)安装配置JRE(略)下载Cassandra二进制tarball由手
资源推荐
资源详情
资源评论
Cassandra研究报告研究报告
1基本安装
1.1在基于RHEL的系统中安装Cassandra
1.1.1必要条件
YUM包管理器
Root或sudo权限
JRE6或者JRE7
JNA(Java native Access)(生产环境需要)
1.1.2步骤
安装配置JRE(略)
添加软件包仓库到YUM的软件库
将以下内容添加进/etc/yum.repos.d/datastax.repo文件即可:
[datastax]
name = DataStax Repo for ApacheCassandra
baseurl =http://rpm.datastax.com/community
enabled = 1
gpgcheck = 0
安装2.0版最新的软件包
$ sudo yuminstall dsc20
安装JNA
$ sudo yuminstall jna
经过上述步骤即安装好了Cassandra,随后便可对其进行配置。以此方式安装的Cassandra会创建一个名为cassandra的用
户,cassandra以此用户启动服务。
1.2在任意基于Linux的系统中安装Cassandra
1.2.1必要条件
JRE6或者JRE7
JNA(Java native Access) (生产环境需要)
1.2.2步骤
安装配置JRE(略)
下载Cassandra二进制 tarball
由页面手工下载对应版本的Cassandra,或者通过 curl -OLhttp://downloads.datastax.com /community/dsc.tar.gz 命令自动下
载最新的DataStaxCommunity,也可由页面手工下载对应版本。
解压tarball
tar –xzvf dsc-cassandra-2.0.0-bin.tar.gz
根据下载的版本也可能是:tar –xzvf apache-cassandra-2.0.0-bin.tar.gz
安装配置JNA
2 下载jna.jar。
2 将下载的jna.jar添加进Cassandra安装目录的lib目录下或将其添加进CLASSPATH环境变量中
2 在/etc/security/limits.conf文件中加入如下行:
$USER soft memlock unlimited
$USER hard memlock unlimited
其中$USER为运行cassandra的用户
创建数据目录和日志目录并指定给用于运行cassandra服务的具有相应读写权限的用户
$ sudo mkdir/var/lib/cassandra
$ sudo mkdir/var/log/cassandra
$ sudo chown-R $USER: $GROUP /var/lib/cassandra
$ sudo chown-R $USER: $GROUP /var/log/Cassandra
Cassandra配置文件中默认使用上述目录分别作为数据目录和日志目录,可创建不同的目录,赋予对应的权限,并在配置文件
中重新指定以改变默认行为。
至此已安装好了Cassandra,随后便可对其进行配置。
2简单配置
Cassandra的主配置文件为cassandra.yaml,其位置随Cassandra安装方式不同而不同。
对于CassandraPackage安装:/etc/cassandra/conf
对于CassandraBinary安装:<install_location>/conf
对于DataStaxEnterprise Packaged安装:/etc/dse/cassandra
对于DataStaxEnterpriseBinary安装:<install_location>/resources/cassandra/conf
配置文件中的配置参数被分为如下几个组
Initialization properties:控制集群内的节点如何配置,包括节点间通讯,数据分区及复制布置。
Global row and key caches properties:用于缓存表的参数的配置参数。
Performance tuning properties:调整性能和系统资源的利用,包括内存、磁盘I/O、CPU、读和写。
Binary and RPC protocol timeout properties:用于二进制协议的超时设置。
Remote procedure call tuning(RPC)properties:用于配置和调整RPCs(客户端连接)
Fault detection properties:用于处理运行情况较差或者失败的节点。
Automatic backup properties:用于自动化备份。
Security properties:用于服务器端和客户端的安全设置
每个组包都含若干具体的参数
例如,对于新安装的Cassandra可能会修改配置文件中的下面几个参数
data_file_directories:数据目录,对于包方式(如deb或rpm)安装的Cassandra,该目录会在安装过程中自动创建并具有正
确的权限,默认位置为/var/lib/cassandra/data。
commitlog_directory:commit log目录,对于包方式安装的Cassandra,该目录会在安装过程中自动创建并具有正确的权限,
默认位置为/var/lib/cassandra/commitlog。
saved_caches_directory:保存的缓存目录,对于包方式安装的Cassandra,该目录会在安装过程中自动创建并具有正确的权
限,默认位置为/var/lib/cassandra/saved_caches。
如果以二进制方式或源码方式安装Cassandra需自行创建相应目录,赋予正确的权限。又或者不想使用默认的位置,也可以自
行创建新的目录,赋予正确的权限,并在配置文件中指定。比如:
data_file_directories:/data/cassandra/data
commitlog_directory:/data/cassandra/commitlog
saved_caches_directory:/data/cassandra/saved_caches
另外,对于包方式安装的Cassandra,还会在安装过程中自动创建 /var/log/cassandra 目录并赋予正确的权限。 默认情况下
Cassandra将其日志写进该目录的system.log文件中。可通过修改log4j-server.properies文件 (与cassandra.yaml位于同一目
录)中的log4j.appender.R.File来改变默认行为, 比如:log4j.appender.R.File=/data/cassandra/system.log
还可能要修改JVM级别的参数,该部分的参数可在cassandra-env.sh 文件( 与cassandra.yaml位于同一目录)中设置。
3启动及简单使用
3.1启动Cassandra
对于二进制包安装方式
执行bin/cassandra–f,前台启动cassandra,cassandra会将日志输出到标准输出中。若没在输出中看到“error”、“fatal”或者类
似“java stack trace”的内容表明cassandra可正常工作。可通过“Control-C“停止casandra。
执行bin/cassandra,后台启动cassandra。
可通过kill或pkill命令停止cassandra
对于YUM安装方式
执行sudoservice Cassandra start启动cassandra
执行sudoservice Cassandra stop 停止cassandra
3.2使用cqlsh
执行bin/cqlsh,出现如下提示则表明连接成功(需python2.7):
Connected toTest Cluster at localhost:9160.
[cqlsh 4.0.0 |Cassandra 2.0.0 | CQL spec 3.1.0 | Thrift protocol 19.37.0]
Use HELP forhelp.
可在cqlsh命令提示符下输入help或?获得帮助,输入exit或quit退出cqlsh,命令默认以“;”结束。
查看keyspace
DESCRIBEkeyspaces;
创建keyspace
CREATEKEYSPACE mykeyspace WITH REPLICATION = { 'class' :
'SimpleStrategy','replication_factor' : 2 };
切换keyspace
USE mykeyspace;
创建表
CREATE TABLEusers (
user_id int PRIMARY KEY,
fname text,
lname text
);
查看表
DESCRIBETABLES;
插入数据
INSERT INTOusers (user_id, fname, lname)
VALUES (1745, 'john', 'smith');
INSERT INTOusers (user_id, fname, lname)
VALUES (1744, 'john', 'doe');
INSERT INTOusers (user_id, fname, lname)
VALUES (1746, 'john', 'smith');
查询数据
SELECT * FROMusers;
建立索引后使用WHERE从句查找
CREATE INDEXON users (lname);、
SELECT * FROMusers WHERE lname = 'smith';
删除表
DROP TABLEusers;
至此已经拥有了单节点的Cassandra,且能够通过cqlsh连接至cassandra并使用CQL执行操作。下面对Cassandra作进一步介
绍。
4搭建集群
4.1单数据中心集群
4.1.1前置工作
在每个节点上装配Cassandra
为集群确定名称
获取每个节点的IP
确定用来做种子的节点(Cassandra通过种子节点来找到彼此并了解环的拓扑)
确定snitch(用于确定向/从哪个数据中心和网架写入/读取数据。有不同的类型可选)
4.1.2具体配置
1.假定使用以下已经安装了Cassandra的节点配置集群(资源有限,这里只用两台机器来说明过程。真实环境下最好是有多台机
器,且一个集群中最好有一个以上的种子)
node0192.168.83.35 (seed)
node1192.168.83.37
2.假定节点所在机器有防火墙,注意开放Cassandra所使用的端口
3.若Cassandra正运行则先关闭,后清除数据。
$ sudo servicecassandra stop
或者(根据安装方式而不同)
$ ps auwx |grep cassandra
$ sudo kill <pid>
4.清除数据
$ sudo rm -rf/var/lib/cassandra/*
5.修改cassandra.yaml文件中的相应内容
cluster_name:'MyDemoCluster'
num_tokens:256
seed_provider:
- class_name:org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "192.168.83.35"
listen_address:192.168.83.35
rpc_address:0.0.0.0
endpoint_snitch:SimpleSnitch
若是建立全新的还不包含数据的集群则加上auto_bootstrap:false
6.剩余节点的配置与除了listen_address应当为自身IP外,其他配置与上述相同
7.先启动逐个启动seed节点,再逐个启动剩余节点
$ sudo servicecassandra start
或者
$ cd<install_location>
$ bin/Cassandra
8.使用nodetoolstatus命令查看集群是否成功运行
4.2多数据中心集群
这里,数据中心指的就是一组节点,与复制组是同义词。多数据中心集群中,数据可以在不同数据中心间自动、透明复制。
4.2.1前置工作
与单节点集群配置基本相同,不同的是还需要确定数据中心和网架的命名。
4.2.2具体配置
1.假定在以下已经安装了Cassandra的节点配置集群
node0 192.168.83.35(seed1)
node1 192.168.83.36
node2 192.168.83.37
node3 192.180.83.35(seed2)
node4 192.180.83.36
node5 192.168.83.37
2.若如防火墙,则先开放相应端口(同上)
3.若Cassandra正运行则先关闭(同上)
4.清除数据(同上)
5.修改cassandra.yaml文件中的相应内容
…同上…
endpoint_snitch:PropertyFileSnitch
若是建立全新的还不包含数据的集群则加上auto_bootstrap:false
6.剩余节点的配置与除了listen_address应当为自身IP外,其他配置与上述相同
7.步骤5中指定endpoint_snitch为PropertyFileSnitch所以要编辑对应的cassandra-topologies.properties配置文件(若
endpoint_snitch指定为GossipingPropertyFileSnitch则要编辑cassandra-rackdc.properties,指定为
YamlFileNetworkTopologySnitch则要编辑cassandra-topology.yaml)
剩余26页未读,继续阅读
资源评论
weixin_38651165
- 粉丝: 4
- 资源: 901
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 汉诺塔python代码递归
- 汉诺塔问题是一个经典的递归问题 在这个问题中,我们有三个塔座(通常被称为A、B和C),并且我们有一堆大小不同的盘子,每个盘子都可
- TB-03 二次开发环境搭建指导
- 汉诺塔问题是一个经典的递归问题 在这个问题中,我们有三个塔座(通常被称为A、B和C),并且我们有一堆大小不同的盘子,每个盘子都可
- 汉诺塔问题是一个经典的递归问题 在这个问题中,我们有三个塔座(通常被称为A、B和C),并且我们有一堆大小不同的盘子,每个盘子都可
- 遗传粒子群算法(GA),MATLAB源代码,解决旅行商问题(TSP)
- 遗传粒子群算法(GA-PSO),MATLAB源代码,解决旅行商问题(TSP)
- Android仿豆瓣FM卡片滑动
- 汉诺塔python代码递归
- 模拟退火算法(SA),MATLAB源代码,解决旅行商问题(TSP)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功