Hadoop生态圈-CentOs7.5部署ClickHouse集群
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我新入职的公司的大数据开发同时并不看好hbase,而是对clickhouse青睐有加,听他们口头把ClickHouse吹的那么的出神入化,听的我是有种迫不及待想要对它一探究竟。
最新的一手资料请参考官网:https://clickhouse.yandex/
一.ClickHouse的独特功能
1>.真正的面向列的DBMS
因为有些系统可以单独存储不同列的值,但由于它们针对其他场景进行了优化,因此无法有效地处理分析查询。例如HBase,BigTable,Cassandra和HyperTable。在这些系统中,您将获得大约每秒十万行的吞吐量,但不会达到每秒数亿行。
值得注意的是,ClickHouse是一个数据库管理系统,而不是一个数据库。ClickHouse允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器。
2>.适用于在线查询
低延迟意味着可以在没有延迟的情况下处理查询,而无需在加载用户界面页面的同一时间提前准备答案。换句话说,在线。
3>.数据复制和数据完整性支持
使用异步多主机复制。写入任何可用副本后,数据将分发到后台的所有剩余副本。系统在不同的副本上维护相同的数据。在大多数故障后自动执行恢复,在复杂情况下 - 半自动执行。
4>.支持近似计算
ClickHouse提供了各种交易性能准确度的方法:
4.1>.聚合函数,用于近似计算不同值,中位数和分位数的数量。
4.2>.基于数据的一部分(样本)运行查询并获得近似结果。在这种情况下,从磁盘中检索的数据比例较少。
4.2>.为有限数量的随机密钥运行聚合,而不是为所有密钥运行聚合。在数据中密钥分发的某些条件下,这在使用较少资源的同时提供了相当准确的结果。
5>.SQL支持
ClickHouse支持基于SQL的声明性查询语言,在许多情况下与SQL标准相同。支持的查询包括GROUP BY,ORDER BY,FROM,IN和JOIN子句中的子查询以及标量子查询。不支持从属子查询和窗口函数。
以上说明并非我个人对ClickHouse的夸张说法,而是摘自官方文档的说明,可能官网对其软件有一定的夸张手法在里面,官网文档请参考:https://clickhouse.yandex/docs/en/
二.部署ClickHouse
推荐的安装方法参考:
https://github.com/Altinity/clickhouse-rpm-install。文档写的头头是道,说下载一个安装shell脚本,结果你按照它的方法做会跑出一系列的坑,我在这里就不吐槽了,喜欢被虐的小伙伴可以去试试,我生产环境用的操作系统基本上都是CentOs的操作系统,我参考了网上多位网友的部署方法,找到了一种最简单有效的部署方法,我这里一句把坑给大家踩过了,只要我的按照步骤来部署就能成功!
1>.操作平台介绍
[root@yinzhengjie ~]# ip a | grep global | awk '{print $2}' | awk -F '/' '{print $1}' 10.1.2.105 [root@yinzhengjie ~]# [root@yinzhengjie ~]# hostname yinzhengjie [root@yinzhengjie ~]# [root@yinzhengjie ~]# cat /proc/cpuinfo| grep "processor"| wc -l 14 [root@yinzhengjie ~]# [root@yinzhengjie ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq cpu cores : 7 [root@yinzhengjie ~]# [root@yinzhengjie ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 2 [root@yinzhengjie ~]# [root@yinzhengjie ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 14 Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz [root@yinzhengjie ~]# [root@yinzhengjie ~]# free -m total used free shared buff/cache available Mem: 11852 1406 8309 103 2136 9954 Swap: 6015 0 6015 [root@yinzhengjie ~]# [root@yinzhengjie ~]# free -g total used free shared buff/cache available Mem: 11 1 8 0 2 9 Swap: 5 0 5 [root@yinzhengjie ~]# [root@yinzhengjie ~]# [root@yinzhengjie ~]# uname -r 3.10.0-862.el7.x86_64 [root@yinzhengjie ~]# [root@yinzhengjie ~]# uname -m x86_64 [root@yinzhengjie ~]# [root@yinzhengjie ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) You have new mail in /var/spool/mail/root [root@yinzhengjie ~]#
2>.检查是否支持SSE4.2
[root@yinzhengjie ~]# grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" SSE 4.2 supported [root@yinzhengjie ~]#
3>.下载依赖包
我已经将上面的rpm包下载好了,以及需要的依赖包都下载好啦~大家可以直接下载来用即可。百度云链接地址:
4>.
扫描二维码关注公众号,回复:
3518343 查看本文章