暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

TiKV 开发环境单机部署

贾世闻 2020-04-14
220

作者:贾世闻

原文来源:https://tidb.net/blog/db2068f1

tikv是一个分布式的kv存储系统,开发环境免不了部署多个节点。手头资源不够的同学可以用pingcap官方给出的docker-compose方案https\://github.com/pingcap/tidb-docker-compose。 麻烦就从这里开始了。这个方案暴露到本地的端口只有tidb、grafana的端口(4000、 9090、3000);pd、tikv的端口并没有暴露到本地。需要修改的地方有几处:

  • 为了保证容器内时间和宿主机时间一致,最好在每个"volumes"下添加"- /etc/localtime:/etc/localtime:ro"
  • 为容器pd0、pd1、pd2添加"ports"暴露端口号,由于我们要吧端口全部映射到本地所以三个pd节点使用不同的端口号。修改完的pd大概长这个样子

pd1: image: pingcap/pd:latest ports: - "2378:2378" volumes: - ./config/pd.toml:/pd.toml:ro - ./data:/data - ./logs:/logs - /etc/localtime:/etc/localtime:ro command: - --name=pd1 - --client-urls=http://0.0.0.0:2378 - --peer-urls=http://0.0.0.0:2380 - --advertise-client-urls=http://pd1:2378 - --advertise-peer-urls=http://pd1:2380 - --initial-cluster=pd0=http://pd0:2380,pd1=http://pd1:2380,pd2=http://pd2:2380 - --data-dir=/data/pd1 - --config=/pd.toml - --log-file=/logs/pd1.log restart: on-failure

暴露tikv的端口号,前面改了pd的端口应声,需要修改"command","- --pd=pd0:2379,pd1:2378,pd2:2377"

``` tikv2: image: pingcap/tikv:latest ports: - "20162:20162"

volumes:
  - ./config/tikv.toml:/tikv.toml:ro
  - ./data:/data
  - ./logs:/logs
  - /etc/localtime:/etc/localtime:ro
command:
  - --addr=0.0.0.0:20162
  - --advertise-addr=tikv2:20162
  - --data-dir=/data/tikv2
  - --pd=pd0:2379,pd1:2378,pd2:2377
  - --config=/tikv.toml
  - --log-file=/logs/tikv2.log
depends_on:
  - "pd0"
  - "pd1"
  - "pd2"
restart: on-failure

```

修改好的docker-compose.yml在这里https\://github.com/jiashiwen/usetikv/blob/master/docker-compose.yml,想省事儿的同学直接覆盖官方的docker-compse文件就可以了 最后修改一下本地/etc/hosts文件,pd及tikv都是通过hostname绑定的“advertise-client-urls”,不绑定hosts找不到pd和tikv的节点

127.0.0.1 pd0 127.0.0.1 pd1 127.0.0.1 pd2 127.0.0.1 tikv0 127.0.0.1 tikv1 127.0.0.1 tikv2

至此,环境搭建完毕,愉快的run demo吧。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论