ClickHouse(四):ClickHouse分布式搭建及其他

news2024/12/24 2:37:48

 

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容!

🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,Kerberos安全认证,大数据OLAP体系技术栈-CSDN博客

📌订阅:拥抱独家专题,你的订阅将点燃我的创作热情!

👍点赞:赞同优秀创作,你的点赞是对我创作最大的认可!

⭐️ 收藏:收藏原创博文,让我们一起打造IT界的荣耀与辉煌!

✏️评论:留下心声墨迹,你的评论将是我努力改进的方向!


目录

1.Clickhouse分布式搭建

 2. rpm其他方式安装问题

2.1 添加官方存储库

​​​​​​​2.2 安装clickhouse server和client


1.Clickhouse分布式搭建

Clickhouse支持分布式搭建,搭建步骤如下:

1)选择三台clickhouse节点,在每台节点上安装clickhouse需要的安装包

这里选择node1、node2,node3三台节点,分别按照clickhouse单节点安装方式在每台节点上安装clickhouse。

2)安装zookeeper集群并启动。

搭建Clickhouse集群时,需要使用Zookeeper去实现集群副本之间的同步,所以这里需要zookeeper集群,zookeeper集群安装后可忽略此步骤。

3)配置外网可访问

在每台clickhouse节点中配置/etc/clickhouse-server/config.xml文件第114行<listen_host>,如下:

<listen_host>::</listen_host>

4)在每台节点/etc/目录下创建metrika.xml文件,写入以下内容

在node1、node2、node3节点上/etc/下配置metrika.xml文件:

vim /etc/metrika.xml:

<yandex>

    <clickhouse_remote_servers>

        <clickhouse_cluster_3shards_1replicas>

            <shard>

                <internal_replication>true</internal_replication>

                <replica>

                    <host>node1</host>

                    <port>9000</port>

                </replica>

            </shard>

            <shard>

                <replica>

                    <internal_replication>true</internal_replication>

                    <host>node2</host>

                    <port>9000</port>

                </replica>

            </shard>

            <shard>

                <internal_replication>true</internal_replication>

                <replica>

                    <host>node3</host>

                    <port>9000</port>

                </replica>

            </shard>

        </clickhouse_cluster_3shards_1replicas>

    </clickhouse_remote_servers>

     

    <zookeeper-servers>

        <node index="1">

            <host>node3</host>

            <port>2181</port>

        </node>

        <node index="2">

            <host>node4</host>

            <port>2181</port>

        </node>

        <node index="3">

            <host>node5</host>

            <port>2181</port>

        </node>

    </zookeeper-servers>

    <macros>

        <replica>01</replica>

    </macros>

    <networks>

        <ip>::/0</ip>

    </networks>

    <clickhouse_compression>

        <case>

            <min_part_size>10000000000</min_part_size>

            <min_part_size_ratio>0.01</min_part_size_ratio>

            <method>lz4</method>

        </case>

    </clickhouse_compression>

</yandex>

对以上配置文件中配置项的解释如下:

  • clickhouse_remote_servers:

clickhouse集群配置标签,固定写法。

  • clickhouse_cluster_3shards_1replicas:

配置clickhouse的集群名称,可自由定义名称,注意集群名称中不能包含点号。这里代表集群中有3个分片,每个分片有1个副本。

分片是指包含部分数据的服务器,要读取所有的数据,必须访问所有的分片。

副本是指存储分片备份数据的服务器,要读取所有的数据,访问任意副本上的数据即可。

  • shard:

分片,一个clickhouse集群可以分多个分片,每个分片可以存储数据,这里分片可以理解为clickhouse机器中的每个节点。这里可以配置一个或者任意多个分片,在每个分片中可以配置一个或任意多个副本,不同分片可配置不同数量的副本。如果只是配置一个分片,这种情况下查询操作应该称为远程查询,而不是分布式查询。

  • replica:

每个分片的副本,默认每个分片配置了一个副本。也可以配置多个。如果配置了副本,读取操作可以从每个分片里选择一个可用的副本。如果副本不可用,会依次选择下个副本进行连接。该机制利于系统的可用性。

  • internal_replication:

默认为false,写数据操作会将数据写入所有的副本,设置为true,写操作只会选择一个正常的副本写入数据,数据的同步在后台自动进行。

  • zookeeper-servers:

配置的zookeeper集群

  • macros:

区分每台clickhouse节点的宏配置,每台clickhouse需要配置不同名称。

  • networks:

这里配置ip为“::/0”代表任意IP可以访问,包含IPv4和IPv6。

注意:允许外网访问还需配置/etc/clickhouse-server/config.xml 参照第三步骤。

  • clickhouse_compression:

MergeTree引擎表的数据压缩设置,min_part_size:代表数据部分最小大小。min_part_size_ratio:数据部分大小与表大小的比率。method:数据压缩格式。

注意:需要在每台clickhouse节点上配置metrika.xml文件,并且修改每个节点的 macros配置名称。

5)在每台节点上启动clickhouse服务

首先启动zookeeper集群,然后分别在node1、node2、node3节点上启动clickhouse服务,这里每台节点和单节点启动一样。启动之后,clickhouse集群配置完成。

service clickhouse-server start

6)检查集群配置是否完成

在node1、node2、node3任意一台节点进入clickhouse客户端,查询集群配置

#选择三台clickhouse任意一台节点,进入客户端

clickhouse-client

#查询集群信息,看到下图所示即代表集群配置成功。

node1 :) select * from system.clusters;

 ​​​​​​​2. rpm其他方式安装问题

以上介绍clickhouse安装方式是下载好rpm包之后进行安装,我们也可以自己配置clickhouse的yum源,直接使用yum命令进行安装,不过这个过程是从外网直接下载clickhouse安装包之后自动进行安装。配置如下:

​​​​​​​2.1 添加官方存储库

选择需要安装clickhouse的节点执行如下命令,添加clickhouse的官方yum源:

​
[root@node1 ~]# yum -y install yum-utils

[root@node1 ~]# rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG

[root@node1 ~]# yum-config-manager --add-repo Index of /clickhouse/rpm/stable/x86_64/

Loaded plugins: fastestmirror

adding repo from: https://repo.yandex.ru/clickhouse/rpm/stable/x86_64

[repo.yandex.ru_clickhouse_rpm_stable_x86_64]

name=added from: https://repo.yandex.ru/clickhouse/rpm/stable/x86_64

baseurl=https://repo.yandex.ru/clickhouse/rpm/stable/x86_64

enabled=1

​

​​​​​​​2.2 安装clickhouse server和client

yum -y install clickhouse-server clickhouse-client

经过以上两个步骤即可完成安装,这里安装单机和安装集群都可以使用以上这种模式。

注意:在Centos7 中采用配置yum 源方式安装ClickHouse启动时使用命令:systemctl start clickhouse-server


👨‍💻如需博文中的资料请私信博主。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/800870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫实例之淘宝商品页面爬取(api接口)

可以使用Python中的requests和BeautifulSoup库来进行网页爬取和数据提取。以下是一个简单的示例&#xff1a; import requests from bs4 import BeautifulSoupdef get_product_data(url):# 发送GET请求&#xff0c;获取网页内容headers {User-Agent: Mozilla/5.0 (Windows NT…

管理类联考——大纲篇

综合能力考试大纲 Ⅰ、考试性质 综合能力考试是为高等院校和科研院所招收管理类专业学位硕士研究生而设置的具有选拔性质的全国联考科目&#xff0c;其目的是科学、公平、有效地测试考生是否具备攻读专业学位所必须的基本素质、一般能力和培养潜能&#xff0c;评价的标准是高…

python自动化测试+unittets框架

我们整个自动化才是报告的环节基本上分为三个部分&#xff1a; 1.测试用例的准备 2.测试用例的执行 3.测试报告的输出 1.测试用例的准备&#xff1a; 那我们就以搜孤网页做一个简单的用例&#xff1a; from selenium import webdriver import unittest class Case_1(unit…

【随机森林-鸢尾花分类】

1. 引言 随机森林是集成学习中的一颗瑞士军刀&#xff0c;它是一种强大的机器学习算法&#xff0c;常用于分类和回归任务。随机森林集合了“三个臭皮匠&#xff0c;顶个诸葛亮”的智慧&#xff0c;通过组合多个决策树的预测结果&#xff0c;来提高模型的鲁棒性和性能。 2. 随…

学习笔记|大模型优质Prompt开发与应用课(二)|第一节:大模型应用密码—Prompt的一千种打开方式

文章目录 第一节:大模型应用密码—Prompt的一千种打开方式01你可能听过一个小故事1910华盛顿纺织厂罢工事件 02 小问题:哪些场景会被提效类目一︰减少重复性工作的成本&#xff08;降本)例如∶做策划初稿、写JD、润色文案prompt生成结果prompt生成结果prompt生成结果promptprom…

个人博客系统项目进行自动化测试

目录 一、项目界面 二、博客系统自动化测试用例 三、自动化测试 1&#xff09;准备工作 2&#xff09;登录界面测试 测试正确的登录案例 登录界面测试出现问题 测试错误的登录案例 3&#xff09;博客列表界面测试 4&#xff09;博客详情界面测试 5&#xff09;博客编辑…

DEVICENET转ETHERNET/IP网关devicenet协议

捷米JM-EIP-DNT&#xff0c;你听说过吗&#xff1f;这是一款自主研发的ETHERNET/IP从站功能的通讯网关&#xff0c;它能够连接DEVICENET总线和ETHERNET/IP网络&#xff0c;从而解决生产管理系统中协议不同造成的数据交换互通问题。 这款产品在工业自动化领域可谓是一大利器&…

【QT 网络云盘客户端】——主窗口界面的设计

目录 1.设计主窗口界面 2.设置窗口的背景图片 3. 自定义标题栏 3.1 设置toolbutton按钮的图片 3.2 设置按钮的大小 3.3 将自定义标题栏添加设置到主页面中 3.4 去除窗口的原标题栏 3.5 设置按钮颜色 3.6 切换页面功能实现 4.我的文件页面的设计 4.1 菜单栏的设计 4…

插件使用权限管理软件(三)WebAPI项目IIS部署

前言 前面完成了WebAPI项目的接口服务类编写工作&#xff0c;接下来讲把项目部署到服务器的IIS上&#xff0c;让系统运行起来。 一. 项目发布 右键项目RightsManagementSystems.Web.Entry 选择“发布”选项 弹出发布选项界面&#xff0c;选择“文件夹”&#xff0c;点击下一步…

【Android知识笔记】UI体系(一)

Activity的显示原理 setContentView 首先开发者Activity的onCreate方法中通常调用的setContentView会委托给Window的setContentView方法: 接下来看Window的创建过程: 可见Window的实现类是PhoneWindow,而PhoneWindow是在Activity创建过程中执行attach Context的时候创建的…

SystemServer进程

前言 在systemServer启动文章中我们讲了在SystemServer.java的main方法里面调用new SystemServer().run&#xff08;&#xff09;方法启动System_server进程。那么我们接着看一下SystemServer.java具体做了哪些事情&#xff1f; ##SystemServer的run方法介绍 frameworks\base…

VictoriaMetrics

VictoriaMetrics是一个开源的时序数据库和监控解决方案&#xff0c;专门用于存储和查询大规模时间序列数据。它的设计灵感来自Prometheus&#xff0c;但在某些方面与Prometheus有所区别&#xff0c;主要关注于提供高性能、高可用性和低资源占用的特点。 一、与Prometheus区别和…

Kotlin Multiplatform 创建多平台分发库

目标&#xff1a;通过本教程学习如何使用 Kotlin Multiplatform Library 创建多平台分发库(iOS&#xff0c;安卓)。 创建一个项目 1、本教程使用的是Android Studio创建 2、选择 新建工程&#xff0c;选择 Kotlin Multiplatform Library 3、点击next 输入需要创建的项目名称以…

第2章 逻辑分页、AutoFac注入、工作单元与仓储

1 CoreCms.Net.Model.ViewModels.Basics.IPageList<T> namespace CoreCms.Net.Model.ViewModels.Basics { ///<typeparam name"T">泛型类型实例(1个指定实体的类型实例)。</typeparam> /// <summary> /// 【逻辑分页列表--接口】 /// <…

akka 简单使用

由于AKka的核心是Actor&#xff0c;而Actor是按照Actor模型进行实现的&#xff0c;所以在使用Akka之前&#xff0c;有必要弄清楚什么是Actor模型。 Actor模型最早是1973年Carl Hewitt、Peter Bishop和Richard Seiger的论文中出现的&#xff0c;受物理学中的广义相对论(general…

3ds MAX绘制茶壶

综合一下之前的内容画个茶壶 长方形&#xff0c;然后转化为可编辑多边形&#xff0c;添加节点并设置圆角&#xff0c;如下图 车削生成一个圆环&#xff0c;其实这一步也可以用一个圆柱体和两个圆角圆柱体解决 效果如下&#xff1a; 茶壶的底座绘制好了 接下来是茶壶的上半边 …

牛客网面试必刷:CD12 换钱的最少货币数

牛客网面试必刷&#xff1a;CD12 换钱的最少货币数 前言一、动态规划&#xff08;1&#xff09;需要判断钱币和总金额&#xff08;2&#xff09;不需要判断钱币和总金额 前言 问题链接: CD12 换钱的最少货币数 一、动态规划 参考自&#xff1a;【编程题 动态规划】兑换零钱(…

Coremail敏感配置信息泄露

生活是美好的&#xff0c;生命在其间又是如此短促。既然活着&#xff0c;就应该好好地活。应该更珍惜自己生命的每个时刻&#xff0c;精神上的消沉无异于自杀。像往日一样正常的投入生活吧&#xff0c;即便是痛苦&#xff0c;也应该被看做是人的正常情感&#xff0c;甚至它是组…

【多线程】进程调度的基本过程

进程调度的基本过程 1. 什么是进程/任务&#xff08;Process/Task&#xff09;2. 描述一个进程3. 什么是进程调度&#xff1f;3.1 进程状态3.2 进程的优先级3.3 进程的上下文3.4 进程的记账信息 4. 组织这些进程 1. 什么是进程/任务&#xff08;Process/Task&#xff09; 操作…

【用户体验分析报告】 按需加载组件,导致组件渲染卡顿,影响交互体验?组件拆包预加载方案来了!

首先&#xff0c;我们看一些针对《如何提升应用首屏加载体验》的文章&#xff0c;提到的必不可少的措施&#xff0c;便是减少首屏幕加载资源的大小&#xff0c;而减少资源大小必然会想到按需加载措施。本文提到的便是一个基于webpack 插件与 react 组件实现的一套研发高度自定义…