草庐IT

clickhouse 集群搭建

The_OneRS 2023-10-13 原文

目录

一、 首先要安装单节点集群

二、安装zookeeper并搭建集群

1. 配置host

2. 安装zookeeper

3. 配置zookeeper

三、clickhouse 集群配置

1.配置metrika.xml文件

2. 修改clickhouse的配置文件


一、 首先要安装单节点集群

在这里就不太赘述。官网下载安装包,然后放到一个文件夹中,执行以下命令即可:

rpm -ivh ./*.rpm

安装途中会让你为默认用户指定密码,输入密码或者直接回车键不设置密码。

安装完成后可以直接

clickhouse start

来启动

二、安装zookeeper并搭建集群

1. 配置host

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.10.11 ck-01
192.168.10.12 ck-02
192.168.10.13 ck-03

 修改本机hostname,

vim /etc/sysconfig/network

HOSTNAME=ck-01
hostnamectl set-hostname ck-01

2. 安装zookeeper

tar -xzvf apache-zookeeper-3.5.9-bin.tar.gz -C /opt/

解压路径可以自己指定。

3. 配置zookeeper

进入zookeeper的conf目录下, 将其中的zoo_sample.cfg 文件改名或者复制一份命名为zoo.cfg

并对 zoo.cfg进行配置

cd /opt/apache-zookeeper-3.5.9-bin/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

配置文件修改为如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/data/zookeeper/
dataLogDir=/data/log/zookeeper/
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=ck-01:2888:3888
server.2=ck-02:2888:3888
server.3=ck-03:2888:3888

其中dataDir是数据存储路径,dataLogDir是日志路径,这个自己指定即可

在设定的dataDir的目录下,创建myid文件并写入1,其他机器分别写入2,3

cd /data/zookeeper/
vim myid
echo 1 > myid

然后进入bin目录下执行启动脚本启动zookeeper

cd /opt/apache-zookeeper-3.5.9-bin/bin/
# 启动
./zkServer.sh start
# 查看状态
./zkServer.sh status

出现下面这种则表示成功启动成功

\

可以将zookeper的启动加入到环境变量中,避免每次都要进入bin目录才能启动,

vim /etc/profile

export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.5.9-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin

三、clickhouse 集群配置

1.配置metrika.xml文件

首先在/etc 下创建metrika.xml文件,并输入


<!--集群分片副本相关配置 1分片3副本 -->
<yandex>
  <clickhouse_remote_servers>
   <!--集群名称 -->
    <clickhouse_1shards_3replicas>

      <!-- 第1个分片 -->
      <shard>
        <!-- 是否写入多副本 -->
         <!-- <internal_replication>false</internal_replication>  -->
          <!-- 1分片的1副本 -->
          <replica>
            <host>ck-01</host>
            <port>9000</port>
          </replica>
          <!-- 1分片的2副本 -->
          <replica>
            <host>ck-02</host>
            <port>9000</port>
          </replica>
          <!-- 1分片的3副本 -->
          <replica>
            <host>ck-03</host>
            <port>9000</port>
          </replica>
      </shard>
    </clickhouse_1shards_3replicas>
  </clickhouse_remote_servers>


  <!--zookeeper相关配置-->

  <zookeeper-servers>
    <node index="1">
      <host>ck-01</host>
      <port>2181</port>
    </node>
    <node index="2">
      <host>ck-02</host>
      <port>2181</port>
    </node>
    <node index="3">
      <host>ck-03</host>
      <port>2181</port>
    </node>
  </zookeeper-servers>

    <!--压缩策略-->

    <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>

  <!-- 本机绑定地址 -->

  <networks>
    <ip>::/0</ip>
  </networks>


  <macros>
    <shard_name>01</shard_name>
    <replica_name>ck-01</replica_name>
  </macros>


</yandex>

<macros>标签下的要根据所配置的机器进行配置,其他两台应该

  <macros>
    <shard_name>02</shard_name>
    <replica_name>ck-02</replica_name>
  </macros>

  <macros>
    <shard_name>03</shard_name>
    <replica_name>ck-03</replica_name>
  </macros>

需要注意的是,这个配置文件需要赋予clickhouse权限

chown -R clickhouse:clickhouse /etc/metrika.xml

2. 修改clickhouse的配置文件

clickhouse的默认配置文件为/etc/clickhouse-server/config.xml

vim /etc/clickhouse-server/config.xml
<!--对外开放-->
<listen_host>::</listen_host>

<!--修改数据路径-->

<path>/data/clickhouse/</path>

<!-- Configuration of clusters that could be used in Distributed tables.
         https://clickhouse.tech/docs/en/operations/table_engines/distributed/
-->
    
<zookeeper incl="zookeeper-servers" optional="true" />
    <include_from>/etc/metrika.xml</include_from>
    <macros incl="macros" optional="true" />

<remote_servers incl="clickhouse_remote_servers">

一共需要修改三项,分别是:

1)<listen_hosts> 这个是为了能让外部机器访问

2)<path> 这个是配置数据存储路径,也可以不修改,但是如果修改了路径,则一定要将这个路径的权限改为clickhouse,不然无法启动clickhosue

3)添加上面的配置,使得集群配置生效,如果不配置,则无法启动集群

完成配置后,重新启动clickhouse

clickhouse restart

然后随便一台机器执行

clickhouse-client

然后执行以下语句

select * from system.clusters;

则能看到所配置的集群,集群名称应该为:clickhouse_1shards_3replicas 这个根据自己配置的集群名称不同有所不同

有关clickhouse 集群搭建的更多相关文章

  1. 【详解】Docker安装Elasticsearch7.16.1集群 - 2

    开门见山|拉取镜像dockerpullelasticsearch:7.16.1|配置存放的目录#存放配置文件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/config#存放数据的文件夹mkdir-p/opt/docker/elasticsearch/node-1/data#存放运行日志的文件夹mkdir-p/opt/docker/elasticsearch/node-1/log#存放IK分词插件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/plugins若你使用了moba,直接右键新建即可如上图所示依次类推创建

  2. 关于ES集群信息的一些查看 - 2

    文章目录查看ES信息查看节点信息查看分片信息实际场景下ES分片及副本数量应该怎么分关于ES的灵活使用查看ES信息查看版本kibana:GET/查看节点信息GET/_cat/nodes?v解释:ip:集群中节点的ip地址;heap.percent:堆内存的占用百分比;ram.percent:总内存的占用百分比,其实这个不是很准确,因为buff/cache和available也被当作使用内存;cpu:cpu占用百分比;load_1m:1分钟内cpu负载;load_5m:5分钟内cpu负载;load_15m:15分钟内cpu负载;node.role:上图的dilmrt代表全部权限master:*代表

  3. linux查看es节点使用情况,elasticsearch(es) 如何查看当前集群中哪个节点是主节点(master) - 2

    elasticsearch查看当前集群中的master节点是哪个需要使用_cat监控命令,具体如下。查看方法es主节点确定命令,以kibana上查看示例如下:GET_cat/nodesv返回结果示例如下:ipheap.percentram.percentcpuload_1mload_5mload_15mnode.rolemastername172.16.16.188529952.591.701.45mdi-elastic3172.16.16.187329950.990.991.19mdi-elastic2172.16.16.231699940.871.001.03mdi-elastic4172

  4. LinuxGUI自动化测试框架搭建(二十二)-框架主入口main.py设计&log日志调用 - 2

    (二十二)-框架主入口main.py设计&log日志调用和生成1测试目的2测试需求3需求分析4详细设计4.1新建存放日志目录log4.1.1配置config.py中写入log的目录4.2`baseInfo.py`中加入日志4.3`test_gedit.py`中加入日志4.4主函数入口main.py中调用日志5调用日志主函数main.py源码6`baseInfo.py`源码7`test_gedit.py`源码8运行效果9目前框架结构1测试目的组织运行所有的测试用例,并调用日志模块,便于问题定位。

  5. 基于ActiveMQ搭建MQTT服务备忘(二):webapp集成 - 2

    (1)为什么写这个话题(Why)读万卷书不如行千里路。这次搭建MQTT服务,遇到了一些误解,特此记录备忘。主要包括:(1)服务(Broker)的账户管理与网页管理平台的账户(2)与web应用的集成(Spring系)(2)ActiveMQ版本选择因为JAVA环境是JDK8,所以按兼容性考虑选择了ActiveMQ5.15的最后版本5.15.15。如果你是JDK11则可考虑ActiveMQ的最新版本5.17或5.18。ActiveMQ支持MQTTv3.1.1andv3.1。(3)ActiveMQ与web应用的集成主要介绍与Spring系的webapp集成(SpringBoot和SpringMVC)。

  6. kubernetes集群划分节点 - 2

    Kubernetes(K8s)是一个用于管理容器化应用程序的开源平台,可以帮助开发人员更轻松地部署、管理和扩展应用程序。在Kubernetes中,集群划分是一种重要的概念,可以帮助我们更好地组织和管理集群中的节点和资源。本文将介绍如何使用Kubernetes对集群进行划分,并提供详细的操作示例,希望能够帮助读者更好地了解和使用Kubernetes平台。Node划分Node划分是将集群中的节点按照一定的规则进行划分。在Kubernetes中,可以使用NodeSelector和Affinity机制来实现Node划分。NodeSelectorNodeSelector是一种将Pod调度到符合特定节点标

  7. 【微服务笔记23】使用Spring Cloud微服务组件从0到1搭建一个微服务工程 - 2

    这篇文章,主要介绍如何使用SpringCloud微服务组件从0到1搭建一个微服务工程。目录一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件(2)微服务依赖1.2、搭建注册中心(1)引入依赖(2)配置文件(3)启动类1.3、搭建配置中心(1)引入依赖(2)配置文件(3)启动类1.4、搭建API网关(1)引入依赖(2)配置文件(3)启动类1.5、搭建服务提供者(1)引入依赖(2)配置文件(3)启动类1.6、搭建服务消费者(1)引入依赖(2)配置文件(3)启动类1.7、运行测试一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件这里主要是使用的SpringCloudNetflix

  8. ruby-on-rails - 搭建Ruby开发环境 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我目前正在尝试搭建一个学习Ruby的开发环境。环境主要是为了掌握这门语言,但我很可能会在很长一段时间后转向使用Rails进行开发。以Web开发为目标,我想了解首选的Web服务器和数据库。我打算在虚拟机上设置环境,所以我不担心把它弄坏。因此,我愿意使用Linux发行版、OSX或Windows作为操作系统。我正从C#转向,所以我想在一定程度上被迫采用Ruby的

  9. geth下载安装配置环境及联盟链的搭建 - 2

    以太坊概论考察课更具课堂教学讲解,参考开放资料。使用所学的知识,创建项目并完成要求的内容。包含的功能和要求具体如下:一:安装并运行geth客户端1、下载安装geth首先下载geth:https://geth.ethereum.org/downloads/​选择路径↓2、配置环境变量3、运行geth如下命令所示:查看geth命令。使用gethversion查看geth版本号,判断geth是否成功安装。如下命令所示:`gethversion`可以通过geth--help查看geth工具所支持的命令和相关参数,方便后期关于geth的操作。如下命令所示:geth--help运行结果如下:二:搭建get

  10. 五-1、elasticsearch集群搭建(ES集群搭建) - 2

    目录一、下载Elasticsearch1.选择你要下载的Elasticsearch版本二、采用通用搭建集群的方法三、配置三台es1.上传压缩包到任意一台虚拟机中2.解压并修改配置文件(配置单台es)3.配置三台es集群4.设置后台启动和开机自启(可选)一、下载Elasticsearch1.选择你要下载的Elasticsearch版本es下载地址这里我下载的是二、采用通用搭建集群的方法集群搭建方法三、配置三台es1.上传压缩包到任意一台虚拟机中上传方式有两种第一种:使用xftp上传直接拖动过去就可以了。第二种:使用lrzsz先安装yum-yinstalllrzsz切换到要上传的位置cd/opt/

随机推荐