-- rpm包地址 https://packagecloud.io/Altinity/clickhouse ?
在我们安装的软件中包含这些包:
clickhouse-client ?包,包含 clickhouse-client 应用程序,它是交互式ClickHouse控制台客户端。clickhouse-common ?包,包含一个ClickHouse可执行文件。clickhouse-server ?包,包含要作为服务端运行的ClickHouse配置文件。
总共包含四个RPM包,
-
clickhouse-client-19.17.4.11-1.el7.x86_64.rpm -
clickhouse-common-static-19.17.4.11-1.el7.x86_64.rpm -
clickhouse-server-19.17.4.11-1.el7.x86_64.rpm -
clickhouse-server-common-19.17.4.11-1.el7.x86_64.rpm
尖叫提示:如果安装过程中,报错:依赖检测失败,表示缺少依赖包
可以先手动安装?
libicu-50.2-4.el7_7.x86_64.rpm依赖包
系统要求
ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。虽然预构建的二进制文件通常是为x86 _64编译并利用SSE 4.2指令集,但除非另有说明,否则使用支持它的CPU将成为额外的系统要求。这是检查当前CPU是否支持SSE 4.2的命令:
-
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" -
SSE 4.2 supported
要在不支持SSE 4.2或具有AArch64或PowerPC64LE体系结构的处理器上运行ClickHouse,应该通过源构建ClickHouse进行适当的配置调整。
安装RPM包
## 将rpm包上传至/opt/software目录下 ## 执行如下命令进行安装 [root@cdh06 software]# rpm -ivh *.rpm 错误:依赖检测失败: ? ? ? ? libicudata.so.50()(64bit) 被 clickhouse-common-static-19.17.4.11-1.el7.x86_64 需要 ? ? ? ? libicui18n.so.50()(64bit) 被 clickhouse-common-static-19.17.4.11-1.el7.x86_64 需要 ? ? ? ? libicuuc.so.50()(64bit) 被 clickhouse-common-static-19.17.4.11-1.el7.x86_64 需要 ? ? ? ? libicudata.so.50()(64bit) 被 clickhouse-server-19.17.4.11-1.el7.x86_64 需要 ? ? ? ? libicui18n.so.50()(64bit) 被 clickhouse-server-19.17.4.11-1.el7.x86_64 需要 ? ? ? ? libicuuc.so.50()(64bit) 被 clickhouse-server-19.17.4.11-1.el7.x86_64 需要 ## 上面安装报错,缺少相应的依赖包, ## 需要下载相对应的依赖包 ## 下载libicu-50.2-4.el7_7.x86_64.rpm进行安装即可 ?
cd /opt
rpm -ivh? libicu-50.2-4.el7_7.x86_64.rpm
cd /opt/software
rpm -ivh *.rpm
查看安装信息
目录结构
- /etc/clickhouse-server:服务端的配置文件目录,包括全局配置config.xml和用户配置users.xml等。
- /etc/clickhouse-client:客户端配置,包括conf.d文件夹和config.xml文件。
- /var/lib/clickhouse:默认的数据存储目录(通常会修改默认路径配置,将数据保存到大容量磁盘挂载的路径)。
- /var/log/clickhouse-server:默认保存日志的目录(通常会修改路径配置,将日志保存到大容量磁盘挂载的路径)。
配置文件
- /etc/security/limits.d/clickhouse.conf:文件句柄数量的配置
-
[root@cdh06 clickhouse-server]# cat /etc/security/limits.d/clickhouse.conf -
clickhouse soft nofile 262144 -
clickhouse hard nofile 262144
该配置也可以通过config.xml的max_open_files修改
- /etc/cron.d/clickhouse-server:cron:定时任务配置,用于恢复因异常原因中断的ClickHouse服务进程,其默认的配置如下。
-
[root@cdh06 cron.d]# cat /etc/cron.d/clickhouse-server -
#*/10 * * * * root (which service > /dev/null 2>&1 && (service clickhouse-server condstart ||:)) || /etc/init.d/clickhouse-server condstart > /dev/null 2>&1
可执行文件
最后是一组在/usr/bin路径下的可执行文件:
- clickhouse:主程序的可执行文件。
- clickhouse-client:一个指向ClickHouse可执行文件的软链接,供客户端连接使用。
- clickhouse-server:一个指向ClickHouse可执行文件的软链接,供服务端启动使用。
- clickhouse-compressor:内置提供的压缩工具,可用于数据的正压反解。
3,启动服务
启动服务之前,修改config.xml,修改数据的保存地址
<!-- <path>/var/lib/clickhouse/</path> -->
<path>/u01/chbase/data/</path>
<!--?<tmp_path>/var/lib/clickhouse/tmp/</tmp_path> -->
<tmp_path>/u02/chbase/data/tmp/</tmp_path>
<!-- <user_files_path>/var/lib/clickhouse/user_files/</user_files_path> -->?
<user_files_path>/u02/chbase/data/user_files/</user_files_path>
正是由于修改了路径,所以这个目录的 OWNER?设为 clickhouse?用户
chown -R clickhouse:clickhouse /u01/chbase/data/
chown -R clickhouse:clickhouse /u02/chbase/data/
clickhouse用户由安装?程序自动创建,启动脚本会基于此用户启动服务
启动有两种方式:首先是基于默认配置的启动,命令如下
cd /usr/bin
service clickhouse-server start?
启动/关闭服务
-
## 启动服务 -
[root@cdh06 ~]# service clickhouse-server start -
Start clickhouse-server service: Path to data directory in /etc/clickhouse-server/config.xml: /var/lib/clickhouse/ -
DONE -
## 关闭服务 -
[root@cdh06 ~]# service clickhouse-server stop
这种情况,会默认读取 /etc/clickhouse-server/config.xml 配置文件启动
其次是指定配置文件启动,这种情况要手动切换到clickhouse用户下启动
#su clickhouse
第一次要激活clickhouse这个帐号,用下面的命令激活
#?usermod -s /bin/bash clickhouse
再次切换到ckickhouse ,并用基于指定配置文件的启动
#clickhouse-server --config-file=/etc/clickhouse-server/config-ch5.xml
启动成功后,就可以用客户端测试连接了
#clickhouse-client
show databases;
创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] [ENGINE = engine(...)]
CREATE DATABASE IF NOT EXISTS fd_ch
默认情况下,ClickHouse使用的是原生的数据库引擎Ordinary(在此数据库下可以使用任意类型的表引擎,在绝大多数情况下都只需使用默认的数据库引擎)。当然也可以使用Lazy引擎和MySQL引擎,比如使用MySQL引擎,可以直接在ClickHouse中操作MySQL对应数据库中的表。假设MySQL中存在一个名为clickhouse的数据库,可以使用下面的方式连接MySQL数据库。
这里clickhouse的权限不像mysql直接创建角色,用户。而是需要在配置文件中添加角色用户。
默认的配置文件路径是:/etc/clickhouse-server 其中有config.xml,users.xml,一个是服务器相关配置,一个是用户权限的配置。下面看看users.xml。这里面分几部分。
1. 用户名,用户密码,访问来源地址
2. 资源限制,和greenplum有点像。
3. 配置设置,这其中有用户是否只读。目前只有select和insert。所以权限也比较简单。
然后在users.xml中加入要新创建的账号。
<dba>
???? < password >123456</ password >
???? <networks incl= "networks" ?replace = "replace" >
???????? <ip>::/0</ip>
???? </networks>
???? <profile> default </profile>
???? <quota> default </quota>
???? <allow_databases>
???????? < database > default </ database >
???? </allow_databases>
???? <access_management>1</access_management>
</dba>
< ch_dml>
???? < password> ch_dml</password >
???? <networks incl= "networks" ?replace = "replace" >
???????? <ip>::/0</ip>
???? </networks>
???? <profile> default </profile>
???? <quota> default </quota>
???? <allow_databases>
???????? < database >fd_ch </ database >
???? </allow_databases>
</ ch_dml>
< ch_readonly>
???? <password> ch_readonly</password>
???? <networks incl= "networks" ?replace = "replace" >
???????? <ip>::/0</ip>
???? </networks>
???? <profile>readonly</profile>
???? <quota> default </quota>
???? <allow_databases>
???????? < database >fd_ch</ database >
???? </allow_databases>
</ ch_readonly>
我这里是创建两个用户:dba和xinchen,
dba用户采用明文密码,<profile>默认权限,<allow_databases>允许访问的数据库是default。 admin用户采用密文密码,<profile>只读权限,<allow_databases>允许访问的数据库是default,testdb。
端口不通
1、设置clickhouse的8123端口可以让任意机器访问 将config.xml中的<listen_host>0.0.0.0</listen_host> 注释解除掉,然后重启clickhouse-server即可
4.开放外网访问,VIM CONFIG.XML 找到 LISTEN_HOST 标签,修改为以下
<listen_host>0.0.0.0</listen_host>
tail -300f /var/log/clickhouse-server/clickhouse-server.log
tail -300f /var/log/clickhouse-server/clickhouse-server.err.log
DBeaver连接clickhouse
配置maven仓库
第1次连的时候会下载数据库连接驱动,默认连的是国外的maven默认仓库, 这里最好改下连国内阿里云的: 点击: 窗口 --> 首选项 --> 连接 --> 驱动 --> Maven 添加阿里云源:
http://maven.aliyun.com/nexus/content/groups/public/
1. 卸载及删除安装文件
yum list installed | grep clickhouse yum remove -y clickhouse-common-static yum remove -y clickhouse-server-common rm -rf /var/lib/clickhouse rm -rf /etc/clickhouse-* rm -rf /var/log/clickhouse-server
2. 下载最新稳定版本
https://packagecloud.io/app/Altinity/clickhouse/search?
3. 安装
yum install -y clickhouse-common-static-18.12.17-1.el7.x86_64.rpm yum install -y clickhouse-server-common-18.12.17-1.el7.x86_64.rpm yum install -y clickhouse-server-18.12.17-1.el7.x86_64.rpm yum install -y clickhouse-client-18.12.17-1.el7.x86_64.rpm
4. 启动服务
service clickhouse-server start
5. 查询服务状态
service clickhouse-server status
clickhouse-server service is running 则说明启动成功
systemctl status clickhouse-server
|