七十五ClickHouse的简介与安装
Posted 象在舞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七十五ClickHouse的简介与安装相关的知识,希望对你有一定的参考价值。
ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。本文我们主要看一下它的安装,分为单机模式与分布式模式。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~
目录
一、ClickHouse的概述
1.1 ClickHouse的简介
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。由号称“俄罗斯 Google”的Yandex开发而来,在计算引擎里算是一个后起之秀,在内存数据库领域号称是最快的。由于它有几倍于GreenPlum等引擎的性能优势,所以不少人都选择将其安装云服务器中使用。
ClickHouse是一个列导向数据库,是原生的向量化执行引擎。它在大数据领域没有走Hadoop生态,而是采用Local attached storage作为存储,这样整个IO可能就没有Hadoop那一套的局限。它的系统在生产环境中可以应用到比较大的规模,因为它的线性扩展能力和可靠性保障能够原生支持shard+replication这种解决方案。它还提供了一些SQL直接接口,有比较丰富的原生client。
ClickHouse的官网可以点击此处跳转~
1.2 ClickHouse的特点
1、速度快。ClickHouse性能超过了市面上大部分的列式存储数据库,相比传统的数据ClickHouse要快100-1000倍,ClickHouse还是有非常大的优势。例如:100Million的数据集ClickHouse比Vertica约快5倍,比Hive快279倍,比mysql快801倍。1Billion的数据集ClickHouse比Vertica约快5倍,MySQL和Hive已经无法完成任务了。
2、功能多。ClickHouse支持数据统计分析各种场景:(1)支持类SQL查询。(2)支持繁多库函数(例如IP转化,URL分析等,预估计算/HyperLoglog等)。(3)支持数组(Array)和嵌套数据结构(Nested Data Structure)。(4)支持数据库异地复制部署。
二、ClickHouse的安装
2.1 单机模式
1、安装依赖
yum install -y libtool *unixODBC*
2、下载安装包并上传到服务器上,可以点击此处进行下载。
3、安装rpm包
rpm -ivh *.rpm
4、启动ClickServer
clickhouse-server --config-file=/etc/clickhouse-server/config.xml
5、使用client连接server
clickhouse-client
看到如下界面,说明安装成功:
以上就是ClickHouse单机版的安装,比较简单。
2.2 分布式安装
1、将安装包分发到其余两台服务器
[root@master software]# xsync clickhouse/
2、在两台机器上执行安装命令
rpm -ivh *.rpm
3、修改config.xml配置文件
<listen_host>::</listen_host>
<!-- <listen_host>::1</listen_host> -->
<!-- <listen_host>127.0.0.1</listen_host> -->
4、将修改好的配置文件分发到其余各节点
[root@master software]# xsync /etc/clickhouse-server/config.xml
5、新建metrika.xml文件
<yandex>
<clickhouse_remote_servers>
<perftest_3shards_1replicas>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>master</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>slave01</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>slave02</host>
<port>9000</port>
</replica>
</shard>
</perftest_3shards_1replicas>
</clickhouse_remote_servers>
<zookeeper-servers>
<node index="1">
<host>master</host>
<port>2181</port>
</node>
<node index="2">
<host>slave01</host>
<port>2181</port>
</node>
<node index="3">
<host>slave02</host>
<port>2181</port>
</node>
</zookeeper-servers>
<macros>
<replica>master</replica>
</macros>
<networks>
<ip>::/0</ip>
</networks>
<clickhouse_compression>
<case>
<min_part_size>10000000000</min_part_size>
<min_part_size_ratio>0.01</min_part_size_ratio>
<method>lz4</method>
</case>
</clickhouse_compression>
</yandex>
6、将metrika.xml文件分发至其余各节点
[root@master software]# xsync /etc/metrika.xml
这里需要注意的是,需要将一下参数修改成对应主机的名称:
<macros>
<replica>master</replica>
</macros>
7、三台机器启动clickserver,这里需要提前将zookeeper启动起来。
clickhouse-server --config-file=/etc/clickhouse-server/config.xml
至此,分布式部署ClickHouse完成。
以上就是本文的所有内容,比较简单。你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题~
以上是关于七十五ClickHouse的简介与安装的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB应用实战系列( 七十五) -图像处理应用 MATLAB实现基于分水岭算法的图像分割 (附matlab代码)