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
------------------------------
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就算安装好了。
3 clickhouse配置文件说明
在上面的安装完后,接下来就可以开始启动服务了。
# 启动clickhouse-server
sudo service clickhouse-server start
在启动之后通过ps -ef|grep clickhouse 就能发现他就使用了一个配置文件
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中的集群信息需要做删除与调整。
在新建的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 就这么简单的安装完成了,只是没有做副本及高可用性。
在整个安装的过程中,没有其他的特别组件要安装,比起其他大数据平台数据库那是相当的简单。
閱讀更多 天池十二查 的文章