关于IT运维技术的
最佳实践博客网站

使用 Reaper 工具对 Cassandra 数据库进行完美修复

痛点

众所周知,Cassandra 的命令行工具:nodetool repair 修复数据库及其艰难,没有任何反馈和进度条展示,数据量大的时候,莫名的焦虑感产生。前几个月转 GitHub 的时候发现了一个非常好的开源工具:Reaper for Apache Cassandra 此工具弥补了现在官方 nodetool 的一些问题。并且可视化,可增量,可以定制计划任务,占用资源也很少,很直观的看到自己下发的修复任务的进度,方便团队协作。

GitHub 上的介绍 Reaper for Apache Cassandra

Reaper是一个集中的,有状态的,高度可配置的工具,用于针对单点或多点群集运行Apache Cassandra修复。

当前版本支持以分段方式运行Apache Cassandra集群修复,在集群中的不同节点上同时运行多个并行修复。还支持基本的修复计划功能。

Reaper附带一个GUI,如果你在本地模式下运行,可以在 http://localhost:8080/webui/

运行以下命令以获取生成的.repo文件:

wget https://bintray.com/thelastpickle/reaper-rpm/rpm -O bintray-thelastpickle-reaper-rpm.repo

安装 reaper

yum install reaper

创建配置软连接,防止软件升级导致配置失效

ln -sf /etc/cassandra-reaper/configs/cassandra-reaper.yaml /etc/cassandra-reaper/cassandra-reaper.yaml

启动服务

service cassandra-reaper start

错误日志 /var/log/cassandra-reaper.err/var/log/cassandra-reaper.log

[root@cassandra-10-0-0-194 cassandra-reaper]# tail /var/log/cassandra-reaper.err
ls: cannot access server/target/cassandra-reaper-*.jar: No such file or directory
/usr/local/bin/cassandra-reaper: line 44: exec: java: not found
ls: cannot access server/target/cassandra-reaper-*.jar: No such file or directory
/usr/local/bin/cassandra-reaper: line 44: exec: java: not found
ls: cannot access server/target/cassandra-reaper-*.jar: No such file or directory
/usr/local/bin/cassandra-reaper: line 44: exec: java: not found
ls: cannot access server/target/cassandra-reaper-*.jar: No such file or directory
/usr/local/bin/cassandra-reaper: line 44: exec: java: not found
[root@cassandra-10-0-0-194 cassandra-reaper]# cat /var/log/cassandra-reaper.log
Looking for reaper in /usr/share/cassandra-reaper/
Looking for reaper in /usr/share/cassandra-reaper/
Looking for reaper in /usr/share/cassandra-reaper/
Looking for reaper in /usr/share/cassandra-reaper/

运行以下命令停止服务: sudo service cassandra-reaper stop

程序自带的启动脚本有 BUG ,采用直接启动的方式。

java -jar /usr/share/cassandra-reaper/cassandra-reaper-1.2.1.jar server /etc/cassandra-reaper/cassandra-reaper.yaml

启动后的 UI 界面

http://localhost:8080/webui/

添加种子节点,才能获取到集群中的其它节点

Schedules 计划任务:

查看 Repair 修复进度

查看 Repair 修复进度详情

创建和查看快照任务

未经允许不得转载:菜鸟HOW站长 » 使用 Reaper 工具对 Cassandra 数据库进行完美修复
分享到: 更多 (0)

留下你的脚印

  订阅  
关注动态