MPP数据库入门介绍及集群部署

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: MPP数据库入门介绍及集群部署

ClickHouse介绍

ClickHouse是一个开源的分布式列式数据库管理系统,专门用于在线分析处理(OLAP)。它被设计用于高速查询和分析大规模数据集,适用于需要进行实时分析和快速数据处理的场景。以下是关于ClickHouse的一些介绍和必要性:

1. 特点:

 - 列存储:数据按列存储,这样可以更有效地处理大量数据。

 - 高性能:ClickHouse优化了查询引擎来处理海量数据,速度快且稳定。

 - 扩展性:支持分布式架构,可以水平扩展以应对大规模数据处理需求。

 - 实时分析:适用于实时查询和分析,可快速生成报表和数据分析。

 - 灵活性:支持SQL查询语言,易于使用和集成到现有系统中。

2. 必要性:

 - 处理大规模数据:ClickHouse适用于需要处理大规模数据并进行实时分析的场景,如大数据分析、日志分析等。

 - 实时性:对于需要快速查询和分析数据以获得实时反馈的业务,ClickHouse可以提供高效率和性能。

 - 数据仓库:作为数据仓库,ClickHouse可以帮助组织存储和分析不断增长的数据,并提供快速的查询结果。

 - 支持多种数据类型:ClickHouse支持各种数据类型和复杂的查询,适用于不同类型的数据分析。

 - 容错和可靠性:作为分布式系统,ClickHouse具有高可用性和容错能力,确保数据的安全性和稳定性。

总的来说,ClickHouse是一种强大的工具,适合处理大量数据的实时分析和查询需求。对于那些需要高性能、可扩展性和灵活性的数据处理场景来说,ClickHouse是一个非常有必要的部署选择。

一、安装前准备

1、修改主机名

[root@node1 ~]# hostnamectl set-hostname node1

在hosts文件里面做映射

安装jdk。

二、安装zookeeper集群

1、将zookeeper的压缩包上传到/tmp目录

2、解压到/usr/local目录下

[root@node1 tmp]# tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz -C /usr/local/

进入到zookeeper的conf目录,将zoo_sample.cfg复制,并且命名为zoo.cfg

[root@node1 ~]# cd /usr/local/apache-zookeeper-3.8.0-bin/conf/

[root@node1 conf]# cp zoo_sample.cfg zoo.cfg

修改zoo.cfg配置文件内容

dataDir=/data

dataLogDir=/datalog

autopurge.snapRetainCount=3

autopurge.purgeInterval=0

maxClientCnxns=60

server.1=10.100.1.10:2888:3888

server.2=10.100.1.11:2888:3888

server.3=10.100.1.12:2888:3888

创建数据目录和日志目录

[root@node1 conf]# mkdir /data /datalog/

配置每一台的myid

(1)、node1

echo 1 > /data/myid

(2)、node2

echo 2> /data/myid

(3)、node3

echo 3 > /data/myid

进入到zookeeper的bin目录,分别启动zookeeper

[root@node1 conf]# cd /usr/local/apache-zookeeper-3.8.0-bin/bin/

[root@node1 bin]# ./zkServer.sh start

启动后,分别查看zookeeper的状态

三、安装clickhouse集群

1、、将clickhouse的rpm包上传到/opt目录下

clickhouse-client-21.9.5.16-2.noarch.rpm

clickhouse-common-static-21.9.5.16-2.x86_64.rpm

clickhouse-common-static-dbg-21.9.5.16-2.x86_64.rpm

clickhouse-server-21.9.5.16-2.noarch.rpm

安装:

rpm -ivh *.rpm

数据存储路径修改(默认是系统盘的/var/lib/clickhouse/):

1) 在数据盘新建目录:

mkdir /data/clickhouse

2) 修改用户权限:

chown clickhouse:clickhouse /data/clickhouse

3) 软连接:

ln -s /data/clickhouse /var/lib/clickhouse

5、编辑config.xml文件,添加如下内容

[root@node1 opt]# vim /etc/clickhouse-server/config.xml

<include_from>/etc/clickhouse-server/metrika.xml</include_from>

<remote_servers incl="clickhouse_remote_servers" />

<zookeeper incl="zookeeper-servers" optional="true" />

<macros incl="macros" optional="true" />

编辑metrika.xml,复制以下内容

<yandex>

<!-- 集群配置 -->

<clickhouse_remote_servers>

<!-- 3分片1备份 -->

<cluster_3shards_1replicas>

<!-- 数据分片1 -->

<shard>

<replica>

<host>node1</host>

<port>9000</port>

<user>default</user>

<password>Szzt@2022</password>

</replica>

</shard>

<!-- 数据分片2 -->

<shard>

<replica>

<host>node2</host>

<port> 9000</port>

<user>default</user>

<password>Szzt@2022</password>

</replica>

</shard>

<!-- 数据分片3 -->

<shard>

<replica>

<host>node3</host>

<port>9000</port>

<user>default</user>

<password>Szzt@2022</password>

</replica>

</shard>

</cluster_3shards_1replicas>

</clickhouse_remote_servers>

<!---zokeeper配置 -->

<zookeeper-servers>

<node>

<host>node1</host>

<port>2181</port>

</node>

<node>

<host>node2</host>

<port>2181</port>

</node>

<node>

<host>node3</host>

<port>2181</port>

</node>

</zookeeper-servers>

<!--副本名称-->

<macros>

<replica>node3</replica>

</macros>

<networks>

<ip>::/0</ip>

</networks>

</yandex>


9、启动clickhouse服务

[root@node1 opt]# systemctl start clickhouse-server

10、登录clickhouse客户端

[root@node1 opt]# clickhouse-client -u default --password 123456

11、查看集群状态,对比集群名称是否正确

node1 :) select * from system.clusters;

四、clickhouse操作

1、集群分片与备份测试

(1)、创建集群测试仓库(node1操作)

create database testdb on cluster cluster_3shards_1replicas;

(2)、查看数据库

show databases;

(3)、创建本地表(node1操作)

create table testdb.person_local on cluster cluster_3shards_1replicas (ID Int8, Name String, BirthDate Date) ENGINE = MergeTree(BirthDate, (Name, BirthDate), 8192)

(4)、在各个节点建分布表(所有节点操作)

create table testdb.person_all as testdb.person_local ENGINE = Distributed(cluster_3shards_1replicas, testdb, person_local, rand());

person_local为本地表,数据只是在本地

person_all为分布表,查询这个表,引擎自动把整个集群数据计算后返回

(5)、插入数据(node1操作)

insert into testdb.person_all (*) values ('1','a','2021-10-01');

insert into testdb.person_all (*) values ('2','b','2021-10-01');

insert into testdb.person_all (*) values ('3','c','2021-10-01');

insert into testdb.person_all (*) values ('4','d','2021-10-01');

insert into testdb.person_all (*) values ('5','e','2021-10-01');

insert into testdb.person_all (*) values ('6','f','2021-10-01');

insert into testdb.person_all (*) values ('7','g','2021-10-01');

insert into testdb.person_all (*) values ('9','i','2021-10-01');

insert into testdb.person_all (*) values ('10','j','2021-10-01');

(6)、查看数据

select * from testdb.person_local

selec * from testdb.person_all

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
29天前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
250 7
存储 人工智能 机器人
93 0
|
3月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
402 8
|
7月前
|
存储 关系型数据库 数据挖掘
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
|
8月前
|
存储 SQL 并行计算
【赵渝强老师】达梦数据库MPP集群的架构
达梦数据库提供大规模并行处理(MPP)架构,以低成本实现高性能并行计算,满足海量数据存储和复杂查询需求。DM MPP采用完全对等无共享体系,消除主节点瓶颈,通过多节点并行执行提升性能。其执行流程包括主EP生成计划、分发任务、各EP并行处理及结果汇总返回。为确保高可用性,建议结合数据守护部署。
263 0
|
10月前
|
关系型数据库 OLAP 分布式数据库
瑶池数据库微课堂|PolarDB/RDS+ADB Zero-ETL:一种免费、易用、高效的数据同步方式
瑶池数据库微课堂介绍阿里云PolarDB/RDS与ADB的Zero-ETL功能,实现免费、易用、高效的数据同步。内容涵盖OLTP与OLAP的区别、传统ETL存在的问题及Zero-ETL的优势(零成本、高效同步),并演示了从RDS MySQL到AnalyticDB MySQL的具体操作步骤。未来将优化和迭代此功能,提供更好的用户体验。
199 2
|
12月前
|
Java 数据库连接 测试技术
SpringBoot入门 - 添加内存数据库H2
SpringBoot入门 - 添加内存数据库H2
761 3
SpringBoot入门 - 添加内存数据库H2
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
226 4
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

热门文章

最新文章