LevelDB的介绍
LevelDBhttp://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html [@more@]
crontab定时任务维护
根据关键词注释掉crontab中定时任务,取消任务的自动触发执行 crontab -l >/home/t.txt && sed -i '/Cassandra.sh/{s/^/#/g}' /home/t.txt && crontab /home/t.txt 避免以#开头的注释行累加,清除注释行 crontab -l >/home/t.txt && sed -i -e '/Cassandra.sh/d' -e '/^#/d' /home/t.txt && crontab /home/t.txt[@more@]
关于Cassandra Schema
Schema changes should not be seen as something that can be done regularly. It should not be done programmatically. There should always be some operator looking at the cluster verifying that all nodes are reachable and ring is ok. And then issue schema changes one at a time using the cli. [@more@]
在脚本中调用cassandra客户端命令
不仅可以在-f指定的文件中创建keyspaces、CF,还可以直接封装一些客户端命令,便于系统维护和结构的检查。/cassandra/bin/cassandra-cli -h 192.168.86.31 -p 9160 -u username -pw 'password' -f showchema.txt-- showchema.txtshow keyspaces;[@more@]
注意后台看似不相关脚本的干扰
注意后台看似不相关脚本的干扰: 在做数据库备份恢复演练时,发现每次使用备份的数据文件进行恢复后系统无法查询数据, 恢复脚本的逻辑是: 首先,检查当前数据库进程是否存在,若存在,先停,在继续。 其次,将备份的数据文件恢复到目标路径 第三,启动数据库,加载数据 整个过程完后,发现无法读取数据,偶然的想法把最后一步的启动改为重启,区别是重启会检查数据库进程,存在则杀掉进程再启动。 居然这种情况恢复后一切正常,能够正常的对数据进行操作。 仔细比较数据库启动和重启的差别,确认唯一的不同就是上面的启动前干掉已有的
simpleDB特点
个人感觉simpleDB是关系型数据库与NOSQL折中的一个产品,对其具有的一些特点罗列如下:无模式: 结构扩展灵活,后期开发维护简单多值属性: 一个键,多个属性值对,属性可重复最终一致性: 读写总是向用户返回成功,后台做多数据中心、多节点的一致性保证; 主从结构,由从节点获取的数据可能是已经过期的数据。多数据中心扩展: 可将多个域(类似于关系表)分布到不同的数据中心,提升数据的可靠性及用户体验统一使用UTF8编码: 对于非字符串数据类型存储前需要在应用中进行编码转换不支持事务: 需要在应用中实现对数据的约束不支持连接(j
深入理解Cassandra内部结构
深入理解Cassandra内部结构[@more@]
Cache coherence
Cache coherenceFrom Wikipedia, the free encyclopediaIn computing, cache coherence (also cache coherency) refers to the consistency of data stored in local caches of a shared resource.Multiple Caches of Shared ResourceWhen clients in a system maintain caches of a common memory resource, problems may arise with inconsistent data. This is particularly true of CPUs in a multiprocessing system. Referring to the "Multiple Caches of Shared Resource" figure, if the top client has a copy of a m
shell中调用shell的三种方式&并行shell
一、shell中调用shell的三种方式:方法一:使用source#!/bin/bashsource invoked.sh方法二:使用.#!/bin/bash. invoked.sh 方法三:使用sh#!/bin/bashsh invoked.sh二、使用pssh等并行shell进行分布式系统维护:# ./pssh -h <host_list> -l <user> <commond|shell_script|..>eg: ./pssh -h ../multi_dc_1_12.host -l root /home/icefeish/stop_cassandra.sh #cat multi_dc_1_12.host--192.168.1.1192.168.1.2192.168.1.3192.168.1.4[@more@]
高写入负载情况cassandra宕机故障解决
cassandra问题:下面程序并发300线程向cassandra中灌数据:python cassandra_stress.py -p 300 -n 1000000数据估算:三个节点,每个节点上期一个进程,每个进程300个并发线程向cassandra中写数据,每个key的大小为1.916KB,Write Latency: 0.014 ms.单个节点的数据写入速率:-->300*(1*1000/0.014)*1.916KB=39.16GB/s结果数据搜集,验证:当前的commitlog文件大小:/cassandra/data # du -sh *34G commitlog53G data20K saved_caches统计commitlog文件数:>cassandra/data/commitlog # ls -al |grep .log |grep -v .h
cassandra压缩特性介绍
cassandra1.0 compress特性介绍:cassandra版本1.0增加了压缩特性,与关系型数据库数据文件压缩可能带来系统读写性能损失相比,因为cassandra数据文件时一次刷新的,而且不可修改的,所以对系统的性能反而有10%的性能提升。一、cassandra compress适用的场景:一个row中具有大量的column,而且column相同,至少具有大量共同的column,这种情况下可以达到很高的压缩比,并且获得很好的读性能。二、如何配置cassandra压缩:cassandra的压缩可以指定columnfamily级别的压缩。压缩具有两个属性(compression_options):sstable_compression:指定
create keyspace in shell
use script to connect cassandra and create keyspace ...:echo -e "connnet localhost/9181; nshow keyspace;" | bin/cassandra-cli -u obs -pw 'password'[@more@]
cassandra 1.0.0新特性
1.增加了SSTable的压缩(compress)支持,通过在创建和修改Column Family的定义compression_options参数, 例如你可以在命令行创建带压缩特性的CF: create column family Cf with compression_options={sstable_compression: SnappyCompressor} SSTable的压缩特性默认是没有激活的,但可以在任何时刻激活或去激活此特性。 2.对压缩的SSTable数据块进行了校验和计算以保护数据免受衰变影响。 3.受LevelDB激发灵感,CF的compact算法可以指定为compaction_strategy=LeveledCompactionStrategy, 分级(leveled)合并意味着只需要保留几个MB的空
cassandra0.7.4 binary_memtable_throughput_in_mb
I don't see binary_memtable_throughput_in_mb parameter incassandra.yaml anymore.What is it replaced by ? It is still there, but we took it out of the sample config becausepeople think it affects normal writes which it does not. -- Jonathan EllisProject Chair, Apache Cassandraco-founder of DataStax, the source for professional Cassandra supporthttp://www.datastax.com[@more@]
cassandra streaming 操作(翻译2)
请求(Request)1. 目标节点编译一个它需要从其他节点获取的范围列表。2. 目标节点发送一个包含key范围列表的StreamRequestMessage消息给源节点。3. 源节点准备指定范围的sstable 文件,并创建暂挂文件。4. 源节点流传输列表中俄第一个文件。第一个流的头部包含当前流的信息以及剩余的请求范围内的暂挂文件列表。5. 目标节点接收流并写入到磁盘,产生相应的日志信息"Streaming added org.apache.cassandra.io.sstable.SSTableReader(path='/var/lib/cassandra/data/Keyspace1/Standard1-e-1-Data.db')".6. 目标
cassandra streaming 操作(翻译1)
原文:http://wiki.apache.org/cassandra/Streaming在0.7版本之后,有连个主要的流实例:传输 - 当源节点把一个给定范围的key推送到目标节点时产生。由源节点进行初始化和控制。请求 - 当目标节点向原节点请求一定范围的key集合时产生。有目标节点进行初始化和控制。传输(Transfer)进行流传输的步骤:1. 源节点拥有一个必须传送到其它节点的key范围。2. 源节点把此范围的数据拷贝到sstable文件中,以准备进行流传输。此步骤被称作anti-compaction(因为compact归并多个sstable文件为一个,而此操作相反。)3. 源节点构建一个包
get string MD5
import java.io.*;import java.util.*;import java.math.BigInteger;import java.nio.ByteBuffer;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;class cassandraMD5{ static final Scanner cin=new Scanner(System.in); public static byte[] hash(String type, byte[]... data){ byte[] result = null; try{ MessageDigest messageDigest = MessageDigest.getInstance(type); for(byte[] block : data) messageDigest.update(block); result = messageDigest.digest
cassandra getNaturalEndpoints JMX client
import java.net.InetAddress;import java.util.List;import javax.management.MBeanServerConnection;import javax.management.MBeanServerInvocationHandler;import javax.management.ObjectName;import javax.management.remote.JMXConnector;import javax.management.remote.JMXConnectorFactory;import javax.management.remote.JMXServiceURL;import org.apache.cassandra.service.StorageServiceMBean;public class RmiClient { private JMXServiceURL jmxUrl; private JMXConnector connector; private MBeanServerConne
HBase 增量备份和还原工具
HBase 增量备份和还原工具(收藏)By John_Yang|CloudingComputing, HBase Research|Be the first to comment!HBase自带的export/import机制可以实现Backup Restore功能。而且可以实现增量备份。下面设增量备份的python脚本在这个脚本中,每天做增量备份,每个月15日做全备份。view plaincopy to clipboardprint? import time import datetime from datetime import date import sys import os tablename=sys.argv[1] backupDst=sys.argv[2] today=date.today() if today.day == 15: /
cassandra0.7以上版本多数据中心部署
cassandra0.7以上版本多数据中心部署一、引子0.7-beta2...* rename RackAwareStrategy to OldNetworkTopologyStrategy, RackUnawareStrategy to SimpleStrategy, DatacenterShardStrategy to NetworkTopologyStrategy,AbstractRackAwareSnitch to AbstractNetworkTopologySnitch (CASSANDRA-1392)...二、部署配置副本存放策略(Replica Placement Strategy): NetworkTopologyStrategy (NTS)复制因子(Replication Factor):每个数据中心都为1.相应的定义见如下的strategy_options选项配置strategy_options:DC1 : 1DC2 : 1DC3 : 1使用Cassandr