热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7下安装和运行使用ClickHouse

ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK,与Hadoop,Spark相比,ClickHouse很轻量级,由俄罗斯第一大搜索引擎Yande

ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK, 与Hadoop, Spark相比,ClickHouse很轻量级,由俄罗斯第一大搜索引擎Yandex于2016年6月发布, 开发语言为C++。下面将详细介绍centos环境下的ClickHouse安装与使用。

一、 CentOS7下ClickHouse的安装

1 安装前准备

1.1 软件资源地址

操作系统版本:Centos 7.3
ClickHouse RMP包下载地址:http://repo.red-soft.biz/repos/clickhouse/stable/el7/
安装前需要修改一些centos系统配置。

1.2 检查系统是否支持SSE 4.2指令集

需要验证当前服务器的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。

1.3 CentOS取消打开文件数限制

在/etc/security/limits.conf、/etc/security/limits.d/90-nproc.conf这2个文件的末尾加入一下内容:

vim /etc/security/limits.conf
在文件末尾添加:
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
vim /etc/security/limits.d/90-nproc.conf
在文件末尾添加:
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

重启服务器之后生效,用ulimit -n 或者ulimit -a查看设置结果。

1.4 CentOS取消SELINUX

修改/etc/selinux/config中的SELINUX=disabled后重启.

vim /etc/selinux/config
SELINUX=disabled

1.5 关闭防火墙

关闭防火墙,两种方式:
方式一:暂时关闭关闭防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

方式二:关闭防火墙

service iptables stop
service ip6tables stop

注:
在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理 ;如果想要使用 service iptables start/stop 命令,需要下载 iptables-services。在 Centos 7 下下载 iptables-services 时,需要执行以下命令:

systemctl stop firewalld     --关闭防火墙
systemctl mask firewalld
yum install iptables-services   --安装iptables-services
systemctl enable iptables    --设置开机启动
service iptables save       --保存

1.6 安装ClickHouse相关依赖

yum install -y libtool
yum install -y *unixODBC*

2 单机模式安装

2.1 创建安装目录

mkdir -p /opt/software/clickhouse/
cd /opt/software/clickhouse/

2.2 下载ClickHouse安装包

wget -nd -r -l1 -A.rpm --no-parent http://repo.red-soft.biz/repos/clickhouse/stable/el7/

ClickHouse PRM包共五个文件:

clickhouse-client-1.1.54236-4.el7.x86_64.rpm -- clickhouse客户端
clickhouse-server-1.1.54236-4.el7.x86_64.rpm -- clickhouse服务端
clickhouse-compressor-1.1.54236-4.el7.x86_64.rpm --内置提供的压缩工具,可用于数据的正压反解。
clickhouse-server-common-1.1.54236-4.el7.x86_64.rpm
clickhouse-debuginfo-1.1.54236-4.el7.x86_64.rpm

2.3 通过rpm进行ClickHouse安装

方式一:单个安装:

rpm -ivh clickhouse-client-1.1.54236-4.el7.x86_64.rpm
rpm -ivh clickhouse-server-1.1.54236-4.el7.x86_64.rpm
rpm -ivh clickhouse-compressor-1.1.54236-4.el7.x86_64.rpm
rpm -ivh clickhouse-server-common-1.1.54236-4.el7.x86_64.rpm
rpm -ivh clickhouse-debuginfo-1.1.54236-4.el7.x86_64.rpm

方式二:批量安装:

rpm -ivh *.rpm

rpm安装后,会在服务器上生成如下几个文件:

# 默认配置文件位置
root@localhost.localdomain:/ # ls /etc/clickhouse-server
config.xml users.xml
# 上述文件定义了默认数据目录,临时目录位置,日志目录
/var/lib/clickhouse
/var/lib/clickhouse/tmp/
/var/log/clickhouse-server
# 默认启动脚本,注意,这个名字虽然叫server,其实是个shell脚本
/etc/rc.d/init.d/clickhouse-server
root@localhost.localdomain:/ # file /etc/rc.d/init.d/clickhouse-server
/etc/rc.d/init.d/clickhouse-server: POSIX shell script, ASCII text executable, with very long lines
# 最大文件打开数
root@localhost.localdomain:/ # cat /etc/security/limits.d/clickhouse.conf
clickhouse soft nofile 262144
clickhouse hard nofile 262144
# 默认crontab目录(没啥用)
/etc/cron.d/clickhouse-server
# 剩下就是/usr/bin下的二进制文件,但其实都是软链接到了clickhouse这个二进制文件
root@localhost.localdomain:/usr/bin # ll | grep click -i
-rwxr-xr-x 1 root root 63M Sep 20 16:58 clickhouse
lrwxrwxrwx 1 root root 10 Dec 11 17:14 clickhouse-client -> clickhouse
-rwxr-xr-x 1 root root 3.3M Sep 20 16:58 clickhouse-compressor
lrwxrwxrwx 1 root root 10 Dec 11 17:14 clickhouse-server -> clickhouse

2.4 ClickHouse相关数据和权限配置

ClickHouse需要进行一些权限配置,配置文件存放在/etc/clickhouse-server。该目录下有四个配置文件:

重点关注config.xml 和 users.xml,其中:
config.xml 端口配置、本地机器名配置、内存设置等
users.xml 权限、配额设置

users.xml配置参考如下:






10000000000
0
random



10000000000
0
random
1







3600
0
0
0
0
0






967f3bf355dddfabfca1c9f5cab39352b2ec1cd0b05f9e1e6b8f629705fe7d6e

::/0

default
default



967f3bf355dddfabfca1c9f5cab39352b2ec1cd0b05f9e1e6b8f629705fe7d6e

::/0

readonly
default



3 分布式集群安装

3.1 在hadoop103,hadoop104上面执行之前单机的所有步骤

3.2 三台机器修改配置文件config.xml

[root@hadoop102 ~]# vim /etc/clickhouse-server/config.xml
::


[root@hadoop103 ~]# vim /etc/clickhouse-server/config.xml
::


[root@hadoop104 ~]# vim /etc/clickhouse-server/config.xml
::


3.3 在三台机器的etc目录下新建metrika.xml文件

[root@hadoop102 ~]# vim /etc/metrika.xml

添加如下内容:





true

hadoop102
9000




true
hadoop103
9000



true

hadoop104
9000






hadoop102
2181


hadoop103
2181


hadoop104
2181



hadoop104


::/0



10000000000
0.01
lz4



注意:上面标红的地方需要根据机器不同去修改

3.4 三台机器启动ClickServer

首先在三台机器开启Zookeeper
前台启动:

[root@hadoop102 software]# clickhouse-server --config-file=/etc/clickhouse-server/config.xml

后台启动:

[root@hadoop102 software]# nohup clickhouse-server --config-file=/etc/clickhouse-server/config.xml >null 2>&1 &

二、 CentOS7下ClickHouse的运行及使用

ClickHouse服务启动:
方式一:service clickhouse-server start
方式二:/etc/init.d/clickhouse-server start

运行 clickhouse-client 命令进入客户端:

clickhouse-client --只支持单行执行
clickhouse-client -m --支持多行执行

clickhouse-client命令行参数:

--host, -h -– 服务端的 host 名称, 默认是 ‘localhost’。 您可以选择使用 host 名称或者 IPv4 或 IPv6 地址。
--port – 连接的端口,默认值: 9000。注意 HTTP 接口以及 TCP 原生接口是使用不同端口的。
--user, -u – 用户名。 默认值: default。
--password – 密码。 默认值: 空字符串。
--query, -q – 非交互模式下的查询语句.
--database, -d – 默认当前操作的数据库. 默认值: 服务端默认的配置 (默认是 default)。
--multiline, -m – 如果指定,允许多行语句查询(Enter 仅代表换行,不代表查询语句完结)。
--multiquery, -n – 如果指定, 允许处理用逗号分隔的多个查询,只在非交互模式下生效。
--format, -f – 使用指定的默认格式输出结果。
--vertical, -E – 如果指定,默认情况下使用垂直格式输出结果。这与 ‘–format=Vertical’ 相同。在这种格式中,每个值都在单独的行上打印,这种方式对显示宽表很有帮助。
--time, -t – 如果指定,非交互模式下会打印查询执行的时间到 ‘stderr’ 中。
--stacktrace – 如果指定,如果出现异常,会打印堆栈跟踪信息。
--config-file – 配置文件的名称。

clickhouse默认是以default用户登录的,拥有读写权限。进入clickhouse-client客户命令后,创建数据库经常会报错。

DB::Exception: Received from localhost:9000, ::1. DB::Exception: Access to file denied: /var/lib/clickhouse/metadata/test.

该问题是由/var/lib/clickhouse/目录的权限导致,需要给clickhouse授权。

chown -R clickhouse /var/lib/clickhouse/

授权后能够正常使用。

参考:
https://blog.csdn.net/weixin_42411818/article/details/108174888
https://www.pianshen.com/article/47341561074/


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 这个问题困扰了我两天,卸载Dr.COM客户端(我们学校上网要装这个客户端登陆服务器,以后只能在网页里输入用户名和密码了),问题解决了。问题的现象:在实验室机台式机上安装openfire和sp ... [详细]
author-avatar
最爱靖哥哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有