Cassandra一些运维操作

来源:互联网 发布:centos 开启组播 编辑:程序博客网 时间:2024/06/05 03:08

1.查看集群是否使用了vnodes

用途:使用了virtual nodes,删除了节点之后它会自动均衡数据,不要你手动处理。
主要看你的cassandra.yml配置文件中,是否配置了initial_token,如果没有配置,就是使用了vnodes。

cassandra/conf$ less cassandra.yaml# initial_token allows you to specify tokens manually.  While you can use # it with# vnodes (num_tokens > 1, above) -- in which case you should provide a# comma-separated list -- it's primarily used when adding nodes # to legacy clusters# that do not have vnodes enabled.# initial_token:

发现这一行注释了,所以使用了virtual nodes

2.查看replication_factor

主要是运维一个比较生疏的集群,尤其在删除节点的时候,尤其要注意是不是会造成数据的丢失,所以需要看一下。
有两种方式:

a. desc keyspace_name

$desc这个命令会把这个keyspace_name以及下面所有的column family都desc一下。

cqlsh> desc keyspace example;CREATE KEYSPACE ad WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': '3'}  AND durable_writes = true;...desc other column families

b.在system keyspace里面查看

cqlsh> use system;cqlsh:system> select * from schema_keyspaces; keyspace_name | durable_writes | strategy_class                                       | strategy_options---------------+----------------+------------------------------------------------------+----------------------------     OpsCenter |          False | org.apache.cassandra.locator.NetworkTopologyStrategy |   {"DC1":"1","DC2":"1"}        system |           True |           org.apache.cassandra.locator.LocalStrategy |                         {}       example |           True | org.apache.cassandra.locator.NetworkTopologyStrategy |                 {"DC1":"3"}

可以看到ad这个keyspace的Strategy是NetworkTopologyStrategy,{"DC1":"3"}

3.查看当前集群状态

/cassandra/bin$ ./nodetool status Datacenter: DC1===================Status=Up/Down|/ State=Normal/Leaving/Joining/Moving--  Address       Load       Tokens  Owns    Host ID                               RackDN  10.6.120.11   502.91 GB  256     ?       11299fbb-627e-4453-838a-2af2e7e06b29  R07UN  10.6.120.12   489.04 GB  256     ?       19185573-6f3e-431d-bf60-5c10691c85b6  R07UN  10.6.120.13   482.92 GB  256     ?       524182a1-771c-4f0a-b904-ce1b7c24b48f  R07UN  10.6.120.14   500.63 GB  256     ?       e288eb41-b151-4d03-9fe3-3508dfd77ed7  R07...

4.添加节点,删除节点

主要是nodetool命令的使用。

/cassandra/bin$ ./nodetool removenode host_id/cassandra/bin$ ./nodetool removenode host_id force# Decommission the *node I am connecting to*/cassandra/bin$ ./nodetool decommission# for more command, use help/cassandra/bin$ ./nodetool help

删除节点官方步骤:
第一步:先每个机器都修复下每个keyspace
$nodetool repair -h ip_address_of_node keyspace_name
第二步:如果要删除的机器是UP状态的机器,没有宕机
在要删除的机器上执行nodetool decommission. 就直接结束了,否则继续下面的步骤。
第三步:在活的节点上执行删除操作
$ nodetool removenode host_id
它会自己均衡数据,这里就直接结束了,否则继续。
第四步:查看是否删除成功

5.查看key在哪个endpoint

/cassandra/bin$ ./nodetool getendpoint keyspace_name columnfamily_name key

6.待续

7.other: nodetool help

/cassandra/bin$ ./nodetool helpusage: nodetool [(-u <username> | --username <username>)]        [(-pw <password> | --password <password>)] [(-h <host> | --host <host>)]        [(-pwf <passwordFilePath> | --password-file <passwordFilePath>)]        [(-p <port> | --port <port>)] <command> [<args>]The most commonly used nodetool commands are:    cfhistograms                 Print statistic histograms for a given column family    cfstats                      Print statistics on column families    cleanup                      Triggers the immediate cleanup of keys no longer belonging to a node. By default, clean all keyspaces    clearsnapshot                Remove the snapshot with the given name from the given keyspaces. If no snapshotName is specified we will remove all snapshots    compact                      Force a (major) compaction on one or more column families    compactionhistory            Print history of compaction    compactionstats              Print statistics on compactions    decommission                 Decommission the *node I am connecting to*    describecluster              Print the name, snitch, partitioner and schema version of a cluster    describering                 Shows the token ranges info of a given keyspace    disableautocompaction        Disable autocompaction for the given keyspace and column family    disablebackup                Disable incremental backup    disablebinary                Disable native transport (binary protocol)    disablegossip                Disable gossip (effectively marking the node down)    disablehandoff               Disable storing hinted handoffs    disablethrift                Disable thrift server    drain                        Drain the node (stop accepting writes and flush all column families)    enableautocompaction         Enable autocompaction for the given keyspace and column family    enablebackup                 Enable incremental backup    enablebinary                 Reenable native transport (binary protocol)    enablegossip                 Reenable gossip    enablehandoff                Reenable the future hints storing on the current node    enablethrift                 Reenable thrift server    flush                        Flush one or more column families    gcstats                      Print GC Statistics    getcompactionthreshold       Print min and max compaction thresholds for a given column family    getcompactionthroughput      Print the MB/s throughput cap for compaction in the system    getendpoints                 Print the end points that owns the key    getlogginglevels             Get the runtime logging levels    getsstables                  Print the sstable filenames that own the key    getstreamthroughput          Print the Mb/s throughput cap for streaming in the system    gossipinfo                   Shows the gossip information for the cluster    help                         Display help information    info                         Print node information (uptime, load, ...)    invalidatecountercache       Invalidate the counter cache    invalidatekeycache           Invalidate the key cache    invalidaterowcache           Invalidate the row cache    join                         Join the ring    listsnapshots                Lists all the snapshots along with the size on disk and true size.    move                         Move node on the token ring to a new token    netstats                     Print network information on provided host (connecting node by default)    pausehandoff                 Pause hints delivery process    proxyhistograms              Print statistic histograms for network operations    rangekeysample               Shows the sampled keys held across all keyspaces    rebuild                      Rebuild data by streaming from other nodes (similarly to bootstrap)    rebuild_index                A full rebuild of native secondary indexes for a given column family    refresh                      Load newly placed SSTables to the system without restart    reloadtriggers               Reload trigger classes    removenode                   Show status of current node removal, force completion of pending removal or remove provided ID    repair                       Repair one or more column families    resetlocalschema             Reset node's local schema and resync    resumehandoff                Resume hints delivery process    ring                         Print information about the token ring    scrub                        Scrub (rebuild sstables for) one or more column families    setcachecapacity             Set global key, row, and counter cache capacities (in MB units)    setcachekeystosave           Set number of keys saved by each cache for faster post-restart warmup. 0 to disable    setcompactionthreshold       Set min and max compaction thresholds for a given column family    setcompactionthroughput      Set the MB/s throughput cap for compaction in the system, or 0 to disable throttling    sethintedhandoffthrottlekb   Set hinted handoff throttle in kb per second, per delivery thread.    setlogginglevel              Set the log level threshold for a given class. If both class and level are empty/null, it will reset to the initial configuration    setstreamthroughput          Set the Mb/s throughput cap for streaming in the system, or 0 to disable throttling    settraceprobability          Sets the probability for tracing any given request to value. 0 disables, 1 enables for all requests, 0 is the default    snapshot                     Take a snapshot of specified keyspaces or a snapshot of the specified column family    status                       Print cluster information (state, load, IDs, ...)    statusbackup                 Status of incremental backup    statusbinary                 Status of native transport (binary protocol)    statusgossip                 Status of gossip    statushandoff                Status of storing future hints on the current node    statusthrift                 Status of thrift server    stop                         Stop compaction    stopdaemon                   Stop cassandra daemon    toppartitions                Sample and print the most active partitions for a given column family    tpstats                      Print usage statistics of thread pools    truncatehints                Truncate all hints on the local node, or truncate hints for the endpoint(s) specified.    upgradesstables              Rewrite sstables (for the requested column families) that are not on the current version (thus upgrading them to said current version)    version                      Print cassandra version
0 0
原创粉丝点击