当前位置: 首页 > news >正文

ClickHouse集群的安装

目录

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 stopsudo mkdir -p /data01/ch/#权限一定要修改否则没权限就启动不了sudo chown -R clickhouse:clickhouse /data01/chsudo mv /var/lib/clickhouse /data01/ch/#建立软连接sudo ln -s /data01/ch/clickhouse /var/lib/clickhousesudo chown -R clickhouse:clickhouse /var/lib/clickhousesudo 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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++指南】深入剖析:C++中的引用
  • 【大数据平台】数据存储、处理与分析
  • vue2子传值给父组件
  • 绘唐TK小说推文工具,聚星小说推文一键生成工具
  • nvidia jetson 系列开发板交叉编译方法,CUDA依赖程序
  • 免费分享:1900-2023中国大都市群自然灾害数据(附下载方式)
  • C语言:链表插入
  • qiankun微前端
  • 【MySQL进阶之路】表结构的操作
  • live2d + edge-tts 优雅的实现数字人讲话 ~
  • 【在线+sdwebui】在线免费运行stable-diffusion-webui (无需配置环境)
  • 组件间通信高级
  • Windows平台RTSP|RTMP播放器如何实时调节音量
  • 使用 Fyne 构建 GUI 应用:设置标签文本和自增计数器
  • LLMs之Framework:Hugging Face Accelerate后端框架之FSDP和DeepSpeed的对比与分析
  • [ JavaScript ] 数据结构与算法 —— 链表
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Nodejs和JavaWeb协助开发
  • rc-form之最单纯情况
  • Sass Day-01
  • 包装类对象
  • 高程读书笔记 第六章 面向对象程序设计
  • 工作中总结前端开发流程--vue项目
  • 今年的LC3大会没了?
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 软件开发学习的5大技巧,你知道吗?
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 算法-插入排序
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • Java数据解析之JSON
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • # 飞书APP集成平台-数字化落地
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (C++17) std算法之执行策略 execution
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (备份) esp32 GPIO
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (面试必看!)锁策略
  • (三分钟)速览传统边缘检测算子
  • (顺序)容器的好伴侣 --- 容器适配器
  • (算法)区间调度问题
  • (一)appium-desktop定位元素原理
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • ****三次握手和四次挥手
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .Net Core中Quartz的使用方法
  • .NET 分布式技术比较
  • .netcore如何运行环境安装到Linux服务器