一、什么是ClickHouse
1、ClickHouse是一个用于联机分析处理(OLAP)的开源列式数据库管理系统(DBMS)。
2、它被设计用于数据仓库和数据湖的分析查询,可以在低延迟和高吞吐量的情况下,对大型数据集进行高效分析。
3、ClickHouse具有高度可调的数据压缩、高性能的数据查询和完全分散式的结构,使其成为存储、查询PB级数据的理想选择。
二、Docker安装ClickHouse实战及详解
1、拉取ClickHouse镜像
在终端中输入以下拉取命令:
docker pull yandex/clickhouse-server
2、创建ClickHouse容器
以下是创建容器的命令示例:
sudo docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 --volume=$HOME/clickhouse/config.xml:/etc/clickhouse-server/config.xml --volume=$HOME/clickhouse/log:/var/log/clickhouse-server yandex/clickhouse-server
该命令的说明如下:
• --name: 容器的名称,我们可以随意设置;
• -d:表示在后台运行;
• --ulimit:调整文件描述符数量,若出现过多文件描述符被占用的问题时可以用这个来调整限制,若不用可以不加;
• --volume:将本地的一个或多个目录挂载到容器中;
• yandex/clickhouse-server:使用哪个镜像;
3、测试ClickHouse
通过以下命令启动ClickHouse的命令行界面:
sudo docker exec -it some-clickhouse-server clickhouse-client
出现ClickHouse客户端提示符后,输入以下示例命令进行测试:
CREATE DATABASE test; USE test; CREATE TABLE test_table(date Date, str String) ENGINE = Memory(); INSERT INTO test_table VALUES('2019-01-01', 'hello'); SELECT * FROM test_table;
4、使用ClickHouse客户端
输入以下命令:
docker run -it --rm yandex/clickhouse-client --host=192.168.0.123
该命令的说明如下:
• -it: 启动交互式容器,在终端中交互式的运行命令;
• --rm: 在退出客户端时,自动删除容器;
• --host: ClickHouse服务器的IP地址或主机名。
三、ClickHouse的配置文件
1、默认配置文件
ClickHouse有一个默认的配置文件,可以通过以下命令查看位置:
docker run -it --rm --entrypoint=cat yandex/clickhouse-server /etc/clickhouse-server/config.xml
我们可以自行修改default配置文件的参数,然后通过挂载到本地来使用该配置文件
2、自定义配置文件
如果我们需要用自定义的配置文件来启动ClickHouse,则需要将配置文件挂载到容器中。例如:
sudo docker run -d --name some-clickhouse-server -p 8123:8123 --ulimit nofile=262144:262144 --volume=$HOME/clickhouse/config.xml:/etc/clickhouse-server/config.xml yandex/clickhouse-server
在这里添加一些说明:
• -p 8123:8123:将容器中的8123端口映射到宿主机的8123端口上;
• --volume=$HOME/clickhouse/config.xml:/etc/clickhouse-server/config.xml:用来将本地系统上的配置文件挂载到容器中;
• yandex/clickhouse-server:ClickHouse的镜像名。
四、结尾
这样,我们就成功在Docker上安装了ClickHouse的环境,可以用于数据的存储和分析处理。通过以上步骤,你可以轻易地试用这个强大的数据库,也可以通过配置文件来对ClickHouse进行个性化的配置。