您的位置:首页 > 健康 > 养生 > 深圳装修公司排名榜_个性字体logo设计_一个新的app如何推广_鸡西seo

深圳装修公司排名榜_个性字体logo设计_一个新的app如何推广_鸡西seo

2024/10/7 8:19:47 来源:https://blog.csdn.net/qq_42873554/article/details/142646374  浏览:    关键词:深圳装修公司排名榜_个性字体logo设计_一个新的app如何推广_鸡西seo
深圳装修公司排名榜_个性字体logo设计_一个新的app如何推广_鸡西seo

在本教程中,我们将学习如何使用 Docker Compose 部署一个带有三节点的 ClickHouse 集群,并使用 ZooKeeper 作为分布式协调服务。

前提条件

注意事项:

  1. 镜像版本号注意保持一致 [zookeeper:3.7, clickhouse/clickhouse-server:22.5.4]
  2. config里面的参数有些是必须的,日志报错缺少参数去官方文档里找 config.xm参数官网

在开始之前,请确保您的系统已经安装了以下工具:

  • Docker
  • Docker Compose

目录结构

首先,我们需要为 ClickHouse 集群创建目录结构来存放数据和配置文件。执行以下命令来创建目录:

mkdir -p clickhouse_cluster/{zkdata,zkdatalog,data/clickhouse01,data/clickhouse02,data/clickhouse03,config/clickhouse01,config/clickhouse02,config/clickhouse03}

第一步:编写 docker-compose.yml 文件

clickhouse_cluster 目录下创建 docker-compose.yml 文件,这个文件定义了 ZooKeeper 和三个 ClickHouse 节点。为了安全性,我们会替换敏感数据如密码。

version: '3.8'services:zookeeper:image: zookeeper:3.7container_name: zookeeperrestart: alwaysports:- "2181:2181"environment:ZOO_MY_ID: 1volumes:- ./zkdata:/data- ./zkdatalog:/datalog      clickhouse01:image: clickhouse/clickhouse-server:22.5.4container_name: clickhouse01restart: alwaysports:- "8123:8123"   # HTTP 接口- "9000:9000"   # TCP 接口- "9009:9009"   # Internode 通信接口volumes:- ./data/clickhouse01:/var/lib/clickhouse- ./config/clickhouse01:/etc/clickhouse-serverenvironment:CLICKHOUSE_DB: defaultCLICKHOUSE_PASSWORD: "your_secure_password"depends_on:- zookeeperclickhouse02:image: clickhouse/clickhouse-server:22.5.4container_name: clickhouse02restart: alwaysports:- "8124:8123"   # HTTP 接口- "9001:9000"   # TCP 接口- "9010:9009"   # Internode 通信接口volumes:- ./data/clickhouse02:/var/lib/clickhouse- ./config/clickhouse02:/etc/clickhouse-serverenvironment:CLICKHOUSE_DB: defaultCLICKHOUSE_PASSWORD: "your_secure_password"depends_on:- zookeeperclickhouse03:image: clickhouse/clickhouse-server:22.5.4container_name: clickhouse03restart: alwaysports:- "8125:8123"   # HTTP 接口- "9002:9000"   # TCP 接口- "9011:9009"   # Internode 通信接口volumes:- ./data/clickhouse03:/var/lib/clickhouse- ./config/clickhouse03:/etc/clickhouse-serverenvironment:CLICKHOUSE_DB: defaultCLICKHOUSE_PASSWORD: "your_secure_password"depends_on:- zookeeper

关键点说明:

  • Zookeeper:Zookeeper 用于协调 ClickHouse 集群中的分布式事务。
  • ClickHouse 节点:我们设置了三个 ClickHouse 节点(clickhouse01clickhouse02clickhouse03),它们通过不同的端口进行通信。
  • 密码:为了安全性,密码使用占位符 "your_secure_password",请确保使用强密码替换。

第二步:编写 ClickHouse 配置文件

接下来,创建每个 ClickHouse 节点的配置文件。以 config/clickhouse01/config.xml 为例,其他节点的配置类似。我们将替换原始文件中的敏感信息。

clickhouse_cluster/config/clickhouse01 目录下创建 config.xml 文件:

<yandex><profiles><default><max_memory_usage>10000000000</max_memory_usage><readonly>0</readonly></default></profiles><path>/var/lib/clickhouse/</path><tmp_path>/var/lib/clickhouse/tmp/</tmp_path><user_files_path>/var/lib/clickhouse/user_files/</user_files_path> <http_port>8123</http_port> <logger><log>/var/log/clickhouse-server/clickhouse.log</log><errorlog>/var/log/clickhouse-server/clickhouse_error.log</errorlog></logger><format_schema_path>/var/lib/clickhouse/format_schemas/</format_schema_path><default_profile>default</default_profile><users_config>users.xml</users_config><mark_cache_size>5368709120</mark_cache_size><zookeeper><node><host>zookeeper</host><port>2181</port></node></zookeeper><tcp_port>9000</tcp_port><remote_servers><my_clickhouse_cluster><shard><replica><host>clickhouse01</host><port>9000</port></replica><replica><host>clickhouse02</host><port>9000</port></replica></shard><shard><replica><host>clickhouse03</host><port>9000</port></replica></shard></my_clickhouse_cluster></remote_servers><listen_host>::</listen_host><listen_host>0.0.0.0</listen_host>
</yandex>

关键配置说明:

  • ZooKeeper:配置了 ClickHouse 连接 Zookeeper,使用 zookeeper:2181 地址。
  • 集群配置remote_servers 配置了集群中的三个节点,分别对应 clickhouse01clickhouse02clickhouse03

第三步:编写 users.xml 文件

config/clickhouse01/ 目录下创建 users.xml 文件,用于定义用户及其权限。为了安全起见,密码将以占位符形式存在。

<?xml version="1.0"?>
<yandex><profiles><default><max_memory_usage>10000000000</max_memory_usage><use_uncompressed_cache>0</use_uncompressed_cache><load_balancing>random</load_balancing></default></profiles><users><default><password>your_secure_password</password><!-- Password could be specified in plaintext or in SHA256 (in hex format).If you want to specify password in plaintext (not recommended), place it in 'password' element.Example: <password>qwerty</password>.Password could be empty.If you want to specify SHA256, place it in 'password_sha256_hex' element.Example: <password_sha256_hex>65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5</password_sha256_hex>How to generate decent password:Execute: PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'In first line will be password and in second - corresponding SHA256.也可以使用加密的密码,用上面的shell命令就可以生成--><!-- <password_double_sha1_hex></password_double_sha1_hex> --><networks incl="networks" replace="replace"><ip>::1</ip><ip>127.0.0.1</ip></networks><profile>default</profile><quota>default</quota></default><readonly_user><password>your_readonly_password</password><networks incl="networks" replace="replace"><ip>::/0</ip></networks><profile>readonly</profile><quota>default</quota></readonly_user></users>
</yandex>

用户权限说明:

  • default 用户具有默认的读写权限。
  • readonly_user 用户具有只读权限,并且可以从任意 IP 访问。

第四步:启动 ClickHouse 集群

clickhouse_cluster 目录下,运行以下命令来启动整个集群:

docker-compose up -d

docker-compose up -d 将启动所有服务,包括 ZooKeeper 和三个 ClickHouse 节点。

第五步:验证集群部署

  1. 1.运行以下命令查看容器状态:

    docker-compose ps
    

    确保所有容器都处于 “Up” 状态。

  2. 2.通过 HTTP 接口访问任意 ClickHouse 节点,查看是否可以成功连接:

    curl http://localhost:8123
    

    返回类似于 Ok. 的响应即表示成功。

  3. 3.从单节点查询集群状态

    docker exec -it clickhouse01 bash 
    clickhouse-clientselect * from system.clusters;
    select * from system.zookeeper where path='/clickhouse';
    

在这里插入图片描述

六:文件夹结构

在这里插入图片描述

在这里插入图片描述

参考链接:
https://www.cnblogs.com/yoyo1216/p/13731225.html
https://www.cnblogs.com/syw20170419/p/16250500.html
https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com