用户众妙之门 發表於 2023-6-19 18:50:00

银行麒麟系统离线部署clickhouse三节点集群

<p><span style="font-size: 16px">在国产化环境下部署clickhouse集群,个人建议先查看cpu的内核信息,可能有的人会说,</span></p>
<p><span style="font-size: 16px">去银河麒麟的官网查看适配的版本信息,实践证明,官网的未必就是真的正确</span></p>
<p><span style="font-size: 16px">好比银河麒麟的官网是这样介绍的</span></p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619170031036-77746810.png" alt="" loading="lazy"></p>
<p><span style="font-size: 18px">我在安装的过程中,就会报不支持的二进制文件的错误,所以这里不建议安装官网推荐的版本,毕竟是在国产化的环境下,目前国产化的兼容性还是做得不好 。</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 14pt"><strong>下面我们正式开始介绍在国产化环境中应该如何部署clickhouse三节点集群。</strong></span></p>
<p><span style="font-size: 18px">1、查看cpu的内核信息&nbsp;</span></p>
<div class="cnblogs_code">
<pre>cat /proc/cpuinfo</pre>
</div>
<p>&nbsp;</p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619170533577-819978415.png" alt="" loading="lazy"></p>
<p><span style="font-size: 14pt">&nbsp;可以看出,cpu是基于arm的,所以我们下载cllckhouse安装包的时候也要基于arm内核的</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">2、clickhouse安装包下载,下载地址可以参考这里:https://packages.clickhouse.com/tgz/stable/</span></p>
<p><span style="font-size: 18px">这里是我本地下载的安装包</span></p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619171053877-1771025748.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p><span style="font-size: 16px">3、修改linux文件限制(三台服务器都需要修改)</span></p>
<div class="cnblogs_code">
<pre><span style="font-size: 15px">vim /etc/security/<span style="color: rgba(0, 0, 0, 1)">limits.conf

</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加以下内容</span>
* soft nofile <span style="color: rgba(128, 0, 128, 1)">65536</span>
* hard nofile <span style="color: rgba(128, 0, 128, 1)">65536</span>
* soft nproc <span style="color: rgba(128, 0, 128, 1)">131072</span>
* hard nproc <span style="color: rgba(128, 0, 128, 1)">131072</span></span></pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">4、关闭防火墙(三台服务器都需要关闭防火墙)</span></p>
<div class="cnblogs_code">
<pre><span style="font-size: 14px">systemctl status firewalld.service<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">查看防火墙状态</span>
systemctl stop firewalld.service<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">关闭防火墙</span>
systemctl disable firewalld.service<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">永久关闭防火墙</span></span></pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">5、配置免密通讯</span></p>
<p><span style="font-size: 16px">每台服务器都进行以下操作:</span></p>
<div class="cnblogs_code">
<pre>vim /etc/<span style="color: rgba(0, 0, 0, 1)">hosts

</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加以下内容</span>
<span style="color: rgba(128, 0, 128, 1)">176.28</span>.<span style="color: rgba(128, 0, 128, 1)">40.25</span><span style="color: rgba(0, 0, 0, 1)"> bigdata.exchange01
</span><span style="color: rgba(128, 0, 128, 1)">176.28</span>.<span style="color: rgba(128, 0, 128, 1)">40.26</span><span style="color: rgba(0, 0, 0, 1)"> bigdata.exchange02
</span><span style="color: rgba(128, 0, 128, 1)">176.28</span>.<span style="color: rgba(128, 0, 128, 1)">40.27</span> bigdata.exchange03</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 16px">每台服务器都进行以下操作:</span></p>
<div class="cnblogs_code">
<pre>ssh-<span style="color: rgba(0, 0, 0, 1)">keygen
cd .ssh
cat id_rsa.pub </span>&gt;&gt;<span style="color: rgba(0, 0, 0, 1)"> authorized_keys
chmod </span><span style="color: rgba(128, 0, 128, 1)">700</span> ~/<span style="color: rgba(0, 0, 0, 1)">.ssh
chmod </span><span style="color: rgba(128, 0, 128, 1)">600</span> ~/.ssh/authorized_keys</pre>
</div>
<p>&nbsp;</p>
<p><span style="font-size: 18px">以其中一台服务器为例</span></p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619172123568-2143569541.png" alt="" loading="lazy"></p>
<p><span style="font-size: 18px">&nbsp;这个时候每台服务器就会生成自己的公钥,如果需要能相互之间免密访问,就需要活得别人的公钥,我这里用简单粗暴的方法,就是把别的机器的公钥内容都复制到所在服务器的</span></p>
<pre><span style="font-size: 15px"> authorized_keys 文件里面<br>好比这样,每台服务器里面的 </span><span style="font-size: 18px">authorized_keys</span> <span style="font-size: 18px">文件里面都存放着另外两台机器的公钥,第一台服务器就把第二第三台的公钥复制过来,第二台服务器就把第一第三台台服务器的公钥<br>复制过来,同样的道理,第三台就把第一第二的公钥复制过来,</span><span style="font-size: 16px">authorized_keys 文件所在目录/root/.ssh</span></pre>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619172629272-200093505.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">6、安装zookeeper,安装包可以到官网下载,这里我就不做赘述了</span></p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619173142240-284441361.png" alt="" loading="lazy"></p>
<p>&nbsp;<span style="font-size: 16px">上传安装包,并解压安装包(三台服务器都这样操作)</span></p>
<div class="cnblogs_code">
<pre>tar -zxf zookeeper-<span style="color: rgba(128, 0, 128, 1)">3.4</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>.tar.gz</pre>
</div>
<p>在zookeeper的conf目录,拷贝zoo_sample.cfg为zoo.cfg</p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619174330918-1610879681.png" alt="" loading="lazy"></p>
<p>&nbsp;修改配置文件</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">vim zoo.cfg<br>
tickTime</span>=<span style="color: rgba(128, 0, 128, 1)">10000</span><span style="color: rgba(0, 0, 0, 1)">
initLimit</span>=<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">
syncLimit</span>=<span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">
dataDir</span>=/opt/softwares/zookeeper/<span style="color: rgba(0, 0, 0, 1)">data
dataLogDir</span>=/opt/softwares/zookeeper/<span style="color: rgba(0, 0, 0, 1)">logs
autopurge.purgeInterval</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
globalOutstandingLimit</span>=<span style="color: rgba(128, 0, 128, 1)">200</span><span style="color: rgba(0, 0, 0, 1)">
clientPort</span>=<span style="color: rgba(128, 0, 128, 1)">2181</span><span style="color: rgba(0, 0, 0, 1)">
server.</span><span style="color: rgba(128, 0, 128, 1)">1</span>=<span style="color: rgba(128, 0, 128, 1)">176.28</span>.<span style="color: rgba(128, 0, 128, 1)">40.25</span>:<span style="color: rgba(128, 0, 128, 1)">2888</span>:<span style="color: rgba(128, 0, 128, 1)">3888</span><span style="color: rgba(0, 0, 0, 1)">
server.</span><span style="color: rgba(128, 0, 128, 1)">2</span>=<span style="color: rgba(128, 0, 128, 1)">176.28</span>.<span style="color: rgba(128, 0, 128, 1)">40.26</span>:<span style="color: rgba(128, 0, 128, 1)">2888</span>:<span style="color: rgba(128, 0, 128, 1)">3888</span><span style="color: rgba(0, 0, 0, 1)">
server.</span><span style="color: rgba(128, 0, 128, 1)">3</span>=<span style="color: rgba(128, 0, 128, 1)">176.28</span>.<span style="color: rgba(128, 0, 128, 1)">40.27</span>:<span style="color: rgba(128, 0, 128, 1)">2888</span>:<span style="color: rgba(128, 0, 128, 1)">3888</span></pre>
</div>
<p>接下来在每台服务器的dataDir=/opt/softwares/zookeeper/data&nbsp;目录下创建文件myid,分别在相应的myid文件里面写入 1 、2、3</p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619175045237-1033644611.png" alt="" loading="lazy"></p>
<p>&nbsp;另外两台服务器就是2&nbsp; 和&nbsp; 3</p>
<h4><span style="font-size: 16px">启动zookeeper,启动脚本如下(三台服务器都进去启动)</span></h4>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619175228806-741494385.png" alt="" loading="lazy"></p>
<div class="cnblogs_code">
<pre>启动:./<span style="color: rgba(0, 0, 0, 1)">zkServer.sh start
查看状态: .</span>/zkServer.sh status</pre>
</div>
<p>&nbsp;</p>
<p><span style="font-size: 18px">7、安装clickhouse(三台服务器都进行操作)</span></p>
<p><span style="font-size: 16px">把安装包上传到三台服务器,并解压</span></p>
<div class="cnblogs_code">
<pre>tar -zxf 压缩包名称</pre>
</div>
<p>&nbsp;</p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619180117503-539344067.png" alt="" loading="lazy"></p>
<p><span style="font-size: 16px">&nbsp;按照以下顺序进行安装(三台服务器都进行这样的安装)</span></p>
<div class="cnblogs_code">
<p><span style="font-size: 16px">tar -xzvf clickhouse-common-static-22.3.10.22.tgz (ClickHouse编译的二进制文件。)</span><br><span style="font-size: 16px">clickhouse-common-static-22.3.10.22/install/doinst.sh          </span><br><span style="font-size: 16px">tar -xzvf clickhouse-common-static-dbg-22.3.10.22.tgz   (创建clickhouse-server软连接,并安装默认配置服务)</span><br><span style="font-size: 16px">clickhouse-common-static-dbg-22.3.10.22/install/doinst.sh</span><br><span style="font-size: 16px">tar -xzvf clickhouse-server-22.3.10.22.tgz (创建clickhouse-client客户端工具软连接,并安装客户端配置文件。)</span><br><span style="font-size: 16px">clickhouse-server-22.3.10.22/install/doinst.sh</span><br><span style="font-size: 16px">tar -xzvf clickhouse-client-22.3.10.22.tgz(带有调试信息的ClickHouse二进制文件。)</span><br><span style="font-size: 16px">clickhouse-client-22.3.10.22/install/doinst.sh</span></p>







</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 16px">这里需要注意一点,在进行clickhouse-server-22.3.10.22/install/doinst.sh安装的时候,会提示设置好default用户的密码,这里设置的时候要记好了,只有一次输入的机会,我这里设置的密码是clickhouse</span></p>
<p><span style="font-size: 16px">安装日志如下:</span></p>
<div class="cnblogs_code">
<pre>ClickHouse binary <span style="color: rgba(0, 0, 255, 1)">is</span> already located at /usr/bin/<span style="color: rgba(0, 0, 0, 1)">clickhouse
Symlink </span>/usr/bin/clickhouse-extract-<span style="color: rgba(0, 0, 255, 1)">from</span>-config already exists but it points to /opt/softwares/clickhouse/clickhouse-server-<span style="color: rgba(128, 0, 128, 1)">22.3</span>.<span style="color: rgba(128, 0, 128, 1)">10.22</span>/install/clickhouse. Will replace the old symlink to /usr/bin/<span style="color: rgba(0, 0, 0, 1)">clickhouse.
Creating symlink </span>/usr/bin/clickhouse-extract-<span style="color: rgba(0, 0, 255, 1)">from</span>-config to /usr/bin/<span style="color: rgba(0, 0, 0, 1)">clickhouse.
Creating clickhouse group </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> it does not exist.
groupadd </span>-<span style="color: rgba(0, 0, 0, 1)">r clickhouse
groupadd:“clickhouse”组已存在
Creating clickhouse user </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> it does not exist.
useradd </span>-r --shell /bin/<span style="color: rgba(0, 0, 255, 1)">false</span> --home-dir /nonexistent -<span style="color: rgba(0, 0, 0, 1)">g clickhouse clickhouse
useradd:用户“clickhouse”已存在
Will </span><span style="color: rgba(0, 0, 255, 1)">set</span> ulimits <span style="color: rgba(0, 0, 255, 1)">for</span> clickhouse user <span style="color: rgba(0, 0, 255, 1)">in</span> /etc/security/limits.d/<span style="color: rgba(0, 0, 0, 1)">clickhouse.conf.
Config file </span>/etc/clickhouse-server/config.xml already exists, will keep it and extract path info <span style="color: rgba(0, 0, 255, 1)">from</span><span style="color: rgba(0, 0, 0, 1)"> it.
</span>/etc/clickhouse-server/config.xml has /<span style="color: rgba(0, 0, 255, 1)">var</span>/lib/clickhouse <span style="color: rgba(0, 0, 255, 1)">as</span><span style="color: rgba(0, 0, 0, 1)"> data path.
</span>/etc/clickhouse-server/config.xml has /<span style="color: rgba(0, 0, 255, 1)">var</span>/log/clickhouse-server/ <span style="color: rgba(0, 0, 255, 1)">as</span><span style="color: rgba(0, 0, 0, 1)"> log path.
Users config file </span>/etc/clickhouse-server/users.xml already exists, will keep it and extract users info <span style="color: rgba(0, 0, 255, 1)">from</span><span style="color: rgba(0, 0, 0, 1)"> it.
Log directory </span>/<span style="color: rgba(0, 0, 255, 1)">var</span>/log/clickhouse-server/<span style="color: rgba(0, 0, 0, 1)"> already exists.
Data directory </span>/<span style="color: rgba(0, 0, 255, 1)">var</span>/lib/<span style="color: rgba(0, 0, 0, 1)">clickhouse already exists.
Pid directory </span>/<span style="color: rgba(0, 0, 255, 1)">var</span>/run/clickhouse-<span style="color: rgba(0, 0, 0, 1)">server already exists.
chown </span>-R clickhouse:clickhouse <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/var/log/clickhouse-server/</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
chown </span>-R clickhouse:clickhouse <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/var/run/clickhouse-server</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
chownclickhouse:clickhouse </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/var/lib/clickhouse</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
groupadd </span>-r clickhouse-<span style="color: rgba(0, 0, 0, 1)">bridge
groupadd:“clickhouse</span>-<span style="color: rgba(0, 0, 0, 1)">bridge”组已存在
useradd </span>-r --shell /bin/<span style="color: rgba(0, 0, 255, 1)">false</span> --home-dir /nonexistent -g clickhouse-bridge clickhouse-<span style="color: rgba(0, 0, 0, 1)">bridge
useradd:用户“clickhouse</span>-<span style="color: rgba(0, 0, 0, 1)">bridge”已存在
chown </span>-R clickhouse-bridge:clickhouse-bridge <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/usr/bin/clickhouse-odbc-bridge</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
chown </span>-R clickhouse-bridge:clickhouse-bridge <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/usr/bin/clickhouse-library-bridge</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
Password </span><span style="color: rgba(0, 0, 255, 1)">for</span> <span style="color: rgba(0, 0, 255, 1)">default</span> user <span style="color: rgba(0, 0, 255, 1)">is</span> already specified. To remind or reset, see /etc/clickhouse-server/users.xml and /etc/clickhouse-server/<span style="color: rgba(0, 0, 0, 1)">users.d.
Setting capabilities </span><span style="color: rgba(0, 0, 255, 1)">for</span> clickhouse binary. This <span style="color: rgba(0, 0, 255, 1)">is</span><span style="color: rgba(0, 0, 0, 1)"> optional.
Cannot </span><span style="color: rgba(0, 0, 255, 1)">set</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">net_admin</span><span style="color: rgba(128, 0, 0, 1)">'</span> or <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ipc_lock</span><span style="color: rgba(128, 0, 0, 1)">'</span> or <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sys_nice</span><span style="color: rgba(128, 0, 0, 1)">'</span> capability <span style="color: rgba(0, 0, 255, 1)">for</span> clickhouse binary. This <span style="color: rgba(0, 0, 255, 1)">is</span><span style="color: rgba(0, 0, 0, 1)"> optional. Taskstats accounting will be disabled. To enable taskstats accounting you may add the required capability later manually.
Allow server to accept connections </span><span style="color: rgba(0, 0, 255, 1)">from</span> the network (<span style="color: rgba(0, 0, 255, 1)">default</span> <span style="color: rgba(0, 0, 255, 1)">is</span> localhost only), : y
The choice </span><span style="color: rgba(0, 0, 255, 1)">is</span> saved <span style="color: rgba(0, 0, 255, 1)">in</span> file /etc/clickhouse-server/config.d/<span style="color: rgba(0, 0, 0, 1)">listen.xml.
chown </span>-R clickhouse:clickhouse <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/etc/clickhouse-server</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">

ClickHouse has been successfully installed.

Start clickhouse</span>-<span style="color: rgba(0, 0, 0, 1)">server with:
sudo clickhouse start

Start clickhouse</span>-<span style="color: rgba(0, 0, 0, 1)">client with:
clickhouse</span>-client --password</pre>
</div>
<p>&nbsp;</p>
<p><span style="font-size: 16px">如果说大家在安装的时候真的不小心乱按,忘记密码了,我这里教大家一招,到这个目录下把user.xml文件删除掉,再重新安装一次clickhouse-server,这样就重新输入一个新的密码了</span></p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619181448326-1207550278.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<h4>配置metrika.xml文件</h4>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619181539738-1839894578.png" alt="" loading="lazy"></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">root@bigdata clickhouse-server]# cat metrika.xml
</span><span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">yandex</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">clickhouse_remote_servers</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">gmall_cluster</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span> <span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)"> 集群名称</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span><span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">集群的第一个分片</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">internal_replication</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>true<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">internal_replication</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
               <span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">该分片的第一个副本</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>   
                  <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.25<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
                  <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>9000<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span><span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">集群的第二个分片</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">internal_replication</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>true<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">internal_replication</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>    <span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">该分片的第一个副本</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
                  <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.26<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
                     <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>9000<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span><span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">集群的第三个分片</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">internal_replication</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>true<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">internal_replication</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>   <span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">该分片的第一个副本</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
                  <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.27<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
                  <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>9000<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
               <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">gmall_cluster</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">clickhouse_remote_servers</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">zookeeper</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
       <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
          <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>bigdata.exchange01.yandex.ru<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
          <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>2181<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
       <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
       <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
          <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>bigdata.exchange02.yandex.ru<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
          <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>2181<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
          <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>bigdata.exchange03.yandex.ru<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
          <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>2181<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">zookeeper</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">macros</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>01<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>   <span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">不同机器放的分片数不一样</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.25<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span><span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">不同机器放的副本数不一样</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">macros</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">yandex</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p><span style="font-size: 18px">同样的方式把&nbsp;metrika.xml文件同步到另外两台服务器,同时把该标签改成自己的ip地址</span></p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619181841510-434608145.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p><span style="font-size: 16px">修改config.xml文件</span></p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619182142461-1765149034.png" alt="" loading="lazy"></p>
<div class="cnblogs_code">
<pre>    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">listen_host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>::<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">listen_host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">include_from</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>/etc/clickhouse-server/metrika.xml<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">include_from</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

   <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">zookeeper</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.25<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>2181<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.26<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>2181<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.27<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>2181<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">node</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">zookeeper</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">remote_servers</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">集群名称可以自定义修改,我这里定义集群名称为tj_dev </span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">tj_dev</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>      
       <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
   <span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">副本</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
                <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.25<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
                <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>9000<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
                <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">user</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>default<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">user</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
                <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">password</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>clickhosue<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">password</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.26<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>9000<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">user</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>default<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">user</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">password</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>clickhosue<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">password</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.27<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">host</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>9000<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">port</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">user</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>default<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">user</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">password</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>clickhosue<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">password</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">tj_dev</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">remote_servers</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

<span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">这里修改成自己的ip,编号也要变成23 </span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">macros</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>01<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">shard</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>176.28.40.25<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">replica</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">macros</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>
<p><span style="font-size: 16px">修改完后,把该配置文件同步到另外两台服务器,可以用scp命令进行同步,&nbsp;此时配置基本完成。</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 14pt">8、启动clickhouse集群</span></p>
<p><span style="font-size: 16px">在每台服务器上面执行启动命令</span></p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre> sudo clickhouse start</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>通过以下命令查看clickhouse运行状态</p>
<div class="cnblogs_code">
<pre> sudo clickhouse status</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">登录clichouse,我们这里通过default用户进行登录</span></p>
<div class="cnblogs_code">
<pre>clickhouse-client-u default --password clickhouse</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">这里需要对clickhouse进行说明一下,如果需要在三台服务器都有表和库,我们就需要在创建数据库和数据表的时候指定集群</span></p>
<p>在集群创建数据库的命令</p>
<div class="cnblogs_code">
<pre>CREATE DATABASE IF NOT EXISTS gfyy on clustertj_dev;</pre>
</div>
<p>&nbsp;</p>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619184535698-728198523.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>在该数据库下面创建表命令:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">use</span><span style="color: rgba(0, 0, 0, 1)"> gfyy;

</span><span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(0, 0, 255, 1)">TABLE</span> <span style="color: rgba(0, 0, 255, 1)">IF</span> <span style="color: rgba(128, 128, 128, 1)">NOT</span> <span style="color: rgba(128, 128, 128, 1)">EXISTS</span> exp_person_info <span style="color: rgba(0, 0, 255, 1)">on</span><span style="color: rgba(0, 0, 0, 1)"> clustertj_dev
(
   PERSON_NO Int32,
   PERSON_NM String,
   ID_NUMBER String,
   SEX String,
   BIRTH_DATE Date,
   DRIVER_LCS_NUMBER String,
   PASSPORT_NO String,
   HVPS_NO String,
   VEHICLE_NO String,
   PERMIT_NO String,
   TEL_CO String,
   ORIGIN String,
   HOME_ADDRESS String,
   ETPS_SCCD String,
   RECORD_TIME Date,
   RECORD_EXP_TIME Date,
   RFID_NO String,
   MASTER_CUSCD String,
   AREA_CODE String,
   DCL_TYPECD String
)ENGINE </span><span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> MergeTree()
</span><span style="color: rgba(0, 0, 255, 1)">ORDER</span> <span style="color: rgba(0, 0, 255, 1)">BY</span><span style="color: rgba(0, 0, 0, 1)"> PERSON_NO
PARTITION </span><span style="color: rgba(0, 0, 255, 1)">BY</span><span style="color: rgba(0, 0, 0, 1)"> PERSON_NO
</span><span style="color: rgba(0, 0, 255, 1)">PRIMARY</span> <span style="color: rgba(0, 0, 255, 1)">KEY</span> PERSON_NO;</pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/1023171/202306/1023171-20230619184736371-1420170133.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p><span style="font-size: 16px">可用如下命令查询集群信息,查看每个节点是否正常运行</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">select</span> <span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 0, 255, 1)">from</span> system.clusters</pre>
</div>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/braveym/p/17491726.html
頁: [1]
查看完整版本: 银行麒麟系统离线部署clickhouse三节点集群