clickhousee安装
第一部分
1.1修改vi /etc/security/limits.conf
vi /etc/security/limits.d/20-nproc.conf
- soft nofile 65536
- hard nofile 65536
- soft nproc 131072
- hard nproc 131072
查看命令:ulimit -n
1.2取消SELINUX
修改vi /etc/selinux/config
SELINUX=disabled
1.3关闭防火墙
service iptables stop
systemctl status firewalld
systemctl stop firewalld
systemctl start firewalld
1.4安装依赖
yum install -y libtool
yum install -y unixODBC
第二部分
2.1网址
官网https://clickhouse.yandex/
下载地址:https://packagecloud.io/altinity/clickhouse
下载文件:
clickhouse-client-19.16.10.44-1.el7.x86_64.rpm
clickhouse-common-static-19.16.10.44-1.el7.x86_64.rpm
clickhouse-server-19.16.10.44-1.el7.x86_64.rpm
clickhouse-server-common-19.16.10.44-1.el7.x86_64.rpm
上传至服务器,进行安装
rpm -ivh *.rpm
注意,安装有先后顺序
报错:
error: Failed dependencies:
libicudata.so.50()(64bit) is needed by clickhouse-common-static-19.16.10.44-1.el7.x86_64
libicui18n.so.50()(64bit) is needed by clickhouse-common-static-19.16.10.44-1.el7.x86_64
libicuuc.so.50()(64bit) is needed by clickhouse-common-static-19.16.10.44-1.el7.x86_64
libicudata.so.50()(64bit) is needed by clickhouse-server-19.16.10.44-1.el7.x86_64
libicui18n.so.50()(64bit) is needed by clickhouse-server-19.16.10.44-1.el7.x86_64
libicuuc.so.50()(64bit) is needed by clickhouse-server-19.16.10.44-1.el7.x86_64
解决方案:
安装依赖
yum search libicu
yum install libicu.x86_64
1.启动单机模式
service clickhouse-server start
登录
clickhouse-client
clickhouse常用命令
命令 | 含义 |
---|---|
--host,-h | 服务端的host名称,默认是‘localhost’ |
--port | 连接的端口,默认值:9000 |
--user,-u | 用户名,默认值:default |
--password | 密码。默认值:空字符串。 |
--query,-q | 非交互模式下的查询语句 |
--database,-d | 默认当前操作的数据库,默认值:default |
--multiline,-m | 允许多行语句查询 |
--format,-f | 使用指定的默认格式输出结果 |
--time,-t | 非交互模式下会打印查询执行的时间的窗口 |
--stacktrace | 如果出现异常,会打印堆栈跟踪信息 |
--config-file | 配置文件的名称 |
2.集群模式
2.1三台机器修改配置文件config.xml
修改这里的目的是让用户在任意机器都可以访问clickhouse节点上的数据
vi /etc/clickhouse-server/config.xml
2.2在三台机器的etc目录下新建metrika.xml文件
vi /etc/metrika.xml
true
hadoop0
9000
true
hadoop1
9000
true
hadoop2
9000
hadoop0
2181
hadoop1
2181
hadoop2
2181
hadoop0
::/0
10000000000
0.01
lz4
启动zookeeper服务
启动clickhouse服务
service click-house start
查看集群启动情况
hadoop0 :) select * from system.clusters
SELECT *
FROM system.clusters
┌─cluster───────────────────────────┬─shard_num─┬─shard_weight─┬─replica_num─┬─host_name─┬─host_address───┬─port─┬─is_local─┬─user────┬─default_database─┬─errors_count─┬─estimated_recovery_time─┐
│ clickhouse_cluster │ 1 │ 1 │ 1 │ hadoop0 │ 192.168.75.150 │ 9000 │ 1 │ default │ │ 0 │ 0 │
│ clickhouse_cluster │ 2 │ 1 │ 1 │ hadoop1 │ 192.168.75.151 │ 9000 │ 0 │ default │ │ 0 │ 0 │
│ clickhouse_cluster │ 3 │ 1 │ 1 │ hadoop2 │ 192.168.75.152 │ 9000 │ 0 │ default │ │ 0 │ 0 │
│ test_cluster_two_shards │ 1 │ 1 │ 1 │ 127.0.0.1 │ 127.0.0.1 │ 9000 │ 1 │ default │ │ 0 │ 0 │
│ test_cluster_two_shards │ 2 │ 1 │ 1 │ 127.0.0.2 │ 127.0.0.2 │ 9000 │ 0 │ default │ │ 0 │ 0 │
│ test_cluster_two_shards_localhost │ 1 │ 1 │ 1 │ localhost │ ::1 │ 9000 │ 1 │ default │ │ 0 │ 0 │
│ test_cluster_two_shards_localhost │ 2 │ 1 │ 1 │ localhost │ ::1 │ 9000 │ 1 │ default │ │ 0 │ 0 │
│ test_shard_localhost │ 1 │ 1 │ 1 │ localhost │ ::1 │ 9000 │ 1 │ default │ │ 0 │ 0 │
│ test_shard_localhost_secure │ 1 │ 1 │ 1 │ localhost │ ::1 │ 9440 │ 0 │ default │ │ 0 │ 0 │
│ test_unavailable_shard │ 1 │ 1 │ 1 │ localhost │ ::1 │ 9000 │ 1 │ default │ │ 0 │ 0 │
│ test_unavailable_shard │ 2 │ 1 │ 1 │ localhost │ ::1 │ 1 │ 0 │ default │ │ 0 │ 0 │
└───────────────────────────────────┴───────────┴──────────────┴─────────────┴───────────┴────────────────┴──────┴──────────┴─────────┴──────────────────┴──────────────┴─────────────────────────┘
第三部分
3.1与其他框架比较
mysql | hive | clickhouse(区分大小写) |
---|---|---|
byte | TINYINT | Int8 |
short | SMALLINT | Int16 |
int | INT | Int32 |
long | BIGINT | Int64 |
varchar | STRING | String |
timestamp | TIMESTAMP | DateTime |
float | FLOAT | Float32 |
double | DOUBLE | Float64 |
boolean | BOOLEAN | 无 |
数组类型
select arr(1,2,3) as arr,toTypeName(arr)
SELECT
arr(1, 2, 3) AS arr,
toTypeName(arr)
Received exception from server (version 19.16.10):
Code: 46. DB::Exception: Received from localhost:9000. DB::Exception: Unknown function arr.
0 rows in set. Elapsed: 0.547 sec.
hadoop0 :) select array(1,2,3) as arr,toTypeName(arr)
SELECT
[1, 2, 3] AS arr,
toTypeName(arr)
┌─arr─────┬─toTypeName([1, 2, 3])─┐
│ [1,2,3] │ Array(UInt8) │
└─────────┴───────────────────────┘
1 rows in set. Elapsed: 0.034 sec.
元组
创建元组的实例
select tuple(1,'a') as x,toTypeName(x)
SELECT
(1, 'a') AS x,
toTypeName(x)
┌─x───────┬─toTypeName(tuple(1, 'a'))─┐
│ (1,'a') │ Tuple(UInt8, String) │
└─────────┴───────────────────────────┘
1 rows in set. Elapsed: 0.006 sec.
Date
日期类型
第4部分 表引擎
表引擎(即表的类型)决定了:
1.数据的存储方式和位置,写到哪里以及从哪里读取数据
2、支持哪些查询以及如何支持
3、并发数据访问
4、索引的使用(如果存在)
5、是否可以执行多项成请求
6、数据复制参数