ClickHouse进阶(十八):clickhouse管理与运维-用户配置

news2024/11/24 16:34:10

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容!

🏡个人主页:含各种IT体系技术,IT贫道_大数据OLAP体系技术栈,Apache Doris,Kerberos安全认证-CSDN博客

📌订阅:拥抱独家专题,你的订阅将点燃我的创作热情!

👍点赞:赞同优秀创作,你的点赞是对我创作最大的认可!

⭐️ 收藏:收藏原创博文,让我们一起打造IT界的荣耀与辉煌!

✏️评论:留下心声墨迹,你的评论将是我努力改进的方向!

 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频


目录

1. 用户Profile

​​​​​​​2. 配置约束

​​​​​​​2. 用户定义


在之前使用clickhouse过程中为了简便我们使用的default默认用户,默认无密码登录模式,这显然不符合生产环境的要求。我们可以通过“/etc/clickhoue-server/user.xml”来配置用户相关配置项,此文件可以配置系统参数设置、用户定义、权限、以及熔断机制等。

​​​​​​​1. 用户Profile

用户Profile类似用户角色,可以预先在user.xml中为clickhouse定义多组profile角色,并为每组角色定义不同的配置项以实现配置的复用,例如:

<yandex>
	<!-- 配置profiles -->
	<profiles>
		<default><!-- 自定义角色,默认名称 -->
			<max_memory_usage>10000000000</max_memory_usage>
			<use_uncompressed_cache>0</use_uncompressed_cache>
		</default>
		<test1><!-- 自定义角色,默认名称 -->
			<distributed_product_mode>allow</distributed_product_mode>
		</test1>
		... ...
	</profiles>
	... ...
</yandex>
注意:
1.max_memory_usage:在单个clickhouse服务进程中,运行一次查询限制使用的最大内存用量,默认值为10G
2.use_uncompressed_cache:是否使用未压缩块的缓存,填写0或1。默认情况下,0(禁用)。
3.distributed_product_mode:当查询时包含分布式表join时,更改分布式子查询行为。allow允许使用子查询。

以上配置中我们定义了“default”和“test1”两组profile角色,在user.xml中配置用户时,我们就可以使用对应的角色。

注意:在<profiles>标签配置中,名称为“default”的profile将作为默认的配置被加载,所以必须有“default”角色。

​​​​​​​2. 配置约束

constraints标签可以设置一组约束条件,保证profile角色内的参数值不会被随意修改,约束条件有如下三种规则:

  1. Min:最小值约束,在设置相应参数的时候,取值不能小于该阈值。
  2. Max:最大值约束,在设置相应参数的时候,取值不能大于该阈值。
  3. Readonly:只读约束,该参数值不允许被修改。

例如,修改user.xml中<default>profile角色,如下:

<yandex>
	<!-- 配置profiles -->
	<profiles>
		<default><!-- 自定义角色,默认名称 -->
			<max_memory_usage>10000000000</max_memory_usage>
		  <distributed_product_mode>allow</distributed_product_mode>
			<constraints><!--配置约束-->
				<max_memory_usage>
					<min>5000000000</min>
					<max>20000000000</max>
				</max_memory_usage>
				<distributed_product_mode>
					<readonly/>
				</distributed_product_mode>
			</constraints>
		</default>
		... ...
	</profiles>
	... ...
</yandex>

从上面的配置我们可以看出,在default默认的profile角色内给两组参数设置了约束,配置完成之后可以直接登录clickhouse,尝试修改对应的值:

#修改使用最大内存
node1 :) set max_memory_usage=50;
 DB::Exception: Setting max_memory_usage shouldn't be less than 5000000000. (SETTING_CONSTRAINT_VIOLATION)

#修改distributed_product_mode的参数值
node1 :) set distributed_product_mode='deny';
 DB::Exception: Setting distributed_product_mode should not be changed. (SETTING_CONSTRAINT_VIOLATION)

以上我们可以看到配置约束成功阻止了预期外的修改。

注意:在default中默认定义的constraints约束,将作为默认全局约束,自动被其他profile继承。

​​​​​​​2. 用户定义

在user.xml中可以使用users标签配置自定义用户,我们可以在user.xml中看到<users>标签下有default用户,我们之前使用默认就是此用户。下面我们配置一个新的用户“zhangsan”,user.xml配置如下:

<yandex>
... ...
	<users>
		<default>
			... ...
		</default>
		<zhangsan>
			<!-- 设置密码 -->
			<password>123456</password>
			
			<!-- 设置用户允许登录的网络地址 -->
			<networks>
				<!-- 表示任意节点登录 -->
				<ip>::/0</ip>
			</networks>
			
			<!-- 用户使用的profile 角色 -->
			<profile>default</profile>
			
			<!-- 设置熔断机制 -->
			<quota>default</quota>
			
		</zhangsan>
	</users>
</yandex>

以上配置完成后,不需重启clickhouse,使用用户zhangsan登录clickhouse,操作如下:

[root@node1 ~]# clickhouse-client -u zhangsan --password 123456

用户zhangsan有密码登录生效。


👨‍💻如需博文中的资料请私信博主。


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

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

相关文章

ABB机器人如何修改num数据类型的参数?

ABB机器人如何修改num数据类型的参数? 在实际的生产项目中,机器人中可能会声明一些num数据类型的变量,作为相关的生产参数,例如:生产计数、等待时间、吹气时间、电磁阀动作时间等, 那么,如何在必要时对这些参数进行修改呢? 具体的方法和步骤可参考以下内容: 如下图所示…

《金字塔原理》阅读笔记

我们都希望在思考、沟通交流和解决问题时&#xff0c;重点突出&#xff0c;思路清晰&#xff0c;层次分明。我们评价人时&#xff0c;有一个标准是逻辑思维能力&#xff0c;而逻辑思维能力的标准又是什么&#xff1f;我们指导别人“要逻辑清晰、条理分明”&#xff0c;可怎样才…

JavaWeb 学习笔记 3:Servlet

JavaWeb 学习笔记 3&#xff1a;Servlet 1.简介 Servlet 是 JavaEE 定义的一套 Web 应用开发标准&#xff08;接口&#xff09;&#xff0c;实现了该技术的 Web 服务器软件&#xff08;如 Tomcat&#xff09;上可以运行一个 Servlet 容器&#xff0c;只要我们使用 Servlet 技…

【Kubernetes二进制安装】

Kubernetes二进制安装 cluster-health&#xff1a;检查etcd集群的运行状况也就是说 kubelet 首次访问 API Server 时&#xff0c;是使用 token 做认证&#xff0c;通过后&#xff0c;Controller Manager 会为 kubelet 生成一个证书&#xff0c;以后的访问都是用证书做认证了。在…

RS485以及MODBUS学习

学习目的&#xff1a; 1、什么是485&#xff1f; 2、485如何通信&#xff1f; 3、如何使用熟能生巧&#xff1f; RS485是一种四总线通信&#xff0c;分别是VCC、GND、485_A、485_B。两根负责通信&#xff0c;两根负责进行供电。 RS485通信 硬件层&#xff1a;解决的是数据传输问…

【ELFK】之消息队列kafka

一、kafka的定义 Kafka 是一个分布式的基于发布/订阅模式的消息队列&#xff08;MQ&#xff0c;Message Queue&#xff09;&#xff0c;主要应用于大数据实时处理领域。Kafka 是最初由 Linkedin 公司开发&#xff0c;是一个分布式、支持分区的&#xff08;partition&#xff0…

Arduino程序设计(十)8×8 LED点阵显示(MAX7219)

88 LED点阵显示 前言一、MAX7219点阵模块二、点阵显示实验1、点阵显示部分图形2、点阵显示数字 0 ~ 9 及 26 个英文字母 总结 前言 本文主要介绍88 LED点阵显示实验&#xff0c;分别是&#xff1a;1、介绍MAX7219点阵模块&#xff1b;2、点阵显示部分图形&#xff1b;3、点阵显…

探索以太坊 Layer 2 解决方案的后起之秀——Starknet

作者: stellafootprint.network 数据来源: Starknet Dashboard “区块链三难题”&#xff0c;或“可扩展性三难题”&#xff0c;强调了区块链平台想要去平衡安全性、去中心化和可扩展性将面临的挑战。通常情况下&#xff0c;区块链架构只能有效地优先考虑其中两个难题。例如&…

蓝牙核心规范(V5.4)10.2-BLE 入门笔记之CIS篇

LE CIS 同步通信 同步通信提供了一种使用蓝牙LE在设备之间传输有时间限制的数据的方式。它提供了一个机制,允许多个接收器设备在不同的时间从相同的源接收数据,以同步它们对该数据的处理。LE AUDIO使用同步通信。 当使用同步通信时,数据具有有限的时间有效期,在到期时被认…

Nacos服务注册中心

1.引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency> 2. application.properties中配置 #-------------- Nacos配置 spring.cloud.nacos.…

项目开发过程中,客户提出了新的需求,怎么办?

由于用户已经签署用户需求报告&#xff0c;面对他们提出的新需求&#xff0c;要初步评估判断是否涉及相关需求的变更&#xff0c;作为项目经理&#xff0c;我会采取以下步骤&#xff1a; 1. 与客户进行沟通&#xff1a;首先&#xff0c;我会与客户进行进一步的沟通和讨论&…

【视觉SLAM入门】9.1 建图1---SLAM任务,稠密地图构建,立体视觉,RGBD,八叉树,点云地图等各种不同地图

"讷为君子&#xff0c;寡为吉人 ” 1. 立体稠密地图1.1 地图构建1.2 分析立体相机稠密建图效果 2. RGB-D稠密地图2.1 地图对比2.1.1 八叉树地图 3. 建图&#xff1f;定位&#xff1f;孰轻孰重3.1 鬼影问题3.2 三维重建 4. 总结 SLAM的功能&#xff1a; 直到现在我们可以知…

嵌入式:驱动开发 Day7

作业&#xff1a;基于GPIO子系统&#xff0c;编写LED的驱动程序和应用程序 驱动程序&#xff1a;myled.c #include <linux/init.h> #include <linux/module.h> #include <linux/cdev.h> #include <linux/fs.h> #include <linux/device.h> #inc…

Python入门-pack和unpack的用法

struct.calcsize(format) 返回与格式字符串format相对应的结构体的大小&#xff08;以及由 生成的字节对象的大小 &#xff09; 使用大端顺序打包和解包三种不同大小的整数&#xff1a; from struct import *pack(">bhl", 1, 2, 3)unpack(>bhl, b\x01\x00\x…

聚焦企业开放OpenAPI痛难点,华为云API Explorer助力伙伴构建API门户

当前&#xff0c;IT研发的主流架构已从单体架构向微服务架构转型&#xff0c;带动了产品迭代速度和项目交付速度不断加快&#xff0c;随着整个IT产业规模的不断扩大&#xff0c;API数量也随之呈爆发式增长。据不完全统计&#xff0c;目前业界有70%到90%的业务是通过开源代码和第…

数据可视化 -- ECharts 入门

文章目录 引言1. ECharts的基本使用1.1 ECharts的快速上手1.2 相关配置讲解 2. ECharts常用图表2.1 图表1 柱状图2.1.1 柱状图的实现步骤2.1.2 柱状图的常见效果2.1.3 柱状图特点2.1.4 通用配置 2.2 图表2 折线图2.2.1 折线图的实现步骤2.2.2 折线图的常见效果2.2.3 折线图的特…

Java的Socket通信的断网重连的正确写法

Java的Socket通信的断网重连的正确写法 Socket通信的断网重连介绍客户端与服务端源码演示截图本地演示服务器演示演示截图 总结 Socket通信的断网重连介绍 针对于已经建立通信的客户端与服务器&#xff0c;当客户端与服务器因为网络问题导致网络不通而断开连接了或者由于服务器…

ET数据无效值处理(仅代表个人观点)

1将无效值去除查看&#xff0c;查看有效值 有效值范围为1830~9472 2.计算有效范围最大值最小值 如果计算四分数据得将栅格属性表导出execl进行计算 2根据该片文章进行替换 如何处理MODIS蒸散数据(ET)中的填充值&#xff08;仅作参考&#xff09;_Z_W_H_的博客-CSDN博客

大数据学习1.1-Centos8虚拟机安装

1.创建新的虚拟机 2.选择稍后安装OS 3.选择Linux的CentOS8 4.选择安装路径 5.分配20g存储空间 6.自定义硬件 7.分配2g内存 8.分配2核处理器 9.选择镜像位置 10.开启虚拟机安装 推荐密码设置为root

TS开发环境搭建

一、安装Node.js 官网&#xff1a;Node.js (nodejs.org) 可以去看别的大佬安装Node.js的文章&#xff0c;因为大部分人都安装了Node环境&#xff0c;这里我就不做说明 二、使用npm全局安装typescript 在终端中输入如下命令&#xff1a; npm i -g typescript 安装完成会有如…