搭建双节点clickhouse

尝试搭建双节点clickhouse,以做数据存储

环境准备

#创建clickhouse用户与用户组
sudo groupadd clickhouse
sudo useradd -m clickhouse -g clickhouse
#密码为clickhouse
sudo passwd clickhouse#赋予权限
chmod -R 777 /opt/comm_app#配置使用sudo命令的用户
vim /etc/sudoers
clickhouse    ALL=(ALL:ALL) ALL

下载&安装

#切换为clickhouse操作 
export LATEST_VERSION=22.3.20.29
#21.2.xx 之后的tgz包路径变成https://repo.clickhouse.com/tgz/stable下
#21.2.xx 之前的还在https://repo.clickhouse.com/tgz下
curl -O https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-$LATEST_VERSION-amd64.tgz
curl -O https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-dbg-$LATEST_VERSION-amd64.tgz
curl -O https://packages.clickhouse.com/tgz/stable/clickhouse-server-$LATEST_VERSION-amd64.tgz
curl -O https://packages.clickhouse.com/tgz/stable/clickhouse-client-$LATEST_VERSION-amd64.tgztar -xzvf clickhouse-common-static-$LATEST_VERSION-amd64.tgz
sudo clickhouse-common-static-$LATEST_VERSION/install/doinst.shtar -xzvf clickhouse-common-static-dbg-$LATEST_VERSION-amd64.tgz
sudo clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.shtar -xzvf clickhouse-server-$LATEST_VERSION-amd64.tgz
sudo clickhouse-server-$LATEST_VERSION/install/doinst.shtar -xzvf clickhouse-client-$LATEST_VERSION-amd64.tgz
sudo clickhouse-client-$LATEST_VERSION/install/doinst.sh

配置调整

1.配置开放外网访问vim /etc/clickhouse-server/config.d/listen.xml
<clickhouse><listen_host>0.0.0.0</listen_host>
</clickhouse>2.配置修改登录密码vim /etc/clickhouse-server/users.d/default-password.xml
<clickhouse><users><default><password>EqcT3KF4kQ?v</password></default></users>
</clickhouse>3.基础配置3.1 集群分配配置(host password port 需调整为正式配置值)在remote_servers标签下vim /etc/clickhouse-server/config.xml<transport_cluster><shard><!-- 权重:新增一条数据的时候有多大的概率落入该分片,默认值:1 --><weight>1</weight><internal_replication>true</internal_replication><replica><host>10.22.1.116</host><port>1200</port><user>default</user><password>clickhouse</password><compression>true</compression></replica></shard><shard><!-- 权重:新增一条数据的时候有多大的概率落入该分片,默认值:1 --><weight>1</weight><internal_replication>true</internal_replication><replica><host>10.22.1.117</host><port>1200</port><user>default</user><password>clickhouse</password><compression>true</compression></replica></shard></transport_cluster>
3.2 zookeeper配置 <zookeeper><node><host>10.22.3.217</host><port>2181</port></node><node><host>172.27.2.140</host><port>2180</port></node><node><host>172.27.2.140</host><port>2179</port></node></zookeeper>
3.3配置分片名称 每个机器下分别配置自己的ip与编号 01 02 即可# 10.22.1.116 服务器
<macros><shard>01</shard><replica>10.22.1.116</replica>
</macros>
# 10.22.1.117 服务器
<macros><shard>02</shard><replica>10.22.1.117</replica>
</macros>
3.4修改默认端口<tcp_port>1200</tcp_port>

服务启动

## 服务启动
sudo  service clickhouse-server start# 服务重启
sudo  service clickhouse-server restart# 服务停止
sudo  service clickhouse-server stop

验证

# 查看日志与错误日志
tail -f /var/log/clickhouse-server/clickhouse-server.log
tail -f /var/log/clickhouse-server/clickhouse-server.err.log# 使用client链接数据库进行验证
clickhouse-client -h 10.22.1.116 --port 1200 -u default --password EqcT3KF4kQ?v -m -n
clickhouse-client -h 10.22.1.117 --port 1200 -u default --password EqcT3KF4kQ?v -m -nselect 1# 查询数据文件大小
SELECTdatabase,    table,formatReadableSize(sum(bytes_on_disk)) AS sizeFROM system.partsWHERE active = 1GROUP BYdatabase,    tableORDER BY sum(bytes_on_disk) DESC;# 查询表数据量
SELECT database, table, sum(rows) as rows FROM system.parts 
WHERE active = 1 GROUP BY database, table ORDER BY rows DESC;

地址:jdbc:clickhouse://172.27.2.140:8123defaultclickhouse

异常以及处理办法

  1. 在查看分片表时,报出该异常;原因是分配连接需要使用tcp配置的端口进行连接,由于配置与设定不一致导致;
2024-02-22 17:36:42] Code: 279. DB::NetException: All connection tries failed. Log:
[2024-02-22 17:36:42] Code: 210. DB::NetException: Connection refused (172.27.2.140:1200). (NETWORK_ERROR) (version 22.3.20.29 (official build))
[2024-02-22 17:36:42] Code: 210. DB::NetException: Connection refused (172.27.2.140:1200). (NETWORK_ERROR) (version 22.3.20.29 (official build))
[2024-02-22 17:36:42] Code: 210. DB::NetException: Connection refused (172.27.2.140:1200). (NETWORK_ERROR) (version 22.3.20.29 (official build))
[2024-02-22 17:36:42] : While executing Remote. (ALL_CONNECTION_TRIES_FAILED) (version 22.3.20.29 (official build))
[2024-02-22 17:36:42] , server ClickHouseNode [uri=http://172.27.2.147:8123/default, options={session_id=DataGrip_846de358-2c8b-47be-9e5e-193b1bb7a7b7}]@-496462918

解决办法:
在配置文件中修改port中的值,确保与tcp_port 标签中的端口一致

 <remote_servers><tranport_cluster><shard><!-- 权重:新增一条数据的时候有多大的概率落入该分片,默认值:1 --><weight>1</weight><internal_replication>true</internal_replication><replica><host>172.27.2.140</host><port>1200</port><user>default</user><password>clickhouse</password><compression>true</compression></replica></shard><shard><!-- 权重:新增一条数据的时候有多大的概率落入该分片,默认值:1 --><weight>1</weight><internal_replication>true</internal_replication><replica><host>172.27.2.147</host><port>1200</port><user>default</user><password>clickhouse</password><compression>true</compression></replica></shard></tranport_cluster></remote_servers>
  1. 在删除表后重新建立表的时候报
[2024-02-22 17:33:14] Code: 253. DB::Exception: Replica /clickhouse/tables/01/location_cluster2/replicas/172.27.2.140 already exists. (REPLICA_IS_ALREADY_EXIST) (version 22.3.20.29 (official build))
[2024-02-22 17:33:14] , server ClickHouseNode [uri=http://172.27.2.140:8123/default, options={session_id=DataGrip_ac9993a4-2991-4d5f-9e1f-96cec00436f2}]@381624111

解决办法:

Clickhouse drop table on cluster but not delete on zookeeper - xibuhaohao - 博客园 (cnblogs.com)

  1. 日志中报 由于上述删除zk节点,导致找不到节点无法再分布式表中插入数据。
2024.02.22 19:23:51.001232 [ 19421 ] {} <Error> void DB::AsynchronousMetrics::update(std::chrono::system_clock::time_point): Cannot get replica delay for table: default.location_cluster2: Code: 999. Coordination::Exception: No node, path: /clickhouse/tables/02/location_cluster2/replicas. (KEEPER_EXCEPTION), Stack trace (when copying this message, always include the lines below):DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0xb3ac1da in /usr/bin/clickhouse
Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Coordination::Error, int) @ 0x16bd55b5 in /usr/bin/clickhouse

解决办法:

重新建立表,建立zk节点

  1. 分布式表中无法进行mutations操作,删除,修改等,需要到原数据表进行删除。
[07000][48] Code: 48. DB::Exception: Table engine Distributed doesn't support mutations. (NOT_IMPLEMENTED) (version 22.3.20.29 (official build)) , server ClickHouseNode [uri=http://172.27.2.140:8123/default, options={session_id=DataGrip_717b36fd-bd96-448e-9292-a0de15ad3a22}]@-1614401145

解决办法:

到源数据表中进行数据删除,修改等

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

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

相关文章

Elasticsearch 分享

一、Elasticsearch 基础介绍 ElasticSearch 是分布式实时搜索、实时分析、实时存储引擎&#xff0c;简称&#xff08;ES)&#xff0c; 成立于2012年&#xff0c;是一家来自荷兰的、开源的大数据搜索、分析服务提供商&#xff0c;为企业提供实时搜索、数据分析服务&#xff0c;…

Android10禁用wifi随机mac地址,固定mac地址

1、写在前面&#xff0c;为什么固定&#xff1f;因为在Android设备未连接网络时&#xff0c;会使用随机mac地址&#xff0c;如果想ota升级&#xff0c;不固定mac地址会导致风险。 2、控制wifi是否为随机mac地址功能的核心代码 frameworks/base/core/res/res/values/config.xm…

AHU 汇编 实验四

实验名称&#xff1a;实验四 两个数的相乘 实验内容&#xff1a; 用子程序形式编写&#xff1a; A*B&#xff1a;从键盘输入a和b&#xff0c;计算A*B&#xff0c;其中乘法采用移位和累加完成 实验过程&#xff1a; 源代码&#xff1a; data segmentmul1 db 16,?,16 dup(?…

树莓派安装Nginx服务搭建web网站结合内网穿透实现公网访问本地站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx&#xff08;发音为“engine-x”&#xff09;可以将您的树莓派变成一个强大的 Web 服务器&#xff0c;可以用于托管网站或 Web 应用程序。相比其他 Web 服务器&#xff0c;Ngi…

什么是高级编程语言?——跟老吕学Python编程

什么是高级编程语言&#xff1f;——跟老吕学Python编程 高级编程语言简介高级编程语言发展历程高级编程语言特点高级编程语言分类命令式语言函数式语言逻辑式语言面向对象语言 常见的高级编程语言及其特点和应用领域高级编程语言性能分析高级编程语言的工作方式 高级编程语言简…

multipass基本操作

Multipass 是一个轻量级的虚拟机管理器&#xff0c;它允许用户在本地轻松地启动、管理和操纵虚拟机。以下是Multipass 提供的一些主要命令用于创建和管理虚拟机&#xff1a; multipass launch - 创建并启动一个新的虚拟机。 --name 或 -n: 为虚拟机指定名字。--cpus 或 -c: 设置…

GPT出现Too many requests in 1 hour. Try again later.

换节点 这个就不用多说了&#xff0c;你都可以上GPT帐号了&#xff0c;哈…… 清除cooki

平面纯弯梁单元Matlab有限元编程 |欧拉梁单元| 简支梁|悬臂梁|弯矩图 |变形图| Matlab源码 | 视频教程

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

聚酰胺12(PA 12尼龙12)行业调研报告

本文调研和分析全球聚酰胺12&#xff08;PA 12&尼龙12&#xff09;发展现状及未来趋势&#xff0c;核心内容如下&#xff1a; &#xff08;1&#xff09;全球市场总体规模&#xff0c;分别按销量和按收入进行了统计分析&#xff0c;历史数据2019-2023年&#xff0c;预测数据…

面试官:说说你对闭包的理解?闭包使用场景

一、什么是闭包呢 一个函数和对其周围状态&#xff08;lexical environment&#xff0c;词法环境&#xff09;的引用捆绑在一起&#xff08;或者说函数被引用包围&#xff09;&#xff0c;这样的组合就是闭包&#xff08;closure&#xff09; 也就是说&#xff0c;闭包让你可…

容灾演练双月报|美创DRCC助力银行高效验证数据库高可用架构

了解更多灾备行业动态 守护数字化时代业务连续 目录 CONTENTS 01 灾备法规政策 02 热点安全事件 03 容灾演练典型案例 01 灾备法规政策 2月&#xff0c;工信部印发《工业领域数据安全能力提升实施方案&#xff08;2024—2026年&#xff09;》&#xff0c;要求到2026年…

CommonJS模块化的导入导出操作

CommonJS 模块化的基本导入导出 CommonJS 中&#xff0c;一个文件就是一个模块。 模块的内部数据是私有的。 模块可以暴露内部数据提供给其他模块使用。 暴露/导出 数据 暴露数据有两种方式 &#xff1a;module.exports 和 exports 方式一 &#xff1a;module.exports 语法1 &a…

专属你的时尚盛宴,尽在手机无人直播!

时尚&#xff0c;是一个永恒的话题。在这个充满活力的时代&#xff0c;时尚不仅仅是穿着打扮&#xff0c;更是一种生活态度&#xff0c;一种表达自我的方式。每个人都有自己独特的时尚理念&#xff0c;每个人都可以在时尚的世界里找到属于自己的一席之地。 手机无人直播&#…

Node.js基础---使用Express写接口

1. 创建基本的服务器 2. 创建 API 路由模块 // aoiRouter.js 路由模块 const express require(express) const apiRouter express.Router()module.exports apiRouter// ------------------------------------------// app.js 导入并注册路由模块 const apiRouter require(…

鼠标在QTreeView、QTableView、QTableWidget项上移动,背景色改变

目录 1. 前言 2. 需求 3. 功能实现 3.1. 代码实现 3.2. 功能讲解 4. 附录 1. 前言 本博文用到了Qt的model/view framework框架,如果对Qt的“模型/视图/委托”框架不懂&#xff0c;本博文很难读懂。如果不懂这方面的知识&#xff0c;请在Qt Assistant 中输入Model/View…

抖音小店怎么选品?选品的三种方法分享,新手就能用!

大家好&#xff0c;我是电商糖果 什么样的产品在抖音卖的好&#xff1f; 什么样的产品容易爆单&#xff1f; 什么样的产品售后少&#xff1f; 等等等等 这是不是很少新手商家在选品的时候&#xff0c;最好奇的问题。 尤其是一些从没接触过电商的朋友。 抖音小店怎么选品…

力扣大厂热门面试算法题 15-17

15. 三数之和&#xff0c;16. 最接近的三数之和&#xff0c;17. 电话号码的字母组合&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.11 可通过leetcode所有测试用例。 目录 15. 三数之和 解题思路 完整代码 Java Python ​…

AtomicInteger原理

文章目录 AtomicInteger原理原理介绍源码分析 AtomicInteger原理 原理介绍 AtomicInteger的本质&#xff1a;自旋锁 CAS算法 自旋锁&#xff1a;当一个线程在获取锁时&#xff0c;如果锁已经被其他线程获取&#xff0c;当前线程就会不断循环检查锁是否被释放&#xff0c;直…

Ubuntu 24.04 抢先体验换国内源 清华源 阿里源 中科大源 163源

Update 240307:Ubuntu 24.04 LTS 进入功能冻结期 预计4月25日正式发布。 Ubuntu22.04换源 Ubuntu 24.04重要升级daily版本下载换源步骤 (阿里源)清华源中科大源网易163源 Ubuntu 24.04 LTS&#xff0c;代号 「Noble Numbat」&#xff0c;即将与我们见面&#xff01; Canonica…

Linux每日练习day3

创建1个f开头的文件夹&#xff0c;2个f开头的普通文件 1、输出文件名时&#xff0c;每个文件名前加一个前缀abc find -name f* -exec echo abc {} \; abc ./fly abc ./fir abc ./fty2、输出所有文件名时&#xff0c;在行头加一个前缀 aaa find -name f* |xargs echo aaa aaa ./…