IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> clickhouse安装过程 -> 正文阅读

[系统运维]clickhouse安装过程

-- rpm包地址
https://packagecloud.io/Altinity/clickhouse
?

在我们安装的软件中包含这些包:

  • clickhouse-client?包,包含 clickhouse-client 应用程序,它是交互式ClickHouse控制台客户端。
  • clickhouse-common?包,包含一个ClickHouse可执行文件。
  • clickhouse-server?包,包含要作为服务端运行的ClickHouse配置文件。

总共包含四个RPM包,

 
  1. clickhouse-client-19.17.4.11-1.el7.x86_64.rpm

  2. clickhouse-common-static-19.17.4.11-1.el7.x86_64.rpm

  3. clickhouse-server-19.17.4.11-1.el7.x86_64.rpm

  4. 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的命令:

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

  2. 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:文件句柄数量的配置
 
  1. [root@cdh06 clickhouse-server]# cat /etc/security/limits.d/clickhouse.conf

  2. clickhouse soft nofile 262144

  3. clickhouse hard nofile 262144

该配置也可以通过config.xml的max_open_files修改

  • /etc/cron.d/clickhouse-server:cron:定时任务配置,用于恢复因异常原因中断的ClickHouse服务进程,其默认的配置如下。
 
  1. [root@cdh06 cron.d]# cat /etc/cron.d/clickhouse-server

  2. #*/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?

启动/关闭服务

 
  1. ## 启动服务

  2. [root@cdh06 ~]# service clickhouse-server start

  3. Start clickhouse-server service: Path to data directory in /etc/clickhouse-server/config.xml: /var/lib/clickhouse/

  4. DONE

  5. ## 关闭服务

  6. [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
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:57:31  更:2022-04-09 18:59:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:34:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码