clickhouse 安装及配置

clickhouse 的安装和配置是及其简单,只要几个命令和几个xml就能搞定,这个我在开篇的时候就已经说过。

下面是具体的操作方法,可以给新手一些指导。

1 准备测试用虚拟机

clickhouse安装只有一个必须条件 : Linux, x86_64 with SSE 4.2 。可以用下面这个指令看下支不支持你的系统

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

下面采用的是ubuntu18.04系统,因为官方中默认是ubuntu,由于是测试所以就没有使用centos 。

首先准备了3台虚拟机作为测试集群(其实clickhouse没有要求用几台,如果你是搭着玩玩,甚至都可以用一台也可以工作或者使用docker,我这里主要是为了以后集群演示做的);

配置是 CPU 1CORE ,RAM 1G

-----------------------------

vms001 192.168.56.11

vms002 192.168.56.12

vms003 192.168.56.13

------------------------------

clickhouse 安装及配置

3台虚拟机ip信息

2 下载并安装clickhouse 服务器端和客户端

安装clickhouse 有多种方法:

如果你的服务器连接不上外网,那么会比较麻烦,需要自己手工去官网下载安装包(http://repo.yandex.ru/clickhouse/deb/stable/main/) 同样针对centos也是有相应的这些包的只是叫rpm包(https://packagecloud.io/Altinity/clickhouse)。

一共下载下面几个包:

# 基础包
clickhouse-common-static_18.14.17_amd64.deb
clickhouse-server-base_18.14.17_amd64.deb
clickhouse-server-common_18.14.17_all.deb
clickhouse-compressor_1.1.54318_amd64.deb
# 软件包
clickhouse-client_18.14.17_all.deb
clickhouse-server_18.14.17_all.deb
# 选装包(都是测试调试用的)
clickhouse-test_18.14.17_all.deb
clickhouse-common-static-dbg_18.14.17_amd64.deb

我为了方便,我就采用了联网自动安装的方式。

# 可选项
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
# 获取并设置安装包源
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list
# 更新包
sudo apt-get update
# 安装clickhouse-server clickhouse-client
sudo apt-get install -y clickhouse-server clickhouse-client

只要跑完上面的命令,这样clickhouse就算安装好了。

clickhouse 安装及配置

完整的安装过程

3 clickhouse配置文件说明

在上面的安装完后,接下来就可以开始启动服务了。

# 启动clickhouse-server

sudo service clickhouse-server start

在启动之后通过ps -ef|grep clickhouse 就能发现他就使用了一个配置文件

clickhouse 安装及配置

clickhouse service

clickhouse-server使用的入口配置文件只有一个config.xml

下面我们进入配置文件中心看下都有哪些文件(/etc/clickhouse-server/):

config-preprocessed.xml(这个是动态生成的,这使得不用重启服务也能实时生效配置文件)

config.xml (主要的配置文件控制未来的很多子配置文件,如users.xml,metrika.xml)

users-preprocessed.xml(这个是动态生成的,这使得不用重启服务也能实时生效配置文件)

users.xml (主要是配置用户信息的)

metrika.xml(这个文件是后来手工创建的,主要是将include_from的节点上的配置文件分离到这里来,提高config.xml文件的可读性,我采用调整默认路径到当前/etc/clickhouse-server/下方便些)


4 配置文件修改

1.为了配置文件统一管理,需要添加如下节点(调整include_from 到统一的配置文件中,因为默认的路径是/etc/metrika.xml)

<include>/etc/clickhouse-server/metrica.xml/<include>

2.创建metrica.xml,将集群信息调整到metrica.xml文件中,而原来config.xml中的集群信息需要做删除与调整。

clickhouse 安装及配置

调整config.xml的集群信息

在新建的metrica.xml中需要配置相应的集群信息,由于我使用是3台服务器,所以我需要配置3个节点,mycluster是集群名称,下面有3个shard,没有副本。

<yandex>
\t<clickhouse>
\t\t<mycluster>
\t\t\t<shard>
\t\t\t\t<replica>
\t\t\t\t\t<host>192.168.56.11/<host>
\t\t\t\t\t<port>9000/<port>
\t\t\t\t/<replica>
\t\t\t/<shard>
\t\t\t<shard>
\t\t\t\t<replica>

\t\t\t\t\t<host>192.168.56.12/<host>
\t\t\t\t\t<port>9000/<port>
\t\t\t\t/<replica>
\t\t\t/<shard>
\t\t\t<shard>
\t\t\t\t<replica>
\t\t\t\t\t<host>192.168.56.13/<host>
\t\t\t\t\t<port>9000/<port>
\t\t\t\t/<replica>
\t\t\t/<shard>
\t\t/<mycluster>
\t/<clickhouse>
/<yandex>

这样就配置完毕了。

5 启动服务和使用客户端工具连接clickhouse

在3台服务器中执行启动服务:

service clickhouse-server start

在任何一台服务器上执行客户端工具命令:

clickhouse-client

root@vms001:~# clickhouse-client
ClickHouse client version 18.14.17.
Connecting to localhost:9000.
Connected to ClickHouse server version 18.14.17 revision 54409.
vms001 :) show databases;
SHOW DATABASES
┌─name────┐
│ default │
│ system │
└─────────┘
2 rows in set. Elapsed: 0.002 sec.
vms001 :) use system;
USE system
Ok.
0 rows in set. Elapsed: 0.001 sec.
vms001 :) show tables;

SHOW TABLES
┌─name───────────────────────────┐
│ aggregate_function_combinators │
│ asynchronous_metrics │
│ build_options │
│ clusters │
│ collations │
│ columns │
│ data_type_families │
│ databases │
│ dictionaries │
│ events │
│ formats │
│ functions │
│ graphite_retentions │
│ macros │
│ merge_tree_settings │
│ merges │
│ metrics │
│ models │
│ mutations │
│ numbers │
│ numbers_mt │
│ one │
│ parts │
│ parts_columns │
│ processes │
│ replicas │
│ replication_queue │
│ settings │
│ table_engines │
│ table_functions │
│ tables │
└────────────────────────────────┘
31 rows in set. Elapsed: 0.004 sec.
vms001 :)

在执行查看集群的表 select * from system.clusters 就可以看到集群的信息了,系统信息全部在表system中;

clickhouse 安装及配置

集群上的3个节点

整个clickhouse 就这么简单的安装完成了,只是没有做副本及高可用性。

在整个安装的过程中,没有其他的特别组件要安装,比起其他大数据平台数据库那是相当的简单。


分享到:


相關文章: