Cassandra 常用命令之 nodetool repair,cassandranodetool
nodetool repair 顾名思义就是修复,这是nodetool中一个非常重要的操作。当我们对数据有修改或删除动作时,或定期执行repair操作,以保持各个节点的一致性。
基本格式nodetool [(-h <host> | --host <host>)] [(-p <port> | --port <port>)]
[(-pw password | --password password)]
[(-pwf passwordFilePath | --password-file passwordFilePath)]
[(-u username | --username username)] repair
[(-dc specific_dc | --in-dc specific_dc)...]
[(-dcpar | --dc-parallel)] [(-et end_token | --end-token end_token)]
[(-full | --full)]
[(-hosts specific_host | --in-hosts specific_host)...]
[(-j job_threads | --job-threads job_threads)]
[(-local | --in-local-dc)] [(-pr | --partitioner-range)]
[(-seq | --sequential)]
[(-st start_token | --start-token start_token)] [(-tr | --trace)]
[--] [keyspace tables...]
这里要注意的是这些参数是有顺序的,有些只能在repair,有些只能在repair后,哥一开始没注意这些顺序,走了很多弯路。
选项
| hort | Long | Description |
|---|---|---|
-h |
--host |
Hostname or IP address. |
-p |
--port |
Port number. |
-pwf |
--password-file |
Password file path. |
-pw |
--password |
Password. |
-u |
--username |
Remote JMX agent username. |
-dc specific_dc |
--in-dc specific_dc |
Repair to nodes in the named datacenter (specific_dc). |
-dcpar |
--dc-parallel |
Repair datacenters in parallel, one node per datacenter at a time. |
-et end_token |
--end-tokenend_token |
Token UUID. Repair a range of nodes starting with the first token (see -st) and ending with this token (end_token). Use -hosts to specify neighbor nodes. |
-full |
--full |
Do a full repair. |
-h host_name |
--host host_name |
Node host name or IP address. |
-hosts specific_host |
--in-hostsspecific_host |
Repair specific hosts. |
-j job_threads |
--job-threadsjob_threads |
Number of threads (job_threads) to run repair jobs. Usually the number of tables to repair concurrently. Be aware that increasing this setting puts more load on repairing nodes. (Default: 1, maximum: 4) |
-local |
--in-local-dc |
Use to only repair nodes in the same datacenter. |
| -pr | --partitioner-range | Run a repair on the partition ranges that are primary on a replica. |
-seq start_token |
--sequentialstart_token |
Run a sequential repair. |
-st start_token |
--start-tokenstart_token |
Specify the token (start_token) at which the repair range starts. |
-tr |
--trace |
Trace the repair. Traces are logged tosystem_traces.events. |
| keyspace | Name of keyspace. | |
| tables | One or more table names, separated by a space. | |
-- |
Separates an option from an argument that could be mistaken for a option. | |
示例:
在当前节点,顺序修复所有的keyspaces
./nodetool repair -seq
修复当前所在的数据中心(data_center),该命令只能在当前数据中心使用。
./nodetool repair -dc DC1
如果想修复某一段ring的数据(相对于全部修复,话费时间更少),就用-st(即start_token) -et(即end_token),这对token必须是同一个node,且有大小顺序。查看ring的命令用repair ring
./nodetool repair -st 7521963415957825786 -et 8097903535872843286
只修复range落在该节点的master数据
./nodetool repair -pr
原文地址:http://docs.datastax.com/en/cassandra/3.0/cassandra/tools/toolsRepair.html 参考文章:http://zhaoyanblog.com/archives/649.html
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。