ClickHouse深入浅出之三(安装)
  yyka2UPIbcp2 2023年11月02日 41 0

1. ClickHouse安装

1.1. 关于版本和系统的选择  

操作系统:Centos-7.7

ClickHouse:  YUM 在线安装,20.x

1.2. 安装前的准备

1.2.1. 设置系统打开文件数限制

在 /etc/security/limits.conf 这个文件的末尾加入以下内容:

vim /etc/security/limits.conf

* soft nofile 65536

* hard nofile 65536

* soft nproc  131072

* hard nproc  131072

ClickHouse深入浅出之三(安装)_xml

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

vim /etc/security/limits.d/90-nproc.conf

* soft nofile 65536

* hard nofile 65536

* soft nproc  131072

* hard nproc  131072

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

ulimit -n

ClickHouse深入浅出之三(安装)_zookeeper_02

ulimit -a

ClickHouse深入浅出之三(安装)_xml_03

1.2.2. CentOS7 取消 SELINUX

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

vim /etc/selinux/config

SELINUX=disabled

ClickHouse深入浅出之三(安装)_xml_04

1.2.3. 关闭防火墙  

systemctl status firewalld.service

systemctl stop   firewalld.service

systemctl disable firewalld

1.2.4. 安装依赖

yum install -y libtool

yum install -y *unixODBC*

1.3. 安装

官网:https://clickhouse.yandex/

具体安装细节看:https://clickhouse.tech/#quick-start

1.4. 卸载 clickhouse

查询是否安装 clickhouse:

rpm -qa|grep clickhouse

ClickHouse深入浅出之三(安装)_配置文件_05

卸载 clickhouse:

rpm -e clickhouse-client-20.5.4.40-2.noarch --nodeps

rpm -e clickhouse-server-20.5.4.40-2.noarch --nodeps

rpm -e clickhouse-common-static-20.5.4.40-2.x86_64 --nodeps

删除数据目录:

rm -rf /var/lib/clickhouse

删除集群配置文件:

rm -rf /etc/metrika.xml

删除配置文件:

rm -rf /etc/clickhouse-*

删除日志文件:

rm -rf /var/log/clickhouse-server

删除zookeeper上clickhouse 的数据:

rmr /clickhouse

也可以进行全局寻找:然后执行删除操作

find / -name 'clickhouse'

1.5. 单机模式

ClickHouse的安装可以使用 yum在线安装,也可以使用 rpm 离线安装的方式!

具体信息见官网文档:https://clickhouse.tech/#quick-start

1.5.1. 准备操作

需要验证当前服务器的 CPU 是否支持 SSE 4.2 指令集,因为向量化执行需要用到这项特性:

grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 no supported"

1.5.2. 安装

依次执行如下命令:

yum install yum-utils -y rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.repo yum install clickhouse-server clickhouse-client -y

如果您没法链接互联网,则也可以使用 rpm 的方式来进行离线安装:需要下载的安装包有:

clickhouse-server-20.5.4.40-2.noarch.rpm

clickhouse-common-static-20.5.4.40-2.x86_64.rpm

clickhouse-client-20.5.4.40-2.noarch.rpm

下载地址在:https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/ https://packagecloud.io/Altinity/clickhouse

1.5.3. 启动服务端    

1.5.3.1前台启动

clickhouse-server --conf-file=/etc/clickhouse-server/config.xml

1.5.3.2后台启动

nohup clickhouse-server --config-file=/etc/clickhouse-server/config.xml  1>~/logs/clickhouse_std.log 2>~/logs/clickhouse_err.log &

启动成功,检查一下

ps -aux|grep clickhouse

netstat -nltp |grep clickhouse

ClickHouse深入浅出之三(安装)_配置文件_06

如果报错

1.5.3.3解决方案:修改安装目录的权限!,默认使用 clickhouse 用户!命令为:

cd /var/lib/

chown -R root:root clickhouse

默认情况下:/var/lib/clickhouse的group 和owner是:clickhouse:clickhouse

1.5.3.4两种解决方式:

1、如果坚持使用root用户启动:把/var/lib/clickhouse 改成:root:root

2、你使用clickhouse用户去启动:chmod -u /bin/bash clickhouse    su - clickhouse 切换用户之后在启动

1.5.4. 启动客户端

具体命令:

clickhouse-client

或者

TZ=Asia/Shanghai clickhouse-client

启动情况如下:

ClickHouse深入浅出之三(安装)_zookeeper_07

1.5.5. 基本使用

创建库:

create database dylandb;

切换库:

use dylandb;

创建表:

create table dylan_test01(id Int8,name String) engine = TinyLog;

查询所有表:

show tables;

插入数据:

insert into dylan_test01 values (1,'dylan'),(2,'clickhouse'),(3,'spark');

查询数据:

select id,name from dylan_test01;

统计查询:

select count(*) as total from dylan_test01;

退出客户端:

quit

1.5.6. 安装成功的核心目录

/etc/clickhouse-server:服务端的配置文件目录,包括全局配置config.xml和用户配置users.xml等。

/var/lib/clickhouse:  默认数据存储目录,通常会修改默认配置路径,将数据保存到大容量磁盘挂的路径。

/var/log/clickhouse-server:默认日志保存目录,通常会修改路径配置将日志保存到大容量磁盘挂载的路径。

1.5.7. 可执行文件    

clickhouse: 主程序的可执行文件。

clickhouse-client: 一个指向clickhouse 可执行文件的软连接,供客户端连接使用。

clickhouse-server: 一个指向clickhouse 可执行文件的软连接,供服务端启动使用。

clickhouse-compressor: 内置提供的压缩工具,可用于数据的正压反解。

1.6. 集群模式

1.6.1. 在其他的机器上,分别安装上clickhouse

1.6.2. 四台机器修改配置文件config.xml

vim /etc/clickhouse-server/config.xml

先修改tcp_port为9977,因为这个端口和HDFS的冲突了

<tcp_port>9977</tpc_port>

listen_host 表示能监听的主机,表示任意主机都可以访问

<listen_host>::</listen_host>

<!-- <listen_host>::1</listen_host>  -->

<!-- <listen_host>127.0.0.1</listen_host>  -->

所有节点同步:

scp -r /etc/clickhouse-server/config.xml bigdata02:/etc/clickhouse-server/

scp -r /etc/clickhouse-server/config.xml bigdata03:/etc/clickhouse-server/

scp -r /etc/clickhouse-server/config.xml bigdata04:/etc/clickhouse-server/

scp -r /etc/clickhouse-server/config.xml bigdata05:/etc/clickhouse-server/

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

vim /etc/metrika.xml

<yandex>

    <clickhouse_remote_servers>

       <!-- 4分片1副本 -->

    <d_clickhouse_4shards_1replicas>

       <shard>

       <!-- 数据自动同步 -->

           <internal_replication>true</internal_replication>

               <replica>

                    <host>bigdata02</host>

                    <port>9977</port>

               </replica>

           </shard>

           <shard>

               <replica>

                   <internal_replication>true</internal_replication>

                   <host>bigdata03</host>

                   <port>9977</port>

               </replica>

           </shard>

           <shard>

               <internal_replication>true</internal_replication>

               <replica>

                   <host>bigdata04</host>

                   <port>9977</port>

               </replica>

           </shard>

           <shard>

               <internal_replication>true</internal_replication>

               <replica>

                   <host>bigdata05</host>

                   <port>9977</port>

               </replica>

           </shard>

       </d_clickhouse_4shards_1replicas>

   </clickhouse_remote_servers>

<!-- zookeeper 自动同步 --> <zookeeper-servers>

       <node index="2">

           <host>bigdata02</host>

           <port>2181</port>

</node>

       <node index="3">

           <host>bigdata03</host>

           <port>2181</port>

       </node>

       <node index="4">

           <host>bigdata04</host>

           <port>2181</port>

       </node>

   </zookeeper-servers>

<!-- 配置文件中macros若省略,则建复制表时每个分片需指定zookeeper路径及副本名称,同一分片 上路径相同,副本名称不同;若不省略需每个分片不同配置 -->

   <macros>

       <replica>bigdata02</replica>

</macros>

   <networks>

       <ip>::/0</ip>

</networks>

<!-- 配置压缩 --> <clickhouse_compression>

       <case>

           <min_part_size>10000000000</min_part_size>

需要根据不同的机器做不同的修改。

所有节点同步:

1.6.4. 启动 切记:要先启动 zookeeper

启动服务端:

检查启动是否OK:

启动客户端:

参数解释:

启动本地多行查询客户端:

scp -r /etc/metrika.xml bigdata02:/etc/

scp -r /etc/metrika.xml bigdata03:/etc/

scp -r /etc/metrika.xml bigdata04:/etc/

scp -r /etc/metrika.xml bigdata05:/etc/

zkServer.sh start

nohup clickhouse-server --config-file=/etc/clickhouse-server/config.xml

1>~/logs/clickhouse_std.log 2>~/logs/clickhouse_err.log &

netstat -nltp | grep clickhouse

clickhouse-client --host=... --port=... --user=... --password=... -m

username:用户名 password:密码 ip:服务器IP port:端口 -m:允许多行查询

clickhouse-client --host=localhost --port=9977 -m

clickhouse-client --host=bigdata02 --port=9977 --user=bigdata --password=bigdata

-m

<min_part_size_ratio>0.01</min_part_size_ratio>

           <method>lz4</method>

       </case>

   </clickhouse_compression>

</yandex>

1.6.4. 启动

切记:要先启动zookeeper

zkServer.sh start

启动服务端:

nohup clickhouse-server --config-file=/etc/clickhouse-server/config.xml

1>~/logs/clickhouse_std.log 2>~/logs/clickhouse_err.log &

检查启动是否OK:

netstat -nltp | grep clickhouse

启动客户端:

clickhouse-client --host=... --port=... --user=... --password=... -m

参数解释:

username:用户名 password:密码 ip:服务器IP port:端口 -m:允许多行查询

启动本地多行查询客户端:

clickhouse-client --host=localhost --port=9977 -m

clickhouse-client --host=bigdata02 --port=9977 --user=bigdata --password=bigdata -m

1.6.5. 检查进程

1.6.5.1ps -aux |grep clickhouse
1.6.5.2ClickHouse 的 Client 参数介绍

ClickHouse深入浅出之三(安装)_配置文件_08

默认情况下,配置文件的搜索顺序如下:

./clickhouse-client.xml

~/.clickhouse-client/config.xml

/etc/clickhouse-client/config.xml

1.6.5.3设置用户和密码

进入到配置文件目录,修改配置配置文件:

vim /etc/clickhouse-server/users.xml

系统默认使用 default 用户登录 无密码。 现在我们配置用户 bigdata 密码为 bigdata 配置一个用户:你配置的 bigdata 就是用户名, <password> 这个标签中的值,就是密码

<bigdata>

   <password>bigdata</password>

   <networks incl="networks" replace="replace">

       <ip>::/0</ip>

   </networks>

   <profile>default</profile>

   <quota>default</quota>

</bigdata>

所有节点同步:

scp -r /etc/clickhouse-server/users.xml bigdata02:/etc/clickhouse-server/

scp -r /etc/clickhouse-server/users.xml bigdata03:/etc/clickhouse-server/

scp -r /etc/clickhouse-server/users.xml bigdata04:/etc/clickhouse-server/

scp -r /etc/clickhouse-server/users.xml bigdata05:/etc/clickhouse-server/

启动客户端连接:

clickhouse-client --host=bigdata02 --port=9977 --user=bigdata --password=bigdata -m

1.6.5.4. ClickHouse一些信息总结

配置文件路径:

/etc/clickhouse-server/config.xml

/etc/clickhouse-server/users.xml

日志文件路径:

/var/log/clickhouse-server/

表信息路径、元数据存储目录:

/var/lib/clickhouse/metadata/

表数据路径:

/var/lib/clickhouse/data/

1.6.5.5. 注意事项

clickhouse 既是单独运行的。游离于集群之外。被包含在集群之类的!

表:单机的表,和 分布式的表

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  dMIEwfNiKi33   2023年12月05日   35   0   0 hivehivexmlxml
yyka2UPIbcp2
最新推荐 更多

2024-05-31