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

news/2024/4/15 8:08:08

前言

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.ppmy.cn/news/1352038.html

相关文章

Linux环境下配置HTTP代理服务器教程

大家好&#xff0c;我是你们可爱的Linux小助手&#xff01;今天&#xff0c;我将带你们一起探索如何在Linux环境下配置一个HTTP代理服务器。请注意&#xff0c;这不是一次火箭科学的实验&#xff0c;而是一次简单而有趣的冒险。 首先&#xff0c;我们需要明确什么是HTTP代理服…

【方法】PPT设置密码后如何修改?

PowerPoint是我们日常和工作中经常用到的办公软件&#xff0c;有时候为了保护文件&#xff0c;还会设置密码&#xff0c;那设置密码后又想要修改密码&#xff0c;怎么操作呢&#xff1f;下面来看看PPT常用的两种密码是如何修改的。 1. “打开密码” 想要修改PPT的“打开密码”…

Python socket库 基础概念

socket库是Python中用于网络编程的标准库之一&#xff0c;它提供了创建套接字&#xff08;socket&#xff09;对象、绑定地址和端口、监听连接、接受连接、发送和接收数据等功能。 套接字是网络通信的基础&#xff0c;它允许程序之间进行数据传输和通信。 套接字类型&#xf…

Nginx+React在Docker中实现项目部署

一、引言 Nginx 是一个高性能的 HTTP 和反向代理服务器&#xff0c;也能够处理 IMAP/POP3/SMTP 服务&#xff0c;由 Igor Sysoev 开发并在 2004 年首次公开发布。它以处理静态内容、提供反向代理服务以及其高稳定性、低资源消耗而广受欢迎。Nginx 能够通过非阻塞方式处理多个连…

全闭环直播推流桌面分享远控系统

直播推流涉及多协议&#xff0c;多端技术栈和知识点&#xff0c;&#xff0c;想要做好并不容易&#xff0c;经过几年时间的迭代&#xff0c;终于小有成就&#xff0c;聚集了媒体服务器&#xff0c;实时会议sfu&#xff0c;远控kvm等功能。可以做一个音视频应用的瑞士小军刀。主…

优秀网络安全运营专家的成长之路

文章目录 前言一、基础阶段:掌握必要的网络安全运营技能1、了解网络系统2、网络安全监控3、网络流量分析4、日志分析和搜索能力5、端点安全保护6、加入活跃的网络和安全社区7、紧跟最新的行业咨询二、中级阶段:更深入地了解网络威胁1、情报分析能力2、云计算安全3、主动威胁搜…

error An unexpected error occurred: “https://registry.npm.taobao.org

背景&#xff1a; 想使用yarn命令结果报错 问题原因&#xff1a; 原来证书到期了 http://registry.npm.taobao.org/ 把这个放到浏览器搜索的时候自动换成https://registry.npmmirror.com/ 方案&#xff1a; npm cache clean --forcenpm config set registry https://registry…

C语言第二十四弹---指针(八)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 指针 1、数组和指针笔试题解析 1.1、字符数组 1.1.1、代码1&#xff1a; 1.1.2、代码2&#xff1a; 1.1.3、代码3&#xff1a; 1.1.4、代码4&#xff1a; 1…

wordpress好的网站主题

有什么好的网站主题&#xff0c;都分享在这里了。 蓝色风格的wordpress模板&#xff0c;好的wordpress网站主题&#xff0c;需要既好看&#xff0c;又好用。 https://www.zhanyes.com/qiye/6305.html 血红色的好看的wordpress主题&#xff0c;布局经典&#xff0c;设计好的&am…

Hive的相关概念——架构、数据存储、读写文件机制

目录 一、架构及组件介绍 1.1 Hive整体架构 1.2 Hive组件 1.3 Hive数据模型&#xff08;Data Model&#xff09; 1.3.1 Databases 1.3.2 Tables 1.3.3 Partitions 1.3.4 Buckets 二、Hive读写文件机制 2.1 SerDe 作用 2.2 Hive读写文件流程 2.2.1 读取文件的过程 …

【极客日常】可持续性架构设计的秘诀

今天闲聊一下可持续性架构设计的秘诀&#xff0c;总共八个字&#xff1a;概念拆解&#xff0c;重组改造。 说到新开发一个技术工程&#xff0c;很多同学会引用需求拆解的思路&#xff0c;自顶向下拆解子需求&#xff0c;做对应的层次模块设计&#xff0c;然后直接按照拆解结果…

操作系统(14)----文件系统的结构

目录 一.文件系统的层次结构 1.用户接口&#xff1a; 2.文件目录系统&#xff1a; 3.存取控制模块&#xff1a; 4.逻辑文件系统与文件信息缓冲区&#xff1a; 5.物理文件系统&#xff1a; 二.文件系统的全局结构 1.文件系统在外存中的结构 &#xff08;1&#xff09;物…

智能汽车行业产业研究报告:4D成像毫米波雷达—自动驾驶最佳辅助

今天分享的是智能汽车系列深度研究报告&#xff1a;《智能汽车行业产业研究报告&#xff1a;4D成像毫米波雷达—自动驾驶最佳辅助》。 &#xff08;报告出品方&#xff1a;开源证券&#xff09; 报告共计&#xff1a;43页 视觉感知最佳辅助——4D 成像毫米波雷达 感知是自动…

安卓价值2-Macrodroid在其它app下执行两步就停

Macrodroid 是一款适用于 Android 平台的自动化应用程序。它允许用户创建个性化的自动化工作流程,以简化日常任务并增强手机的功能。 但使用下来会发现一些奇怪的问题,比如在其它app处于前台状态下它执行了两步任务就停止了,但切换回macrodroid就又继续执行了,这就像是程序…

OpenCV每日函数 结构分析和形状描述符(9) ApproxPolyDP函数 拟合曲线

一、Douglas -Peucker 算法 也称为Ramer-Douglas-Peucker 算法或迭代端点拟合算法,是一种通过减少点数来平滑折线(由线性线段组成的线)的算法。简化曲线应保留原始曲线的粗略形状,但仅包含定义原始曲线的点的子集。 粗化程度由单个参数 ε 控制,该参数定义原始点和简化曲线…

分布式文件系统 SpringBoot+FastDFS+Vue.js【一】

分布式文件系统 SpringBootFastDFSVue.js【一】 一、分布式文件系统1.1.文件系统1.2.什么是分布式文件系统1.3.分布式文件系统的出现1.3.主流的分布式文件系统1.4.分布式文件服务提供商1.4.1.阿里OSS1.4.2.七牛云存储1.4.3.百度云存储 二、fastDFS2.1.fastDSF介绍2.2.为什么要使…

【开源】JAVA+Vue.js实现天然气工程运维系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程 12.2.2 流程 22.3 各角色功能2.3.1 系统管理员功能2.3.2 用户服务部功能2.3.3 分公司&#xff08;施工单位&#xff09;功能2.3.3.1 技术员角色功能2.3.3.2 材料员角色功能 2.3.4 安…

MySQL 基础知识(六)之数据查询(一)

目录 1 基本查询 1.1 查询相关列 (select * / 列名) 1.2 别名 (as) 1.3 去重 (distinct) 1.4 对列中的数据进行运算 (、-、*、/) 2 条件查询 (where) 2.1 等值查询 () 2.2 非等值查询 (>、<、>、<、!、><) 2.3 逻辑判断 (and、or、not) 2.4 区间判…

【MySQL进阶之路】千万级数据删除导致的慢查询SQL调优实战

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

MyBatis篇----第六篇

系列文章目录 文章目录 系列文章目录前言一、什么是 MyBatis 的接口绑定?有哪些实现方式?二、使用 MyBatis 的 mapper 接口调用时有哪些要求?三、Mapper 编写有哪几种方式?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳…
最新文章