常用环境部署(六)——centos7.4 通过 docker部署clickhouse

一、拉取镜像并启动

1、拉取clickhouse镜像

docker pull yandex/clickhouse-server

2、启动server端

我的命令:

docker run -d --name clickhouse-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 yandex/clickhouse-server

 大家也可以使用:

docker run -d --name clickhouse-server --restart=always --ulimit nofile=262144:262144 -p 8123:8123 -p 9001:9000 yandex/clickhouse-server

二、进入容器操作数据库

1、进入容器

docker exec -it clickhouse-server /bin/bash

2、进入clickhouse命令行

clickhouse-client

  

3、显示数据库

show databases

4、选择数据库

use default

5、显示表 

show tables

6、创建表

CREATE TABLE IF NOT EXISTS student
(
stuid String COMMENT '学号',
class_id Nullable(String) COMMENT '班级',
name_id Nullable(String) COMMENT '名字'
) ENGINE = MergeTree() PARTITION BY stuid 
ORDER BY (stuid) 
PRIMARY KEY (stuid) SETTINGS index_granularity=8192;

 7、插入数据

insert into student (stuid,class_id,name) 
values('10022','2302','xiaoming');

8、查询

select * from student

三、远程授权

1、修改配置文件

配置文件路径一般为/etc/clickhouse-server/config.xml,在配置文件中添加如下一行

<listen_host>::</listen_host> 
/etc/clickhouse-server/
vim config.xml
<listen_host>::</listen_host> 取消注释
 
注意一定要配成 :: 而且要将其他本地监视连接注释,0.0.0.0将导致本地的命令行客户端无法连接,本地命令行客户端使用的是ipv6地址

vim users.xml
 
<networks>
    <ip>::/0</ip>
</networks>

如果修改密码
修改users.xml中password,无需重启即可生效

 2、重启容器

保存后重启服务,再重新用DBeaver连接可成功

systemctl restart clickhouse-server.service

也可以直接重启容器

docker ps -a  查看对应的容器id
docker restart 容器id 

3、测试链接

 

连接docker
可以使用dbeaver 作为clickhouse的连接工具
默认账户default ,密码为空

四、修改默认用户default密码 

1、配置文件介绍

clickhouse的主要配置文件在 /etc/clickhouse-server目录下

扫描二维码关注公众号,回复: 14894047 查看本文章

在该目录下,我们可以看到config.xml以及users.xml两个配置文件

(1)config.xml是系统相关的配置项,包括系统的启动端口、配置文件存储位置等等 

(2)users.xml 是用户相关的配置项,包括了系统参数的设定、用户的定义、权限以及熔断机制等等

2、打开users.xml,修改default用户密码

 打开users.xml,找到标签,该标签定义了用户信息

password用于设置登录密码,支持明文、SHA256加密和double_shal加密三种形式,我们可以根据实际需求,认选一种进行配置。我们下面介绍最简单的,明文修改密码

明文密码:直接通过password标签定义

<password>123</password>    --注意:当password标签为空时,代表免密码登录。

 3、重启服务

我是用dockers安装的,所以重启命令为:

docker restart 容器id

4、测试链接

密码设定完成之后,直接使用clickhouse-client连接clickhouse-server客户端就不能成功了,会提示密码错误或用户不存在。此时我们应该指定登录密码,命令如下:

//-u 为指定使用哪个账号进行登录,如不指定。默认使用default

clickhouse-client -u default --password 123

猜你喜欢

转载自blog.csdn.net/wd520521/article/details/129725526