ClickHouse使用之一 —— server&&client搭建

发布时间 2023-09-11 11:39:37作者: 若-飞

1. 官方文档:

  https://clickhouse.com/docs/en/install

 

2. docker安装server:

sudo docker run -d 
-e CLICKHOUSE_DB=default -e CLICKHOUSE_USER=default 
-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e CLICKHOUSE_PASSWORD=123456  
-p 18123:8123 -p19000:9000 
--name some-clickhouse-server 
-v /Users/jay/clickhouse:/var/lib/clickhouse --ulimit nofile=262144:262144 
clickhouse/clickhouse-server

  这个命令设置了以下功能:

  1.  设置了默认数据库default,
  2. 设置了账号default, 设置 了密码:123456
  3. 开放8123端口到18123, 9000端口到19000
  4. 设置挂载:    /Users/jay/clickhouse:/var/lib/clickhouse

 

  注意端口的使用:

  1. 19000的端口是给clickhouse-client 进程准备的端口
  2. 18123端口是http端口

 

  http测试一下:

  echo 'SELECT version()' | curl 'http://localhost:18123/' --data-binary @- -H 'Authorization: Basic ZGVmYXVsdDoxMjM0NTY=‘

  在上述命令中,"ZGVmYXVsdDoxMjM0NTY=" 是将 "default:123456" 进行 Base64 编码后的结果

xxxx@MacBook-Pro ~ % echo 'SELECT version()' | curl 'http://localhost:18123/' --data-binary @- -H 'Authorization: Basic ZGVmYXVsdDoxMjM0NTY='
23.8.2.7

  搭建过程中报错:

  1. filesystem error: in create_directories: No space left on device [“/var/lib/clickhouse/preprocessed_configs”]

  如果您使用 Docker 安装 ClickHouse,并且本地磁盘还有足够的可用空间,那么可能是由于容器中的 ClickHouse 数据目录没有正确映射到本地磁盘而导致的问题。

  在 Docker 中,容器的数据通常会存储在容器的数据卷(volume)或挂载的主机目录中。如果容器的数据卷或挂载目录没有足够的可用空间,就会导致类似的错误。

  请确保在运行 ClickHouse 容器时正确设置了数据卷或挂载目录,并且容器中的 ClickHouse 数据目录正确映射到了本地磁盘,并且本地磁盘确实有足够的可用空间。

  例如,可以使用 -v 或 --volume 参数将容器内的 ClickHouse 数据目录映射到本地磁盘上的一个目录,类似于以下命令:

  docker run -d --name some-clickhouse-server -v /path/to/local/data:/var/lib/clickhouse clickhouse/clickhouse-server

  请将 /path/to/local/data 替换为您希望将容器中的 ClickHouse 数据目录映射到的本地目录路径。 

  确保映射的本地目录有足够的可用空间,并且重新运行 ClickHouse 容器,看看问题是否得到解决。

  如果问题仍然存在,可能还需要进一步检查容器和主机的磁盘使用情况,并确保没有其他配置或限制导致了此问题的发生。

  如果问题持续存在或需要进一步帮助,请提供更多的详细信息,以便更好地理解和解决问题。

3. docker安装client:

sudo docker run -it --rm --link some-clickhouse-server:clickhouse-server 
--entrypoint clickhouse-client clickhouse/clickhouse-server --host clickhouse-server

输入密码123456登陆:

 

这样就server/client就搭建完成了