(三十六)大数据实战——ClickHouse数据库的部署安装实现

前言

ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库 DBMS ),使用C语言编写,主要用于在线分析处理查询( OLAP ),能够使用SQL查询实时生成分析数据报告。列式存储:数据按列进行存储,这使得 ClickHouse 能够高效地处理聚合查询和分析操作;高性能:ClickHouse 被设计用于快速查询和分析大规模数据,因此具有出色的性能。分布式架构:支持分布式部署,可以轻松地扩展到多个节点,以处理大量数据和并行查询。实时数据插入:支持实时数据的快速插入,并能在不影响查询性能的情况下进行数据更新。灵活的数据格式支持:支持多种数据格式,包括 JSON、CSV 等,同时也支持压缩和加密。

ClickHouse主要用于数据分析,ClickHouse 适用于各种数据分析场景,包括业务智能、报告、仪表板等;日志分析:由于其高性能和实时数据插入功能,ClickHouse 可以用于大规模日志分析;时序数据处理:适用于处理时序数据,例如传感器数据、监控数据等;实时报表:能够支持实时数据的快速查询和分析,适用于生成实时报表和统计数据。

本节内容主要是关于如何搭建ClickHouse数据库,实现Clickhouse数据库的部署安装。

ClickHouse部署安装
hadoop101hadoop102hadoop103
clickhouseclickhouseclickhouse
zookeeperzookeeperzookeeper

正文

①配置centos系统文件数限制,避免文件句柄数不够使用

- 在/etc/security/limits.conf中增加句柄数的配置

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

- 在/etc/security/limits.d/20-nproc.conf的配置中也增加以上句柄数的配置

- 查看配置修改是否生效:ulimit -a


- 将上述俩个配置文件分发到hadoop102和hadoop103服务器上,使配置生效

② 分别在hadoop101、hadoop102、hadoop103服务器安装系统依赖

- 使用yum安装依赖

sudo yum install y libtool
sudo yum install y *unixODBC*
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo

③ 关闭系统selinux安全配置,并重启hadoop101、hadoop102、hadoop103系统

- 修改/etc/selinux/config中的SELINUX=disabled,并重启系统reboot

④使用官方推荐的方式,使用yum命令分别在hadoop101、hadoop102、hadoop103安装clickhouse服务端和客户端

- 命令:sudo yum install -y clickhouse-server clickhouse-client

⑤启动clickhouse服务端并查看状态

- 命令:

//设置为开机自启动
sudo systemctl enable clickhouse-server
//取消开机自启动
sudo systemctl disable clickhouse-server
//启动clickhouse-server服务端
sudo systemctl start clickhouse-server
//查看clickhouse-server服务端状态
sudo systemctl status clickhouse-server
//停止clickhouse-server服务端
sudo systemctl stop clickhouse-server

⑥使用clickhouse客户端连接clickhouse数据库

- 命令:clickhouse-client -m

⑦修改clickhouse的配置文件/etc/clickhouse-server/config.xml,使得hadoop集群间可以相互访问

- 将<listen_host>::</listen_host> 配置打开,然后重启clickhouse服务

- 重启clickhouse服务

- 使用hadoop102的客户端连接hadoop101的服务

⑧验证clickhouse数据库是否可以正常使用

⑨配置副本:在hadoop101、hadoop102、hadoop103配置zookeeper,互为副本保证clickhouse数据库的高可用

- 在配置文件/etc/clickhouse-server/config.xml中配置zookeeper连接信息

 <zookeeper><node><host>hadoop101</host><port>2181</port></node><node><host>hadoop102</host><port>2181</port></node><node><host>hadoop103</host><port>2181</port></node>
</zookeeper>

- 分发配置文件config.xml到hadoop102、hadoop103服务器

 - 启动zookeeper服务器

- 重启clickhouse数据库服务器

 ⑩验证副本配置是否生效

- 分别在hadoop101、hadoop102、hadoop103服务器创建表t_order

# hadoop101
create table t_order (id UInt32, sku_id String,total_amount Decimal(16,2), create_time  Datetime
) engine = ReplicatedMergeTree('/clickhouse/table/01/t_order','101') 
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id,sku_id);# hadoop102
create table t_order (id UInt32, sku_id String,total_amount Decimal(16,2), create_time  Datetime
) engine = ReplicatedMergeTree('/clickhouse/table/01/t_order','102') 
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id,sku_id);# hadoop103
create table t_order (id UInt32, sku_id String,total_amount Decimal(16,2), create_time  Datetime
) engine = ReplicatedMergeTree('/clickhouse/table/01/t_order','103') 
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id,sku_id);

- 在hadoop101表t_order插入数据

insert into t_order values
(101,'sku_001',1000.00,'2020-06-01 12:00:00'),
(102,'sku_002',2000.00,'2020-06-01 12:00:00'),
(103,'sku_004',2500.00,'2020-06-01 12:00:00'),
(104,'sku_002',2000.00,'2020-06-01 12:00:00'),
(105,'sku_003',600.00,'2020-06-02 12:00:00'); 

- 在hadoop101查询数据

- 在hadoop102查询数据

- 在hadoop103查询数据

 ⑪查询zookeeper中的clickhouse存储数据是否成功

结语

至此,关于ClickHouse数据库的部署安装实现的内容到这里就结束了,我们下期见。。。。。。

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

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

相关文章

局部特征描述子

局部特征描述子是用于表示图像、点云或其他数据中局部区域特征的一种方法。它们通常用于计算机视觉、三维重建和模式识别等领域。局部特征描述子的主要目标是捕获图像或数据中的局部结构和特征&#xff0c;这些特征在旋转、尺度和光照变化等方面具有不变性或者部分不变性。 一…

结合Next项目实际认识webpack.splitChunks

本文的目的在于简单的介绍webpack的优化功能配置&#xff1a;splitChunks。 webpack5出于“开箱即用”的目的&#xff0c;将大部分曾经要使用插件的功能集成到了config配置中&#xff0c;因此用户只需要了解如何配置&#xff0c;即可达到优化目的&#xff0c;其中最常使用接触的…

Backtrader 文档学习- Observers - Reference

Backtrader 文档学习- Observers - Reference 1.Benchmark class backtrader.observers.Benchmark() 观察器存储策略的回报和参考资产的回报&#xff0c;参考资产是传递给系统的数据之一。 参数&#xff1a; timeframe (default: None) &#xff0c;如果None&#xff0c;则将…

【ES】--ES集成自定义分词库

目录 一、相关安装1、(window单机)elasticsearch安装2、安装Elasticvue插件3、ik分词器插件4、ES集成自定义词库 一、相关安装 1、(window单机)elasticsearch安装 Win10下下载ES组件&#xff0c;安装部署如下&#xff1a;JDK1.8、elasticsearch-7.3.2-windows-x86_64。 Elast…

Debezium发布历史124

原文地址&#xff1a; https://debezium.io/blog/2022/06/21/debezium-1-9-4-final-released/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Debezium 1.9.4.Final Released June 21, 2022 by Chris Cranford …

qt “美颜”

要想成为一名优秀的qt工程师 学会使用qss编程也是重要的 不可获缺的一部分 qss 简介和优势 QSS&#xff08;Qt Style Sheets&#xff09;是一种用于定义Qt应用程序界面外观和样式的样式表语言。它类似于CSS&#xff08;层叠样式表&#xff09;&#xff0c;但针对Qt框架进行了定…

末两位数(1992)_题解

【题解提供者】吴立强 解法 思路 指数函数增长速率过快&#xff0c;直接计算中间过程任何一种基本类型都无法存储。 通过乘法运算的规律&#xff0c;可以发现末两位数只和末两位数相关&#xff0c;故直接对中间结果保留末两位数&#xff08;mod 100&#xff09;即可避免乘法…

每日五道java面试题之java基础篇(七)

第一题. HashMap和HashTable有什么区别&#xff1f;其底层实现是什么&#xff1f; 区别 &#xff1a; HashMap⽅法没有synchronized修饰&#xff0c;线程⾮安全&#xff0c;HashTable线程安全&#xff1b;HashMap允许key和value为null&#xff0c;⽽HashTable不允许 底层实现…

容器高级知识: 适配器模式与 Sidecar 模式的区别

适配器模式与 Sidecar 模式的区别 在 Kubernetes 中&#xff0c;适配器模式和 Sidecar 模式都是扩展您的主应用程序容器功能的方法&#xff0c;但它们具有不同的目的和功能&#xff1a; Sidecar 模式&#xff1a; 通用目的&#xff1a; 为主应用程序提供 补充功能&#xff0…

(十五)springboot实战——spring securtity的核心过滤器介绍

前言 本节内容主要介绍spring securtity安全框架的一些核心过滤器及其作用&#xff0c;我们都清楚spring securtity安全框架底层是基于filter过滤器实现的&#xff0c;采用的是责任链的设计模式&#xff0c;它有一条很长的过滤器链。本次spring securtity原理介绍使用的版本是…

H12-821_31

31.下面是一台路由器的部分配置,关于该配置描述正确的是: A.源地址为1.1.1.1的数据包匹配第一条ACL语句rule 0,匹配规则为允许 B.源地址为1.1.1.3的数据包匹配第三条ACL语句rule 2,匹配规则为拒绝 C.源地址为1.1.1.4的数据包匹配第四条ACL语句rule 3,匹配规则为允许 D.源地址为…

Android13多媒体框架概览

Android13多媒体框架概览 Android 多媒体框架 Android 多媒体框架旨在为 Java 服务提供可靠的接口。它是一个系统&#xff0c;包括多媒体应用程序、框架、OpenCore 引擎、音频/视频/输入的硬件设备&#xff0c;输出设备以及一些核心动态库&#xff0c;比如 libmedia、libmedi…

探索Gorm - Golang流行的数据库ORM框架

&#x1f3f7;️个人主页&#xff1a;鼠鼠我捏&#xff0c;要死了捏的主页 &#x1f3f7;️系列专栏&#xff1a;Golang全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&…

14.7 OpenGL图元装配和光栅化:早期各片段测试

早期各片段测试 Early Per-Fragment Tests layout(early_fragment_tests) in; 如果片段着色器指定了 Early_fragment_tests 布局限定符&#xff0c;则将在片段着色器执行之前执行本节中描述的每个片段测试。 否则&#xff0c;它们将在片段着色器执行后执行。在光栅化阶段生成片…

自动化测试工具

自动化测试工具有很多种&#xff0c;比如&#xff1a; Appium 。Appium是一个移动端自动化测试开源工具&#xff0c;支持iOS和Android平台&#xff0c;支持Python、Java等语言&#xff0c;即同一套Java或Python脚本可以同时运行在iOS和Android平台。 Appium是一个开源测试自动…

8个Python编程进阶常用技巧!

前言 介绍 Python 炫酷功能&#xff08;例如&#xff0c;变量解包&#xff0c;偏函数&#xff0c;枚举可迭代对象等&#xff09;的文章层出不穷。但是还有很多 Python 的编程小技巧鲜被提及。因此&#xff0c;本文会试着介绍一些其它文章没有提到的小技巧&#xff0c;这些小技…

多态

多态的基本语法 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态&#xff0c;复用函数名动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别&#xff1a; 静态多态的函数地址早绑定 - 编译阶段确定函数地址动态多态的函数地址晚绑定 - 运行阶段确…

中科大计网学习记录笔记(十):P2P 应用

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

Centos7离线安装MySQL5.7

卸载mariadb rpm -e --nodeps mariadb-libs可以使用rpm -qa|grep mariadb命令检测是否卸载完成。 关闭selinux 将/etc/selinux/config文件中的SELINUX设置为disabled下载MySql的相关rpm包 打开https://dev.mysql.com/downloads/mysql/ 选择Red Hat Enterprise Linux / Oracle L…

Linux 终端入门

简介 这个教程是 Linux 基础知识系列中的第一篇&#xff0c;涵盖了如何开始使用终端、Linux 命令行以及执行命令。如果你是 Linux 新手&#xff0c;你需要熟悉终端&#xff0c;因为它是与 Linux 服务器交互的标准方式。 这个教程是针对 Ubuntu 22.04 服务器编写的&#xff0c…