ClickHouse集群的安装

news2024/11/16 4:44:09

目录

1.clickhouse中文文档地址

2.centos安装部署

2.1采用tgz的方式安装

2.2修改配置文件

2.3修改数据目录

2.4创建角色和目录

3 集群安装

3.1配置文件修改

3.2启动zookeeper

3.3启动clickhouse-server

3.4任意节点连接clickhouse

3.5查看集群

3.6建库

3.7查看数据库

3.8创建本地表

3.9创建分布式表


1.clickhouse中文文档地址

ClickHouse教程 | ClickHouse Docs

2.centos安装部署

2.1采用tgz的方式安装

官网上安装部署有比较详细的说明,具体文档地址如下,支持deb、rpm、tgz、docker等安装部署方式
https://clickhouse.com/docs/zh/getting-started/install/


tgz包下载地址:
https://packages.clickhouse.com/tgz/
https://github.com/ClickHouse/ClickHouse/releases

tgz包上传到同一个目录下,执行以下操作

tar -zxvf clickhouse-common-static-21.1.9.41.tgz -C /opt/clickhouse/

tar -zxvf clickhouse-common-static-dbg-21.1.9.41.tgz -C /opt/clickhouse/

tar -zxvf clickhouse-server-21.1.9.41.tgz -C /opt/clickhouse/

tar -zxvf clickhouse-client-21.1.9.41.tgz -C /opt/clickhouse/

sh doinst.sh

2.2修改配置文件

vi /etc/clickhouse-server/config.d/listen.xml

<listen_host>0.0.0.0</listen_host>

vim /etc/clickhouse-server/config.xml

<!-- <listen_host>::</listen_host> -->

<listen_host>0.0.0.0</listen_host>


<tcp_port>9002</tcp_port>

启动:
 

systemctl start clickhouse-server

登录:

clickhouse-client --port 9002 -m --password root

密码”root”为安装时设置的密码

2.3修改数据目录

如果后期需要修改,可按照此步骤执行。

配置文件  config.xml

clickhouse默认数据目录在 /var/lib/clickhouse, 一般分区空间有限,需要修改。
只要停止数据库之后移走该目录再软连接回原地址,即可不修改config.xml实现对数据目录的修改。

#先停库

sudo clickhouse stop

sudo mkdir -p /data01/ch/

#权限一定要修改否则没权限就启动不了

sudo chown -R clickhouse:clickhouse /data01/ch

sudo mv /var/lib/clickhouse /data01/ch/

#建立软连接

sudo ln -s /data01/ch/clickhouse /var/lib/clickhouse

sudo chown -R clickhouse:clickhouse /var/lib/clickhouse

sudo ls -l /var/lib/clickhouse

#启动

sudo clickhouse start

2.4创建角色和目录

创建角色
创建一个角色acaidb_rw, 该角色针对数据库acaidb具备读写权限。

CREATE ROLE acaidb_rw;
GRANT SELECT, INSERT, ALTER UPDATE, ALTER DELETE ON acaidb.* TO acaidb_rw;

如果让一个角色只允许select,不允许修改数据,下面的语句就可以。

CREATE ROLE acaidb_read;
GRANT SELECT ON acaidb.* TO acaidb_read;

创建普通账户并赋权
我们分别创建账户reader和writer,然后把只读角色ro分配给reader,把读写角色分配给writer。这样,reader拥有只读权限,writer拥有读写权限。 新建一个数据库用户acai,并设置密码(将下文的<你的密码>替换)。并给用户acai赋予读写权限角色acaidb_rw 。

CREATE USER IF NOT EXISTS acai IDENTIFIED WITH sha256_password BY '<你的密码>';

GRANT acaidb_rw TO acai;

使用下列命令访问clickhouse数据,show databases得到acaidb,说明我们成功了。因为acai用户只能访问acaidb。

# clickhouse-client -m -u acai --password '<你的密码>' --query 'show databases;'

3 集群安装

3.1配置文件修改

添加:

<test_cluster_three_shards_internal_replication>

            <shard>

                <internal_replication>true</internal_replication>

                <replica>

                    <host>master</host>

                    <port>9002</port>

                </replica>

            </shard>

            <shard>

                <internal_replication>true</internal_replication>

                <replica>

                    <host>slave1</host>

                    <port>9002</port>

                </replica>

            </shard>

<shard>

                <internal_replication>true</internal_replication>

                <replica>

                    <host>slave2</host>

                    <port>9002</port>

                </replica>

            </shard>

        </test_cluster_three_shards_internal_replication>



    <zookeeper>

        <node>

            <host>master</host>

            <port>2181</port>

        </node>

        <node>

            <host>slave1</host>

            <port>2181</port>

        </node>

        <node>

            <host>slave2</host>

            <port>2181</port>

        </node>

</zookeeper>



    <macros>

        <shard>01</shard>

        <replica>master-replica01</replica>

    </macros>

3.2启动zookeeper

见文档《hbase文档》

3.3启动clickhouse-server

systemctl start clickhouse-server

3.4任意节点连接clickhouse

clickhouse-client --host=slave2 --port=9002 -m --password root

3.5查看集群

select cluster,shard_num,replica_num,host_name,port,user,is_local from system.clusters;

Select version();

3.6建库

 

3.7查看数据库

Show databases;

Show create database test01;

3.8创建本地表

      

3.9创建分布式表


 

db:数据库名。

local_table_name:对应的已经创建的本地表表名。

shard table:同上,对应的已经创建的本地表表名。

sharding_key:分片表达式。可以是一个字段,例如user_id(integer类型),通过对余数值进行取余分片;也可以是一个表达式,例如rand(),通过rand()函数返回值/shards总权重分片;为了分片更均匀,可以加上hash函数,如intHash64(user_id)

参考:https://blog.csdn.net/mnasd/article/details/127648739

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

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

相关文章

【Linux 驱动】IMX6ULL pinctrl驱动

1. 概述 Linux 驱动讲究驱动分离与分层&#xff0c;pinctrl 和 gpio 子系统就是驱动分离与分层思想下的产物。pinctrl顾名思义就是引脚控制&#xff0c;用来配置比如引脚mux复用信息&#xff0c;引脚电器属性&#xff08;比如上/下拉、速度、驱动能力等&#xff09;信息。gpio顾…

学会区分大模型——大模型的分类,让你更清晰的认识大模型

乱花渐欲迷人眼&#xff0c;学会从根本上认识问题 现在市面上大模型如百花齐放&#xff0c;对很多人来说一堆大模型带来的不是简单方便&#xff0c;而是乱七八糟以及迷茫。 因为不知道不同的大模型之间有什么区别&#xff0c;也不知道自己需要什么样的大模型&#xff1b;就拿…

【C++题解】1375. 拦截导弹方案求解

问题&#xff1a;1375. 拦截导弹方案求解 类型&#xff1a;贪心 题目描述&#xff1a; 某国为了防御敌国的导弹袭击&#xff0c;发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷&#xff1a; 虽然它的第一发炮弹能够到达任意的高度&#xff0c;但是以后每一发炮弹都…

理解Flink数据流图

前言 在大数据处理的世界里&#xff0c;Apache Flink 已经成为处理实时数据流的一个强大工具。Flink 提供了一种高度灵活的方法来构建复杂的数据处理管道&#xff0c;其核心是所谓的 DataFlow 图模型。本文将带你深入了解 Flink DataFlow 图的基础知识&#xff0c;帮助你理解它…

Hadoop入门基础(一):深入探索Hadoop内部处理流程与核心三剑客

在大数据的世界里&#xff0c;处理海量数据的需求越来越多&#xff0c;而Hadoop作为开源的分布式计算框架&#xff0c;成为了这一领域的核心技术之一。 一、Hadoop简介 Hadoop是Apache Software Foundation开发的一个开源分布式计算框架&#xff0c;旨在使用简单的编程模型来…

别再问了!微信小程序的那些事儿,一文搞定

微信小程序是一种无需下载安装即可使用的应用&#xff0c;它嵌入在微信生态中&#xff0c;用户通过微信扫一扫或搜索即可快速访问。 无论是购物、订餐、预约服务&#xff0c;还是玩个小游戏、看篇文章&#xff0c;都不需要下载额外的APP&#xff0c;直接就能在微信里搞定。不会…

Leading SAFe领导大规模敏捷认证公开课

课程简介 SAFe – Scaled Agile Framework是目前全球最广泛使用的大规模敏捷框架&#xff0c;也是全球敏捷相关认证中增长最快、最受认可的规模化敏捷认证。全球已有超过120万名SAFe认证专业人士。据官方统计&#xff0c;获得SAFe认证的IT专业人士平均工资增长13,000美元&…

C++:模拟实现string

前言&#xff1a; 为了更好的理解string底层的原理&#xff0c;我们将模拟实现string类中常用的函数接口。为了与std里的string进行区分&#xff0c;所以用命名空间来封装一个自己的strin类。 string.h #pragma once #define _CRT_SECURE_NO_WARNINGS 1#include<iostream&…

arm 的寄存器概述(8)

关于寄存器的概述。 带 三角形的是 这种模式下 独有的寄存器&#xff0c;也就是说&#xff0c;FIQ模式下与 SYstem/user 模式下&#xff0c;虽然都有r8 寄存器&#xff0c;但是不是一个东西。 r13 (SP ) 这是堆栈指针&#xff0c; r15(PC ) 这是 code 的指针。 r14(LR ), 这…

自动化与高效设计:推理技术在FPGA中的应用

想象一下&#xff0c;你正在设计一个复杂的电路系统&#xff0c;就像在搭建一座精巧的积木城堡。你手头有各种形状和功能的积木块&#xff0c;这些积木块可以组合成任何你需要的结构。在这个过程中&#xff0c;你有两种主要的方法&#xff1a;一种是手动挑选和搭建每一块积木&a…

安装JDK与配置环境变量

安装JDK与配置环境变量 JDK安装包所在路径&#xff1a;/opt/software/jdk-8u221-linux-x64.tar.gz 详细步骤 安装JDK与配置环境变量一、进入JDK安装目录/opt/software二、解压“jdk-8u221-linux-x64.tar.gz”安装包至当前目录三、查看/opt/software/目录下解压文件四、编辑系统…

鹅厂探索国漫新方向,谁家新作能不负期待?

上周一年一度的腾讯视频动漫大赏年度发布会结束了&#xff0c;但动漫迷们的讨论却没有停止。此次的片单分为“气”“大怪”“阁”三大主题&#xff0c;今天来和大家回顾解读一下“气”和“阁”有哪些看点吧。 首先想谈一谈“阁”&#xff0c;它是平台在内容升级思路上的体现&am…

C指针汇总——藏在数组名与指针之间的异同及使用细节

指针与数组的异同 数组名&#xff1a; 是一个指针常量(数组名的值是数组首元素的指针常量)&#xff0c;指向数组的首元素。大小固定为整个数组的大小。无法被改变或重新赋值(这里指数组名不能被赋值(指针常量不能指向其它地址)&#xff0c;数组元素是可以被重新设置的)。无法进…

企业CAD图纸加密软件推荐!2024年好用的10款CAD图纸加密软件排行

在现代企业中&#xff0c;CAD图纸作为重要的设计和工程数据&#xff0c;其安全性和保密性至关重要。为了防止图纸被非法获取、篡改或滥用&#xff0c;选择一款高效的CAD图纸加密软件显得尤为重要。本文将为您推荐2024年市场上十款好用的CAD图纸加密软件&#xff0c;帮助企业保护…

2024最新50道NLP和人工智能领域面试题+答案(中文+英文双版本)

编者按&#xff1a;分享一个很硬核的免费人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c; 可以当故事来看&#xff0c;轻松学习。 中文版本 自然语言处理 (NLP)已成为语言学、人工智能和计算机科学交叉领域的变革性领域。随着文本数据量的不断增加&…

图形编辑器基于Paper.js教程15:在Paper.js中实现拖拽图片导入画布功能

在现代Web开发中&#xff0c;用户体验是至关重要的。而拖拽文件上传的功能&#xff0c;不仅直观易用&#xff0c;还提升了用户与界面的交互体验。在这篇文章中&#xff0c;我们将探讨如何使用Paper.js和HTML5的拖放API&#xff0c;来实现将图片文件直接拖拽并导入到Paper.js的画…

如何让图片清晰度变高?介绍三种转变方案

如何让图片清晰度变高&#xff1f;在数字化时代&#xff0c;图片的质量直接影响着信息传递的效果。但由于拍摄条件、传输方式或存储时间的限制&#xff0c;我们时常会遇到图片清晰度不足的问题。还好随着技术的进步&#xff0c;现在有多种方法可以有效提升图片的清晰度。下文将…

arm 的模式+异常(7)

1 Byte , 8 bit, HarlfWord , 16bit , word ,32bit. 2 在内存中每一字节都有一个地址与它对应。 3 操作系统的8种模式 用户模式&#xff1a; 不能访问硬件资源&#xff0c;但是可以通过系统调用来访问。 疑问&#xff1a; 那不还是可以访问硬件资源吗&#xff1f; 系统模…

Zookeeper集群如何实现强一致性和高可用,集群数据同步过程

在分布式系统中&#xff0c;通常会面临如下问题&#xff1a; 分布式协调&#xff1a;在分布式环境下&#xff0c;多个节点需要协同工作&#xff0c;确保多个服务之间数据的一致性以及系统的可靠性。 分布式锁&#xff1a;在分布式系统中&#xff0c;多个节点可能需要同时访问共…

ppt模板软件哪个好?这5个工具提供各种类型的PPT模板

在筹备一场关于中元节的精彩演讲时&#xff0c;你是否曾陷入过寻找完美PPT模板的困境&#xff1f;那些千篇一律的设计是否让你觉得乏味&#xff0c;渴望一份创意与美感并存的视觉呈现&#xff1f; 别担心&#xff0c;今天&#xff0c;我将为你揭晓几款宝藏级软件&#xff0c;它…