七十五ClickHouse的简介与安装

Posted 象在舞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七十五ClickHouse的简介与安装相关的知识,希望对你有一定的参考价值。

ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。本文我们主要看一下它的安装,分为单机模式与分布式模式。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~


目录

一、ClickHouse的概述

1.1 ClickHouse的简介

1.2 ClickHouse的特点

二、ClickHouse的安装

2.1 单机模式

2.2 分布式安装


一、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代码)

MATLAB应用实战系列( 七十五) -图像处理应用 MATLAB实现基于分水岭算法的图像分割 (附matlab代码)

七十六ClickHouse的表引擎以及SQL语法

七十六ClickHouse的表引擎以及SQL语法

第二百七十五节,MySQL数据库安装和介绍