美文网首页
TiKV集群及监控系统搭建

TiKV集群及监控系统搭建

作者: 沉思故事 | 来源:发表于2019-03-19 10:53 被阅读0次

目标:搭建一个3节点的tikv集群,以及监控系统

根据官方推荐的软件和硬件配置要求,我选择了4台相同的物理机作为server node,还有另外几台作为监控和测试用。

ip role hardware
10.16.148.72 pd v3.0.0-beta-18-g9531e19 48core, 200g mem, ssd 900g
10.16.148.73 tikv 3.0.0-beta-5cb9ac9b0fd 同上
10.16.148.74 同上 同上
10.16.148.75 同上 同上
10.110.27.6 pushgateway 4cores
10.15.130.3 prometheus 2.2, grafana 5.3 24cores
10.110.36.144 go-ycsb client 24cores

由于对ansible不熟,又不可在单机上用docker-compose跑一个环境(容器内的profiling貌似有所限制,不过它是未来云数据库的一个重点),所以当前比较方便的方式是下载binary pacakges,命令行启动。但奇怪的是,binary包里只有bin文件夹,却没有conf,然而tikv-server命令行下是可接-C选项指定配置文件的。如果要反复地调一些参数,显然命令行下给选项是不方便的。所以暂从docker-compose repo config/tikv.toml下取一份配置文件过来。

注意事项

  • os version >= centos7.2(这里默认是centos),磁盘需为SSD,且是ext4系统(xfs有kernel bug,不推荐使用)
  • 启动命令行所示,但加上配置文件,各配置文件模板在这儿tikv参数含义中文解释
  • 注意各node上设置了https_proxy/http_proxy带来的副作用,可能连不上
    有一次在单机上启动tikv-server时,我的系统默认是设置了export https_proxy=http://10.10.15.2:3128,没想到tikv-server识别到它,报错不能启动了。显然pd-endpoint 127.0.0.1:2379无法由10.10.15.2:3128所reach

[2019/03/13 10:59:52.985 +08:00] [INFO] [unknown:300] ["Connecting to server 127.0.0.1:2379 via HTTP proxy ipv4:10.10.15.2:3128"]

最后,为了方便在控制机上(control machine)操作多台server,写了个脚本deploy.sh,后续测试会大量用到,实现基本的start,stop,clean,生成火焰图等操作

部署tikv,pd,prometheus,grafana等多系统

经尝试发现pd server 10.16.148.72:2379/metrics端口通过http暴露了metrics,而tikv server的l127.0.0.1:20180/metrics暴露了metrics,可问题是它只是localhost,无法由prometheus来抓取(严格讲,是不能通过外部的prometheus来抓取,但若在相同的tikv节点上安装prometheus,再让prometheus把metrics发给grafana,这可行)。这一点在tikv #6811得到验证。看来只好用docker部署个pushgateway了(不过既然是server,pull是不是要比push好些?

搭建pd-server, tikv-server

利用自定义脚本deploy.sh,先后执行以下命令:

  1. ./deploy.sh mount(格式化远程机的ssd,并mount到/data目录)
  2. ./deploy.sh copy(拷贝binary package包括自添加的conf/到远程机)
  3. ./deploy.sh start(先后启动pd-server和3台tikv-server)

当看到以下server状态时,表明tikv集群成功建立


image.png
  • ./deploy.sh stop
    停止所有实例,重新启动前可考虑是否清除所有数据和日志
  • ./deploy.sh status/tail
    查看进程状态,打开的网络端口和日志等等
  • ./deploy perf [id] [seconds]
    对某台server作给定时间的perf record,生成火焰图,并用httpd支持查看svg文件

搭建pushgateway, prometheus,grafana监控

pushgateway用docker镜像启动,暴露9091端口;按照常见的prometheus,grafana安装说明,在prometheus.yml中加入pushgateway地址,配置项honor_labels=true; grafana中加入prometheus数据源;

为节省时间,就不自己慢慢搭面板了,于是去找有没有现成的,可以导入官方的tikv.json;面板参数解释,太丰富了(随着版本迭代有些metrics也过时了),确认一时半会研究不完[phew..]

安装部署至此。之后就是采用相关客户端如sysbench, go-ycsb测试了。

相关文章

  • TiKV集群及监控系统搭建

    目标:搭建一个3节点的tikv集群,以及监控系统 根据官方推荐的软件和硬件配置要求,我选择了4台相同的物理机作为s...

  • TiKV性能测试及profiling初探

    收到一个task,搭建3节点的tikv集群,用相关profiling工具研究下tikv可能的性能瓶颈,可暂时只测r...

  • 容器运维和监控

    1.容器监控指标 监控工具搭建 集群监控: 先停止每台监控服务: 再分别在2台机器开启集群监控 2.k8s集群运行...

  • zabbix实现邮件,短信,微信报警

    1、描述常见监控系统及SNMP协议2、搭建企业级zabbix,实现自动以邮件和短信报警 1、描述常见监控系统及SN...

  • 策略PM入门学习(三)

    2.3 【实例】效果监控系统搭建 网页搜索中图片类特型结果的监控体系 2.4 【实例】策略监控系统搭建 小结:...

  • 搜索引擎ElasticSearch之(4)、集群管理

    1、集群状态及监控状态 ES提供了检查和监控节点或集群的信息,包括统计信息、服务器信息、节点参数等。 1.1、集群...

  • (一) Ceph集群环境准备

    Ceph集群环境准备 基于本机搭建ceph集群及cephfs、cephrgw、cephrbd服务。 集群规划 生产...

  • 2018-10-23

    搭建Grafana+Prometheus 监控mysql Grafana+Prometheus 系统监控MySql...

  • 大数据相关技术

    大数据集群搭建 主要基于ambari来同一管理监控集群 主要安装步骤: 准备机器,修改hostname,固定ip等...

  • zookeeper简介(整理)

    zookeeper单机模式搭建Zookeeper集群及伪集群模式搭建 简介 ZooKeeper 是一个开源的分布式...

网友评论

      本文标题:TiKV集群及监控系统搭建

      本文链接:https://www.haomeiwen.com/subject/xkrjmqtx.html