ClickHouse教程
从本教程中可以获得什么?
通过学习本教程,您将了解如何设置一个简单的ClickHouse集群。它会很小,但是可以容错和扩展。然后,我们将使用其中一个示例数据集来填充数据并执行一些演示查询。
单节点设置
为了延迟演示分布式环境的复杂性,我们将首先在单个服务器或虚拟机上部署ClickHouse。ClickHouse通常是从deb或rpm包安装,但对于不支持它们的操作系统也有其他方法。
例如,您选择deb
安装包,执行:
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
在我们安装的软件中包含这些包:
clickhouse-client
包,包含clickhouse-client客户端,它是交互式ClickHouse控制台客户端。clickhouse-common
包,包含一个ClickHouse可执行文件。clickhouse-server
包,包含要作为服务端运行的ClickHouse配置文件。
服务器配置文件位于/etc/clickhouse-server/
。在继续之前,请注意config.xml
中的<path>
元素。它决定了数据存储的位置,因此它应该位于磁盘容量的卷上;默认值是/var/lib/clickhouse/
。如果你想调整配置,直接编辑config是不方便的。考虑到它可能会在将来的包更新中被重写。建议重写配置元素的方法是在配置中创建config.d文件夹,作为config.xml的重写方式。
你可能已经注意到了,clickhouse-server
安装后不会自动启动。 它也不会在更新后自动重新启动。 您启动服务端的方式取决于您的初始系统,通常情况下是这样:
sudo service clickhouse-server start
或
sudo /etc/init.d/clickhouse-server start
服务端日志的默认位置是/var/log/clickhouse-server/
。当服务端在日志中记录Ready for connections
消息,即表示服务端已准备好处理客户端连接。
一旦clickhouse-server
启动并运行,我们可以利用clickhouse-client
连接到服务端,并运行一些测试查询,如SELECT "Hello, world!";
.
Clickhouse-client的快速提示
交互模式:
clickhouse-client
clickhouse-client --host=... --port=... --user=... --password=...
启用多行查询:
clickhouse-client -m
clickhouse-client --multiline
以批处理模式运行查询:
clickhouse-client --query='SELECT 1'
echo 'SELECT 1' | clickhouse-client
clickhouse-client <<< 'SELECT 1'
从指定格式的文件中插入数据:
clickhouse-client --query='INSERT INTO table VALUES' < data.txt
clickhouse-client --query='INSERT INTO table FORMAT TabSeparated' < data.tsv