ClickHouse 安装部署

RPM安装包

推荐使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译rpm包。

首先,您需要添加官方存储库:

1
2
3
4
5
6
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client

sudo /etc/init.d/clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.

启动

如果没有service,可以运行如下命令在后台启动服务:

1
$ sudo /etc/init.d/clickhouse-server start

指定配置文件,手动从控制台启动服务器

1
$ clickhouse-server --config-file=/etc/clickhouse-server/config.xml

默认安装目录:

  • 配置文件路径 /etc/clickhouse-server/config.xml
  • 用户配置文件 /etc/clickhouse-server/users.xml
  • 数据文件路径 /var/lib/clickhouse
  • 日志文件路径 /var/log/clickhouse-server/

ClickHouse支持访问限制设置。它们位于users.xml文件(与config.xml同级目录)。 默认情况下,允许default用户从任何地方访问,不需要密码。可查看user/default/networks。 更多信息,请参见Configuration Files

修改配置文件,设置密码,并开放访问限制

打开配置文件

1
vim /etc/clickhouse-server/config.xml

<listen_host>::</listen_host> 的注释打开,这样就能让ClickHouse被除本机以外的服务器访问

或者禁用ipv6,只对ipv4开放访问,修改配置 <listen_host>0.0.0.0</listen_host>

打开users.xml文件,为默认default用户配置密码,支持设置明文密钥和加密密钥

<password>...</password>

<password_sha256_hex>...</password_sha256_hex>

密钥生成参考users.xml配置文件说明。

客户端连接

使用命令行客户端连接到服务器

1
$ clickhouse-client

默认情况下,使用default用户并不携带密码连接到localhost:9000。还可以使用–host参数连接到指定服务器。

Docker 安装

拉取clickhouse镜像

1
$ docker pull clickhouse/clickhouse-server

运行clickhouse实例

1
$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server

连接clickhouse服务

1
2
3
$ docker run -it --rm --link some-clickhouse-server:clickhouse-server --entrypoint clickhouse-client clickhouse/clickhouse-server --host clickhouse-server
# OR
$ docker exec -it some-clickhouse-server clickhouse-client

使用curl方式连接

1
echo "SELECT 'Hello, ClickHouse!'" | docker run -i --rm --link some-clickhouse-server:clickhouse-server curlimages/curl 'http://clickhouse-server:8123/?query=' -s --data-binary @-

停止和删除实例

1
2
$ docker stop some-clickhouse-server
$ docker rm some-clickhouse-server

更多网络配置和文件存储使用,请遵循Docker Hub上的指南。

参考