广告
返回顶部
首页 > 资讯 > 服务器 >Influxdb Cluster集群部署
  • 298
分享到

Influxdb Cluster集群部署

linux服务器 2023-10-07 11:10:25 298人浏览 薄情痞子
摘要

准备工作 确定安装版本 1、此次安装选择的是influxdb-cluster集群部署方案,参考项目开源地址为:https://GitHub.com/chengshiwen/influxdb-clust

准备工作

确定安装版本

1、此次安装选择的是influxdb-cluster集群部署方案,参考项目开源地址为:https://GitHub.com/chengshiwen/influxdb-cluster/wiki,选择的版本为v1.8.10-c1.2.0。

下载地址

Https://github.com/chengshiwen/influxdb-cluster/releases

下载命令

# 注意机器版本wget https://github.com/chengshiwen/influxdb-cluster/releases/download/v1.8.10-c1.1.2/influxdb-cluster_1.8.10-c1.1.2_linux_amd64.tar.gz

验证端口是否占用

1、influxdb使用的默认端口号为分别为用于meta集群内部服务的8091端口,meta节点通信的8089端口,data集群内部服务的8088端口,以及data节点对外提供http服务的8086端口。2、通过 lsof -i :端口号 命令检查端口占用情况,如果存在占用需要进行修改3、如果存在修改端口后发现在添加meta节点进入集群时出现报错并提示出修改前的端口,需要手动删除指定存放meta数据的目录再进行添加。

注意以上端口都为默认端口,可以在配置文件中进行修改

Meta节点说明和要求

1、确定部署机器数量,Meta节点至少需要三个,如果超过三个也必须为奇数个节点(官方不建议超过三个)。如果只有一个Meta节点那需要在启动该单个Meta节点时添加-single-server标志。2、建议不要在同一服务器上部署多个Meta节点,因为如果该特定服务器无响应,它会产生更大的潜在故障。InfluxDB Cluster建议在占用空间相对较小的服务器上部署Meta节点。3、Meta节点可以与Data节点部署在同一台物理机上,不过最好的情况是都分开部署

Data节点说明和要求

1、InfluxDB Cluster需要至少两个Data节点才能实现高可用性和冗余。2、InfluxDB Cluster没有负载均衡功能,所以需要借助Nginx或其他有相同功能的应用进行负载均衡,在负载均衡应配置data节点对外提供http服务的8086端口。

主机配置

修改主机名
1、确定集群机器后,在每一台主机的/etc/hosts文件添加主机ip与主机名的映射(当然如果您希望使用IP地址,可忽略该步骤),示例如下:172.168.1.176 influxdb-cluster-1172.168.1.167 influxdb-cluster-15172.168.1.182 influxdb-cluster-18172.168.1.171 influxdb-cluster-5
验证主机间连通性
1、使用ping命令进行验证,示例如下:ping -qc 1 influxdb-cluster-1ping -qc 1 influxdb-cluster-15ping -qc 1 influxdb-cluster-18ping -qc 1 influxdb-cluster-5
目录创建
# 创建influxdb所需目录mkdir -p influx/{meta,data,wal,hh}

配置Meta节点集群

确定配置机器

influxdb-cluster-1influxdb-cluster-15influxdb-cluster-5

配置步骤

注:确定部署Meta节点的每台机器都需做如下配置1、编辑meta节点配置文件 vim influxdb-cluster-1.8.10-c1.1.2-1/etc/influxdb/influxdb-meta.conf2、主要修改的项为以下几处:    bind-address = ":8091"    hostname = "influxdb-cluster-1"        [meta]        # Directory where cluster meta data is stored.        dir = "/data/ops/home-influxdb/influx/meta"        # The default address for meta node communication        bind-address = ":8089"        # The default address to bind the api to.        http-bind-address = ":8091"            3、修改完成后启动Meta节点, 启动命令如下:nohup ./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-meta -config influxdb-cluster-1.8.10-c1.1.2-1/etc/influxdb/influxdb-meta.conf > nohup.out 2>&1 &4、验证各机器上data节点是否正常启动,命令如下:ps -ef | grep meta5、启动完成后,在任意一个Meta节点上,加入所有Meta节点,包括它自己。加入的命令如下(下列命令都在hebsjzx-1plusn-86-Qt-1执行):./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl add-meta influxdb-cluster-1:8091./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl add-meta influxdb-cluster-15:8091./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl add-meta influxdb-cluster-5:8091预期的输出为:Added meta node 1 at influxdb-cluster-1:80916、验证节点是否正确加入,在任意一台Meta节点机器上使用如下命令: ./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl show   预期的输出为:   Data Nodes    ==========    ID      tcp Address     Version    Meta Nodes    ==========    ID      TCP Address                     Version    1       influxdb-cluster-1:8091    1.8.10-c1.1.2    2       influxdb-cluster-15:8091   1.8.10-c1.1.2    3       influxdb-cluster-5:8091    1.8.10-c1.1.27、至此Meta集群搭建完成

配置Data节点集群

确定配置机器

influxdb-cluster-1influxdb-cluster-15influxdb-cluster-18influxdb-cluster-5

配置步骤

注:确定部署Data节点的每台机器都需做如下配置1、编辑Data节点配置文件 vim influxdb-cluster-1.8.10-c1.1.2-1/etc/influxdb/influxdb.conf2、主要修改的项为以下几处: # The TCP bind address to use for cluster-internal services.bind-address = ":8088"# Hostname advertised by this host for remote addresses. This must be resolvable by all# other nodes in the cluster.hostname = "influxdb-cluster-1"[meta]    # Directory where the cluster metadata is stored.    dir = "/data/ops/home-influxdb/influx/meta"        [data]  # The directory where the TSM storage engine stores TSM files. dir = "/data/ops/home-influxdb/influx/data"  # The directory where the TSM storage engine stores WAL files. wal-dir = "/data/ops/home-influxdb/influx/wal" [http] # The bind address used by the HTTP service.  bind-address = ":8086"    [hinted-handoff]        # The directory where the hinted handoff queues are stored.        dir = "/data/ops/home-influxdb/influx/hh"3、修改完成后启动Data节点, 启动命令如下:    nohup ./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd -config influxdb-cluster-1.8.10-c1.1.2-1/etc/influxdb/influxdb.conf > datanode.out 2>&1 &4、验证各机器上data节点是否正常启动,命令如下:ps -ef | grep influxd5、Data 节点在未被加入集群之前,出现 Failed to create storage,failed to store statistics 或 meta service unavailable 日志是正常情况。6、将Data节点加入集群,在任意一台Data节点,命令如下: ./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl add-data influxdb-cluster-1:8088 ./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl add-data influxdb-cluster-15:8088 ./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl add-data influxdb-cluster-18:8088 ./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl add-data influxdb-cluster-5:8088预期的输出为:Added data node 7 at influxdb-cluster-1:80887、验证节点是否正确加入,在任意一台Meta节点机器上使用如下命令: ./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influxd-ctl show  预期的输出为:    Data Nodes    ==========    ID      TCP Address                     Version    4       influxdb-cluster-1:8088    1.8.10-c1.1.2    5       influxdb-cluster-15:8088   1.8.10-c1.1.2    6       influxdb-cluster-18:8088   1.8.10-c1.1.2    7       influxdb-cluster-5:8088    1.8.10-c1.1.2    Meta Nodes    ==========    ID      TCP Address                     Version    1       influxdb-cluster-1:8091    1.8.10-c1.1.2    2       influxdb-cluster-15:8091   1.8.10-c1.1.2    3       influxdb-cluster-5:8091    1.8.10-c1.1.2    8、至此Data集群搭建完成

配置Data节点Jwt访问

注意:创建用户后再增加该配置1、在未设置Jwt访问前启动Data节点并使用./influxdb-cluster-1.8.10-c1.1.2-1/usr/bin/influx 进入并创建用户,创建用户并赋权的语句如下:# 创建用户并赋予全部权限create user admin  with passWord 'admin' with all privileges:# 创建用户只服务写权限,ALL为全部权限,WRITE为写,READ为读权限,多权限以逗号分割create user pxq  with password 'pxq'GRANT WRITE ON test TO pxq2、编辑Data节点配置文件 vim influxdb-cluster-1.8.10-c1.1.2-1/etc/influxdb/influxdb.conf3、主要修改的项为以下几处:[http]  # Determines whether user authentication is enabled over HTTP/HTTPS.  # 开启  auth-enabled = true# The JWT auth shared secret to validate requests using JSON WEB tokens.# token加密字符串  shared-secret = "XXXX"  4、生成token,网站:https://jwt.io/,生成规则如下:HEADER:{  "alg": "HS256",  "typ": "JWT"}PAYLOAD:{  "username": "pxq", # 用户名  "exp": 1679642512 # 过期时间}# 主要为最后那串字符使用influxdb.conf中shared-secret配置的字符串VERIFY SIGNATURE:HMacSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload),I don't even know what it is)5、验证是否成功curl -XPOST "http://172.168.1.176:8086/query?db=test" --data-urlencode "q=Select * from Test" --header "Authorization: Bearer eyJhbGCiOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxx.5rcJ_-YejsZ3XjRtxwe7kzH_4e__2btz0pEw_GQ8OJs"权限不足将提示:{"error":"error authorizing query: pxq not authorized to execute statement 'SELECT * FROM Test', requires READ on test"}正常将提示展示结果

配置负载均衡

由于InfluxDB Cluster 不能用作负载均衡器,故需要配置

1、nginx配置于/data/ops/nginx/目录2、具体配置如下:upstream influxdb {        server influxdb-cluster-1:8086;        server influxdb-cluster-15:8086;        server influxdb-cluster-18:8086;        server influxdb-cluster-5:8086;    }    server {        listen       8888;        server_name  localhost;        location /influx/ {          proxy_set_header Host $proxy_host;          proxy_pass   http://influxdb/;        }    }3、对外统一访问地址:http://192.168.1.2:8888/influx例如访问查询test库Test表全部数据:curl -XPOST "http://192.168.1.2:8888/influx/query?db=test" --data-urlencode "q=Select * from Test" --header "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNjc5NjQyNTEyfQ.7mIPMjB60kFGFQuTSyf7KvYF921MkMmL662_icTfvRQ"

来源地址:https://blog.csdn.net/jiangjia_132/article/details/129918083

--结束END--

本文标题: Influxdb Cluster集群部署

本文链接: https://www.lsjlt.com/news/424443.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Influxdb Cluster集群部署
    准备工作 确定安装版本 1、此次安装选择的是influxdb-cluster集群部署方案,参考项目开源地址为:https://github.com/chengshiwen/influxdb-clust...
    99+
    2023-10-07
    linux 服务器
  • influxdb-cluster安装部署
    参考资料 Influx Proxy 是一个基于高可用、一致性哈希的 InfluxDB 集群代理服务,实现了 InfluxDB 高可用集群的部署方案,具有动态扩/缩容、故障恢复、数据同步等能力。 相关文档:https://github.com...
    99+
    2019-10-06
    influxdb-cluster安装部署 数据库入门 数据库基础教程 数据库 mysql
  • Redis Cluster集群部署搭建
    在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉。Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品。今天,就分享一下安装Redis集群的过程...
    99+
    2022-10-18
  • k8s部署redis cluster集群的实现
    目录Redis 介绍为什么要用Redis什么是Redis Cluster集群k8s以StatefulSet方式部署redis cluster集群:部署nfs创建pv部署redis初始...
    99+
    2022-11-12
  • 如何部署mysql的集群模式galera-cluster
    这篇文章将为大家详细讲解有关如何部署mysql的集群模式galera-cluster,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一: galera-cluster 的介...
    99+
    2022-10-18
  • 如何使用Ruby脚本部署Redis Cluster集群
    这篇文章主要为大家展示了“如何使用Ruby脚本部署Redis Cluster集群”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Ruby脚本部署Redis...
    99+
    2022-10-18
  • Mysql基于Mysql Cluster+MysqlRouter的集群部署方案
    http://note.youdao.com/noteshareid=a61c4a6ff2b76e5305430eb66eb116e2&sub=4B4B6E8D0E2849F9B0DFB67D43D12A1C...
    99+
    2021-06-07
    Mysql基于Mysql Cluster+MysqlRouter的集群部署方案
  • 基于Redis6.2.6版本部署Redis Cluster集群的问题
    目录1.Redis6.2.6简介以及环境规划2.二进制安装Redis程序2.1.二进制安装redis6.2.62.2.创建Reids Cluster集群目录3.配置Redis Clu...
    99+
    2022-11-13
  • elasticsearch 集群部署
    Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也都采用...
    99+
    2022-10-18
  • Mysql-mmm集群部署
      90主 <----------> 91主    |    |    |  ------------...
    99+
    2022-10-18
  • GreenPlum 5.10.0 集群部署
    第1部分 初始化系统配置 1.1 部署环境 序号 ip地址 主机名 内存 系统版本 内核版本 1 192.168.61.61 gpmaster61 16Gb CentOS 7.5.1804 3...
    99+
    2022-10-18
  • Docker Swarm部署集群
    一、Swarm简介Swarm是Docker的一个编排工具,参考官网:https://docs.docker.com/engine/swarm/Swarm 模式简介 要在Swarm模式下运行docker,需要先安装docker,参考...
    99+
    2023-01-31
    集群 Docker Swarm
  • php中什么是集群部署?如何实现集群部署?
    随着互联网进入快速发展的时代,各种网站、应用如雨后春笋般出现,人们对于服务的需求越来越高。而随着用户量增加,单一服务器已经无法满足需求,集群部署PHP项目成为解决方案之一。一、什么是集群部署?集群部署是将多台服务器组合在一起,按照特定的方式...
    99+
    2023-05-14
    集群部署 php
  • Redis集群(Cluster)
    Redis集群 集群解决的问题代理主机和无中心化集群Redis集群的特点Redis集群环境搭建slots(插槽)在集群中录入值查询集群中的值故障恢复Redis集群的优缺点 集群解决的问...
    99+
    2023-08-31
    redis 数据库 服务器
  • Liunx中部署Kettle集群
    文章目录 一、部署环境二、搭建步骤1、Linux下JDK环境搭建2、各服务器之间开启SSH免密登录3、查看所需端口是否被占用4、Linux下Kettle安装5、测试Kettle是否安装成功6、...
    99+
    2023-09-26
    服务器 ssh linux 数据仓库 运维
  • Mongodb 分片集群部署
    Mongodb分片集群介绍       分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功...
    99+
    2022-10-18
  • redis3.0集群安装部署
    wget http://download.redis.io/releases/redis-3.0.0.tar.gz && tar zxvf redis-3.0.0.tar.gz &&...
    99+
    2022-10-18
  • centos 7.4部署couchbase集群
           couchbase是一个较新的、发展迅速的nosql数据库技术。2014年,viber宣布使用couchbase替换mongodb,...
    99+
    2022-10-18
  • Redis群集部署详解
    博文大纲:一、Redis群集相关概念二、部署Redis群集 1、部署环境 2、配置Redis实例 3、配置node06主机的多Redis实例 4、主机node01安装配置ruby的运行环境,便于管理Re...
    99+
    2022-10-18
  • Redis集群部署方法
    本篇内容介绍了“Redis集群部署方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作