(三十六)大数据实战——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.mfbz.cn/a/396687.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

wordpress企业网站模板免费

绿色风格的wordpress免费模板&#xff0c;经测试可以免费下载的WP模板。 https://www.wpniu.com/themes/300.html 简洁大气的文化艺术类wordpress模板&#xff0c;可以免费下载&#xff0c;实用易上手&#xff0c;新手也适合。 https://www.wpniu.com/themes/304.html 高端大…

微信小程序-绑定数据并在后台获取它

如图 遍历列表的过程中需要绑定数据&#xff0c;点击时候需要绑定数据 这里是源代码 <block wx:for"{{productList}}" wx:key"productId"><view class"product-item" bindtap"handleProductClick" data-product-id"{{i…

maven异常记录-must be unique

maven 打包异常记录 我们可以看看一个重要的异常&#xff1a; dependencies.dependency.(groupId:artifactId:type:classifier) must be unique: org.springframework.boot:spring-boot-starter-test 经过检查pom文件 果然是spring-boot-starter-test引用重复&#xff0c;平…

Elasticsearch:什么是搜索引擎?

搜索引擎定义 搜索引擎是一种软件程序或系统&#xff0c;旨在帮助用户查找存储在互联网或特定数据库中的信息。 搜索引擎的工作原理是对各种来源的内容进行索引和编目&#xff0c;然后根据用户的搜索查询向用户提供相关结果列表。 搜索引擎对于希望快速有效地查找特定信息的用…

SpringMVC 的参数绑定之list集合、Map

标签中name属性的值就是pojo类的属性名 参数绑定4 list [对象] <form action"teaupd.do" method"post"> <c:forEach items"${list}" var"tea" varStatus "status"> 教师编号&#xff1a;<input…

基础antdesign的业务型 短时间控件封装(复制即可使用)

{/* startFieldName 开始时间标识 endFieldName 结束时间标识 label 同form lable rules 是否开启规则校验 默认开启 detailData 详情数据&#xff0c;用于编辑回显 dateRange 限制结束时间的范围 例如&#xff1a;开始时间选择了 2024-02-05 &#xff0c;加上 dateRange3 后 只…

【MATLAB】BiGRU神经网络回归预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 BiGRU神经网络回归预测算法是一种基于双向门控循环单元&#xff08;GRU&#xff09;的多变量时间序列预测方法。该方法结合了双向模型和门控机制&#xff0c;旨在有效地捕捉时间序列数据中…

基于Java SSM框架实现生鲜食品o2o商城系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现生鲜食品o2o商城系统演示 摘要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 生鲜食品o2o商城系统&#xff0c;主要的模块包括查看管理员&#xff1b;首页、个人中心、用户…

Process Explorer下载安装使用教程(图文教程)超详细

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 Process Explore 是微软的一款「进程资源管理器」&#xff0c;比Windows系统自带的任务管…

科技云报道:云原生是大模型“降本增效”的解药吗?

科技云报道原创。 在过去一两年里&#xff0c;以GPT和Diffusion model为代表的大语言模型和生成式AI&#xff0c;将人们对AI的期待推向了一个新高峰&#xff0c;并吸引了千行百业尝试在业务中利用大模型。 国内各家大厂在大模型领域展开了激烈的军备竞赛&#xff0c;如&#…

每日学习总结20240219

每日总结 20240219 1.文件类型.csv CSV文件是一种以逗号分隔值&#xff08;Comma-Separated Values&#xff09;为标记的文本文件&#xff0c;它可以用来存储表格数据。每一行表示一条记录&#xff0c;而每一条记录中的字段则使用逗号或其他特定的分隔符进行分隔。 常用场景…

计算机服务器中了halo勒索病毒怎么办?Halo勒索病毒解密数据恢复

众所周知&#xff0c;网络是一把双刃剑&#xff0c;在为人们提供便利的同时&#xff0c;也会带来网络安全威胁。对于企业来说&#xff0c;企业的发展离不开核心数据支撑&#xff0c;数据安全问题是众多企业关心的主要话题。近日&#xff0c;云天数据恢复中心接到很多企业的求助…

Deep Learning with OpenCV DNN Module介绍

Deep Learning with OpenCV DNN Module介绍 1. 源由2. 为什么/什么是OpenCV DNN Module?2.1 支持的不同深度学习功能2.2 支持的不同模型2.3 支持的不同框架 3. 如何使用OpenCV DNN模块3.1 使用从Keras和PyTorch等不同框架转换为ONNX格式的模型3.2 使用OpenCV DNN模块的基本步骤…

MySQL学习Day18——逻辑架构

一、逻辑架构剖析: 1.服务器处理客户端请求: 首先 MySQL 是典型的C/S架构&#xff0c;即client/Server架构&#xff0c;服务器端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信&#xff0c;最后实现的效果都是:客户端进程向服务器进程发送段文本(SQL语…

【elk查日志 elastic(kibana)】

文章目录 概要具体的使用方式一&#xff1a;查找接口调用历史二&#xff1a;查找自己的打印日志三&#xff1a;查找错误日志 概要 每次查日志&#xff0c;我都需要别人帮我&#xff0c;时间长了总觉得不好意思&#xff0c;所以这次下定决心好好的梳理一下&#xff0c;怎么查日…

14-k8s控制器资源-rs控制器replicasets

replicaset副本控制器&#xff0c;简称&#xff1a;rs控制器&#xff1b; 用法&#xff1a;与rc控制器“几乎”相同&#xff1b; 能力&#xff1a;可以指定pod的副本始终存活&#xff0c;相比于rc控制器&#xff1b;支持标签匹配&#xff0c;也支持标签表达式 注意&#xff1a;…

Camunda快速入门(四):设计一个带网关的流程

接上一篇文章&#xff1a;Camunda快速入门&#xff08;三&#xff09;&#xff1a;设计一个人工任务流程并配置表单 在本节中&#xff0c;您将学习如何使用 BPMN 2.0 排他网关&#xff08;Exclusive Gateways&#xff09;使流程更加动态。 1、添加两个网关 我们想修改我们的…

自己动手写编译器:使用 PDA 实现增强和属性语法的解析

在前面章节中我们了解了增强语法和属性语法&#xff0c;特别是看到了这两种语法的结合体&#xff0c;本节我们看看如何使用前面我们说过的自顶向下自动机来实现这两种语法结合体的解析&#xff0c;这里使用的方法也是成熟编译器常用的一种语法解析算法。 首先我们先给出上一节…

虚拟机--pc端和macOS端互通

windows开启虚拟化 要在Windows系统中开启虚拟化&#xff0c;您可以按照以下步骤操作&#xff1a; 准备工作&#xff1a; 确保您的计算机CPU支持虚拟化技术。在BIOS中开启相应的虚拟化支持。 开启虚拟化&#xff1a; 打开控制面板&#xff0c;点击程序或功能项&am…

普通人如何开启真正的赚钱之路

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通…
最新文章