ClickHouse单机版安装部署

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。

单个大查询的吞吐量

吞吐量可以使用每秒处理的行数或每秒处理的字节数来衡量。如果数据被放置在page cache中,则一个不太复杂的查询在单个服务器上大约能够以2-10GB/s(未压缩)的速度进行处理(对于简单的查询,速度可以达到30GB/s)。如果数据没有在page cache中的话,那么速度将取决于你的磁盘系统和数据的压缩率。例如,如果一个磁盘允许以400MB/s的速度读取数据,并且数据压缩率是3,则数据的处理速度为1.2GB/s。这意味着,如果你是在提取一个10字节的列,那么它的处理速度大约是1-2亿行每秒。

对于分布式处理,处理速度几乎是线性扩展的,但这受限于聚合或排序的结果不是那么大的情况下。

处理短查询的延迟时间

如果一个查询使用主键并且没有太多行(几十万)进行处理,并且没有查询太多的列,那么在数据被page cache缓存的情况下,它的延迟应该小于50毫秒(在最佳的情况下应该小于10毫秒)。 否则,延迟取决于数据的查找次数。如果你当前使用的是HDD,在数据没有加载的情况下,查询所需要的延迟可以通过以下公式计算得知: 查找时间(10 ms) * 查询的列的数量 * 查询的数据块的数量。

处理大量短查询的吞吐量

在相同的情况下,ClickHouse可以在单个服务器上每秒处理数百个查询(在最佳的情况下最多可以处理数千个)。但是由于这不适用于分析型场景。因此我们建议每秒最多查询100次。

数据的写入性能

我们建议每次写入不少于1000行的批量写入,或每秒不超过一个写入请求。当使用tab-separated格式将一份数据写入到MergeTree表中时,写入速度大约为50到200MB/s。如果您写入的数据每行为1Kb,那么写入的速度为50,000到200,000行每秒。如果您的行更小,那么写入速度将更高。为了提高写入性能,您可以使用多个INSERT进行并行写入,这将带来线性的性能提升。

-------------------------正式开始 --------------------------

安装

系统检查:

grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

Yandex ClickHouse团队建议使用官方预编译的rpm软件包,用于CentOS,RedHat和所有其他基于rpm的Linux发行版。

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

sudo yum install yum-utils
sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64

如果您想使用最新版本,请将stable替换为testing(建议您在测试环境中使用)。

然后运行这些命令以实际安装包:

sudo yum install clickhouse-server clickhouse-client

启动

可以运行如下命令在后台启动服务:

sudo service clickhouse-server start

可以在/var/log/clickhouse-server/目录中查看日志。

如果服务没有启动,请检查配置文件 /etc/clickhouse-server/config.xml。

你也可以在控制台中直接启动服务:

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

在这种情况下,日志将被打印到控制台中,这在开发过程中很方便。 如果配置文件在当前目录中,你可以不指定‘--config-file’参数。它默认使用‘./config.xml’。

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

clickhouse-client   或者  clickhouse-client --port=90000  

(修改端口无效)默认情况下使用‘default’用户无密码的与localhost:9000服务建立连接。 客户端也可连接远程服务,例如:

clickhouse-client --host=example.com --port=90000   

clickhouse-client 参数

参数 描述
--host, -h 目标服务器名,默认为 localhost
--port 目标端口,默认为 9000
--user, -u 连接用户,默认为 default
--password 连接用户密码,默认为空字符串
--query, -q 非交互模式下执行的命令
--database, -d 当前操作的数据库,默认选择配置文件配置的值(默认为 default 库)
--multiline, -m 如果设定,允许多行查询
--multiquery, -n 如果指定,允许处理由分号分隔的多个查询。只有在非交互式模式工作。
--format, -f 使用指定的默认格式输出结果
--vertical, -E 如果指定,默认使用垂直格式输出结果,等同于 --format=Vertical。在这种格式中,每个值可在单独的行上,显示宽表时很有用。
--time, -t 如果指定,在 stderr 中输出查询执行时间的非交互式模式下。
--stacktrace 如果指定,如果发生异常,也会输出堆栈跟踪。
--config-file 配置文件的名称,额外的设置或改变了上面列出的设置默认值。

配置修改

1、设置数据目录

vi /etc/clickhouse-server/config.xml

 

2、内存限制设置

vi /etc/clickhouse-server/users.xml

 

3、端口修改:

 

访问连接:clickhouse-client --port=90000

ClickHouse单机版安装部署_第1张图片

4、放开远程访问,只需放开::即可,其他host不能放开

ClickHouse单机版安装部署_第2张图片

 

测试

create /temporary/ table /if not exists/ test.zyl (id UInt16, name String) ENGINE=Memory;

-- 插入测试数据

insert into test.zyl (id, name) values (1, 'abc'), (2, 'bbbb');

你可能感兴趣的:(架构师,数据处理工具,clickhouse,大数据)