【Clickhouse】离线部署安装介绍

在这里插入图片描述

1.概述

转载:ClickHouse系列教程 2. 离线部署安装介绍 建议看原文,这里是防丢失。

1.ClickHouse安装准备工作
1.1. 关于版本和系统的选择
操作系统:CentOS Linux release 7.6.1810 (Core)

ClickHouse: 21.4.3

1.2 CentOS7 打开文件数限制
在 /etc/security/limits.conf 这个文件的末尾加入一下内容:

sudo vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

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

sudo vim /etc/security/limits.d/90-nproc.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

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

[root@node3 ~]# ulimit -n
65536
[root@node3 ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 127824
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 131072
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@node3 ~]#

1.3. CentOS7 取消 SELINUX
修改 /etc/selinux/config 中的 SELINUX=disabled 后重启

vim /etc/selinux/config

# 将 SELINUX=enforcing 修改为:
SELINUX=disabled

# 重启服务器后查看 SELINUX 状态
[root@hnode3 ~]# sestatus
SELinux status:   disabled

1.4. 关闭防火墙
CentOS-6 中操作方式:

service iptables stop
service ip6tables stop

CentOS-7 中操作方式:

# 查看防火墙状态
[root@node3 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since 二 2021-04-13 16:22:52 CST; 2s ago
     Docs: man:firewalld(1)
 Main PID: 4710 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─4710 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

# 关闭防火墙
[root@node3 ~]# systemctl stop firewalld.service

1.5. 安装依赖

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

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

[root@node3 ~]# grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
SSE 4.2 supported

1.7 下载 rpm 包

root@node3 opt]# mkdir clickhouse
[root@node3 opt]# cd clickhouse/
[root@node3 clickhouse]#  wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-server-21.4.3.21-2.noarch.rpm

[root@node3 clickhouse]#  wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-common-static-21.4.3.21-2.x86_64.rpm

[root@node3 clickhouse]#  wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-client-21.4.3.21-2.noarch.rpm
  1. 单机模式部署
    ClickHouse的安装可以使用 yum在线安装,也可以使用 rpm 离线安装的方式!
    具体信息见官网文档:https://clickhouse.tech/#quick-start

2.1 安装rpm包
bash

rpm -ivh clickhouse-common-static-21.4.3.21-2.x86_64.rpm

rpm -ivh clickhouse-server-21.4.3.21-2.noarch.rpm

rpm -ivh clickhouse-client-21.4.3.21-2.noarch.rpm

2.2 修改端口

# clickhouse 默认使用 9000 端口,但是这个端口与 HDFS 发生冲突,所以将其修改为 9977

vim /etc/clickhouse-server/config.xml

# 1.<tcp_port>9000</tcp_port> 端口修改为 9977
<tcp_port>9977</tcp_port>

# 2. listen_host 表示能监听的主机,:: 表示任意主机都可以访问,放开注释
<listen_host>::</listen_host>

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

2.3 目录结构

目录说明
/etc/clickhouse-server服务端的配置文件目录,包括全局配置config.xml和用户配置users.xml
/var/lib/clickhouse默认数据存储目录,通常会修改默认路径配置,将数据保存到大容量磁盘挂载路径
/var/log/clickhouse-server默认日志保存目录,通常会修改路径配置将日志保存到大容量磁盘挂载的路径

2.4 配置文件
/etc/security/limits.d/clickhouse.conf:文件句柄数量的配置

[root@node3 ~]# 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@node3 ~]# 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

# 在默认的情况下,
# 每隔10秒就会使用condstart尝试启动一次ClickHouse服务,
# condstart命令的是检查ClickHouse服务状态,
# 如果ClickHouse服务正在运行,则跳过;如果没有运行,则通过start启动
/usr/bin/clickhouse:主程序的可执行文件
/usr/bin/clickhouseclient:一个指向ClickHouse可执行文件的软链接,供客户端连接使用
/usr/bin/clickhouseserver:一个指向ClickHouse可执行文件的软链接,供服务端启动使用
/usr/bin/clickhousecompressor:内置提供的压缩工具,可用于数据的正压反解

2.3 启动 clickhouse并验证

# 启动服务
[root@node3 clickhouse]# systemctl start clickhouse-server.service

# 验证服务是否启动成功
[root@node3 clickhouse]# netstat -nltp | grep clickhouse
tcp6       0      0 :::9977                 :::*                    LISTEN      19971/clickhouse-se
tcp6       0      0 :::8123                 :::*                    LISTEN      19971/clickhouse-se
tcp6       0      0 :::9004                 :::*                    LISTEN      19971/clickhouse-se
tcp6       0      0 :::9009                 :::*                    LISTEN      19971/clickhouse-se
[root@node3 clickhouse]#
[root@node3 clickhouse]#
[root@node3 clickhouse]# ps -aux | grep clickhouse
clickho+ 19970  0.0  0.0 477408 22868 ?        Ss   11:35   0:00 clickhouse-watchdog        --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server.pid
clickho+ 19971  1.2  0.8 1395324 270444 ?      SLl  11:35   0:03 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server.pid
root     22516  0.0  0.0 112728  1000 pts/0    S+   11:40   0:00 grep --color=auto clickhouse

# 关闭服务
systemctl stop clickhouse-server.service
  1. 命令行介绍
    3.1 基本使用
-- 启动 clickhouse 命令行
[root@node3 clickhouse]# clickhouse-client --host=localhost --port=9977
ClickHouse client version 21.4.3.21 (official build).
Connecting to localhost:9977 as user default.
Connected to ClickHouse server version 21.4.3 revision 54447.
-- 创建库
show databases;

┌─name────┐
│ default │
│ system  │
└─────────┘

create database db2;

-- 切换库 , 默认使用 default
use db2;

-- 创建数据表
create table test01(id Int8, name String) engine = TinyLog;


-- 查询表列表
show tables;

┌─name───┐
│ test01 │
└────────┘

-- 插入数据
insert into test01 values (1, 'hello'), (2, 'world'), (3, 'clickhouse');

-- 查询数据
select id, name from test01;

┌─id─┬─name───────┐
│  1 │ hello      │
│  2 │ world      │
│  3 │ clickhouse │
└────┴────────────┘

-- 统计查询
select count(*) as total from test01;

┌─total─┐
│     3 │
└───────┘

-- 退出 clickhouse 命令行
quit

3.2 clickhouse-client 相关参数

参数说明
--host / -h服务端的地址,默认值为localhost。如果修改了config.xml内的listen_host,则需要依靠此参数指定服务端地址,例如下面所示的代码。
--port服务端的TCP端口,默认值为9000。如果要修改config.xml内的tcp_port,则需要使用此参数指定。
--user / -u登录的用户名,默认值为default。如果使用非default的其他用户名登录,则需要使用此参数指定,例如下面所示代码。关于自定义用户的介绍将在第11章展开。
--password登录的密码,默认值为空。如果在用户定义中未设置密码,则不需要填写(例如默认的default用户)
--database / -d登录的数据库,默认值为default。
--query / -q只能在非交互式查询时使用,用于指定SQL语句。
--multiquery / -n在非交互式执行时,允许一次运行多条SQL语句,多条语句之间以分号间隔。
--time / -t在非交互式执行时,会打印每条SQL的执行时间

3.3 查看历史记录

cat ~/.clickhouse-client-history

3.4 导入数据
准备导入的数据文件

[root@node3 opt]# cat data.csv
10,name
1,xioaming
2,xiaohong

创建数据表

use db1;
create table test_csv(id Int8, name String) engine = TinyLog;

导入数据

cat data.csv | clickhouse-client --port=9977 --query " INSERT INTO db1.test_csv FORMAT CSV "

确认操作

-- 查询数据表看数据是否导入成功

select * from db1.test_csv;

┌─id─┬─name───────┐
│ 10 │ name       │
│  1 │ xioaming   │
│  2 │ xiaohong   │
└────┴────────────┘

3.5 导出数据

# 导入数据
[root@node3 opt]# clickhouse-client --port=9977 --query " select * from db1.test_csv " > /opt/test_csv.csv
[root@node3 opt]#
[root@node3 opt]#
[root@node3 opt]# cat test_csv.csv
10    name
1    xioaming
2    xiaohong
  1. 内置工具
    ClickHouse除了提供基础的服务端与客户端程序之外,还内置了clickhouse-local和clickhouse-benchmark两种实用工具,现在分别说明它们的作用。

4.1 clickhouse-local
clickhouse-local可以独立运行大部分SQL查询,不需要依赖任何ClickHouse的服务端程序,它可以理解成是ClickHouse服务的单机版微内核,是一个轻量级的应用程序。clickhouse-local只能够使用File表引擎,它的数据与同机运行的ClickHouse服务也是完全隔离的,相互之间并不能访问。

clickhouselocal是非交互式运行的,每次执行都需要指定数据来源,例如通过stdin标准输入,以echo打印作为数据来源:

clickhouselocal 参数简介:

完整的参数列表可以通过help查阅。

参数介绍
-q/--query待执行的SQL语句,多条语句之间以分号间隔
-S/--structure表结构的简写方式。
-N/--table表名称,默认值是table
-if/--input-format输入数据的格式,默认值是TSV
-f/--file输入数据的地址,默认值是stdin标准输入
# 使用 -S -H 简写 定义表结构并查询数据
echo -e "1\n2\n3" | clickhouse-local -S "id Int64 " -N "test_table" -q "SELECT id FROM test_table;"

# 使用 --structure  --table 定义表结构并查询数据 
echo -e "1\n2\n3" | clickhouse-local --structure "id Int64 " --table "test_table" -q "SELECT id FROM test_table;"

# 使用DDL 定义表结构并查询数据
echo -e "1\n2\n3" | clickhouse-local -q "CREATE TABLE test_table (id Int64 ) ENGINE = File( CSV, stdin );SELECT id FROM test_table;"

# 使用外部数据作为数据源
[root@node3 opt]# clickhouse-local  --file "/opt/data.csv" -S " id Int64,name String" --input-format "CSV" -N "test_table"  -q "SELECT * FROM test_table;"
10    name
1    xioaming
2    xiaohong

借助操作系统的命令,实现对系统用户内存用量的查询:

[root@node3 opt]# ps aux |  tail -n +2 | awk '{ printf("%s\t%s\n",$1,$4) }' | clickhouse-local -S "user String,memory Float64" -q "SELECT user,round( sum(memory),2) as memoryTotal FROM table GROUP BY user ORDER BY memoryTotal DESC FORMAT Pretty"
──────────────────────────
│ user     │ memoryTotal │
├──────────┼─────────────┤
│ hbase    │        25.4 │
├──────────┼─────────────┤
│ yarn-ats │        14.3 │
├──────────┼─────────────┤
│ ams      │          12 │
├──────────┼─────────────┤
│ kafka    │           8 │
├──────────┼─────────────┤
│ spark    │         3.9 │
├──────────┼─────────────┤
│ infra-s+3.1 │
├──────────┼─────────────┤
│ root     │         2.7 │
├──────────┼─────────────┤
│ yarn     │         2.7 │
──────────────────────────
.....

4.2 clickhouse-benchmark
clickhouse-benchmark是基准测试的小工具,它可以自动运行SQL查询,并生成相应的运行指标报告。

参数说明

完整的参数列表,可以通过help查阅。

参数说明
-i/--iterationsSQL查询执行的次数,默认值是0
-c/--concurrency同时执行查询的并发数,默认值是1
-r/--randomize在执行多条SQL语句的时候,按照随机顺序执行
-h/--host服务端地址,默认值是localhost。clickhousebenchmark支持对比测试,此时需要通过此参数声明两个服务端的地址
--confidence设置对比测试中置信区间的范围,默认值是5(99.5%),它的取值范围有0(80%)、1(90%)、2(95%)、3(98%)、4(99%)和5(99.5%)。

使用示例

[root@node3 opt]# echo " SELECT * FROM system.numbers LIMIT 100 " | clickhouse-benchmark  --port=9977  -i 5
# 1个查询测试
Loaded 1 queries.

# 参数该查询会执行5次:
Queries executed: 5.

# 给出 包含QPSRPS等指标信息的报告
# QPS = queries per second = req/sec = 请求数/秒
# RPS = requests per second = 并发数/平均响应时间
localhost:9977, queries 5, QPS: 641.594, RPS: 64159.395, MiB/s: 0.489, result RPS: 64159.395, result MiB/s: 0.489.

# 各百分位的查询执行时间

0.000%        0.001 sec.
10.000%        0.001 sec.
20.000%        0.001 sec.
30.000%        0.001 sec.

可以指定多条SQL进行测试,此时需要将SQL语句定义在文件中

# 1. 将测试 SQL 写进文件中

[root@node3 opt]# cat multisqls
SELECT * FROM system.numbers LIMIT 100;
SELECT * FROM system.numbers LIMIT 200;

# 2. 执行测试
[root@node3 opt]# clickhouse-benchmark --port=9977 -r 1 -i 5 < /opt/multisqls
# 2 个查询测试
Loaded 2 queries.

# 查询会执行5次:
Queries executed: 5 (250.000%).

# 给出 包含QPSRPS等指标信息的报告
localhost:9977, queries 5, QPS: 419.066, RPS: 58669.259, MiB/s: 0.448, result RPS: 58669.259, result MiB/s: 0.448.
# 各百分位的查询执行时间
0.000%        0.002 sec.
10.000%        0.002 sec.
20.000%        0.002 sec.
30.000%        0.002 sec.
40.000%        0.002 sec.
50.000%        0.002 sec.
60.000%        0.002 sec.
70.000%        0.002 sec.
80.000%        0.002 sec.
90.000%        0.004 sec.
95.000%        0.004 sec.
99.000%        0.004 sec.
99.900%        0.004 sec.

指定多个服务器测试相同语句

# 使用h参数指定了两个相同的服务地址(在真实场景中应该声明两个不同的服务),基准测试会分别执行2次,生成相应的指标报告:

[root@node3 opt]# clickhouse-benchmark  -h node3 --port=9977 -h node3 --port=9977 -r 1 -i 5 < /opt/multisqls
Loaded 2 queries.

Queries executed: 5 (250.000%).

# 第一个服务器
node3:9977, queries 2, QPS: 620.279, RPS: 93041.864, MiB/s: 0.710, result RPS: 93041.864, result MiB/s: 0.710.
# 第二个服务器
node3:9977, queries 3, QPS: 534.366, RPS: 71248.834, MiB/s: 0.544, result RPS: 71248.834, result MiB/s: 0.544.
0.000%        0.002 sec.    0.002 sec.
10.000%        0.002 sec.    0.002 sec.
20.000%        0.002 sec.    0.002 sec.
30.000%        0.002 sec.    0.002 sec.
40.000%        0.002 sec.    0.002 sec.
50.000%        0.002 sec.    0.002 sec.
60.000%        0.002 sec.    0.002 sec.
70.000%        0.002 sec.    0.002 sec.
80.000%        0.002 sec.    0.003 sec.
90.000%        0.002 sec.    0.003 sec.
95.000%        0.002 sec.    0.003 sec.
99.000%        0.002 sec.    0.003 sec.
99.900%        0.002 sec.    0.003 sec.
99.990%        0.002 sec.    0.003 sec.

# 在对比测试中,clickhousebenchmark会通过抽样的方式比较两组查询指标的差距,在默认的情况下,置信区间为99.5%No difference proven at 99.5% confidence
  1. JDBC 连接
    添加依赖
<!-- https://mvnrepository.com/artifact/ru.yandex.clickhouse/clickhouse-jdbc -->
<dependency>
    <groupId>ru.yandex.clickhouse</groupId>
    <artifactId>clickhouse-jdbc</artifactId>
    <version>0.3.0</version>
</dependency>

URL
单节点:JDBC URL 为 jdbc:clickhouse://<host>:<port>[/<database>]

高可用:jdbc:clickhouse://<firsthost>:<port>,<secondhost>:<port>[,…]/<database>

import java.sql.*;

public class JDBCTest {
    public static void main(String[] args) {
        //初始化驱动
        try {
            Class.forName("ru.yandex.clickhouse.ClickHouseDriver");
            // url
            String url="jdbc:clickhouse://node3:8123/db1";
            // 使用默认用户
            String user="default";
            // 默认密码为空
            String password="";
            // 获取连接
            Connection con = DriverManager.getConnection(url,user,password);
            Statement stmt = con.createStatement();
            // 查询
            ResultSet rs = stmt.executeQuery("select * from db1.test_csv");
     while (rs.next()){
                System.out.println(rs.getInt(1) +"-"+rs.getString(2));
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}
// 输出结果
10-name
1-xioaming
2-xiaohong

  1. 集群模式部署
    3.1 zookeeper 安装
    clickhouse 集群模式部署需要依赖 zookeeper,需要把 zookeeper 预先安装。

这里不做 zookeeper 安装的介绍,不知道怎么安装可以看这个文档:https://www.hnbian.cn/posts/3f857bc8.html#toc-heading-11

这里已经部署过了 zookeeper 环境如下:

节点端口
node12181
node22181
node32181

3.2 分发并安装rpm包
我准备了三台服务器,已经安装了一台,其他两台服务器也都需要安装clickhouse

[root@node3 opt]# cd clickhouse/
[root@node3 clickhouse]#
[root@node3 clickhouse]# ll
-rw-r--r-- 1 root root     54368 412 23:41 clickhouse-client-21.4.3.21-2.noarch.rpm
-rw-r--r-- 1 root root 128449273 412 23:41 clickhouse-common-static-21.4.3.21-2.x86_64.rpm
-rw-r--r-- 1 root root     77604 412 23:41 clickhouse-server-21.4.3.21-2.noarch.rpm
[root@node3 clickhouse]# cd ..
[root@node3 opt]# scp -r clickhouse/ node1:/opt/
...
[root@node3 opt]#
[root@node3 opt]# scp -r clickhouse/ node2:/opt/
...


# 分别在 node1、node2 安装 rpm 包

rpm -ivh clickhouse-common-static-21.4.3.21-2.x86_64.rpm

rpm -ivh clickhouse-server-21.4.3.21-2.noarch.rpm

rpm -ivh clickhouse-client-21.4.3.21-2.noarch.rpm

3.2 修改配置文件config.xml

# 在单节点部署中修改了config.xml 文件中的端口号,
# 将这个文件分发到其余 clickhouse 节点中
scp -r /etc/clickhouse-server/config.xml node1:/etc/clickhouse-server/
scp -r /etc/clickhouse-server/config.xml node2:/etc/clickhouse-server/

vim /etc/clickhouse-server/config.xml
先修改 tcp_port 为 9977, 因为这个端口和 HDFS 的冲突了
9977
listen_host 表示能监听的主机,:: 表示任意主机都可以访问
::


所有节点同步:

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

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

vim /etc/metrika.xml

<yandex>
  <clickhouse_remote_servers>
    <!-- 3分片1副本 -->
    <clickhouse_4shards_1replicas>
      <shard>
          <!-- 数据自动同步 -->
          <internal_replication>true</internal_replication>
        <replica>
          <host>node1</host>
          <port>9977</port>
        </replica>
      </shard>
      <shard>
        <replica>
          <internal_replication>true</internal_replication>
          <host>node2</host>
 <port>9977</port>
        </replica>
      </shard>
      <shard>
        <internal_replication>true</internal_replication>
        <replica>
          <host>node3</host>
          <port>9977</port>
        </replica>
      </shard>
    </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>
      <min_part_size_ratio>0.01</min_part_size_ratio>
      <method>lz4</method>
    </case>
  </clickhouse_compression>
</yandex>


需要根据不同的机器做不同的修改。
所有节点同步:

shell

scp -r /etc/metrika.xml node1:/etc/
scp -r /etc/metrika.xml node2:/etc/

3.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

3.5 检查进程

ps -aux | grep clickhouse
  1. 版本升级
    在使用离线RPM安装包安装后,可以直接通过rpm命令升级:
#cd/chbase/setup
#rpmUvh./*
.rpmPreparing...
#######################[100%]
……

在升级的过程中,原有的config.xml等配置均会被保留。基于其他安装方法的升级方案,请参阅官方手册。

  1. 卸载 clickhouse
# 查询是否安装 clickhouse:
rpm -qa | grep clickhouse
# 卸载 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. ClickHouse 的 Client 参数介绍
参数描述
–host, -h目标服务器名,默认为 localhost
–port目标端口,默认为 9000
–user, -u连接用户,默认为 default
–password连接用户密码,默认为空字符串
–query, -q非交互模式下执行的命令
–database, -d当前操作的数据库,默认选择配置文件配置的值(默认为 default 库)
–multiline, -m如果设定,允许多行查询
–multiquery, -n如果指定,允许处理由分号分隔的多个查询。只有在非交互式模式工作。
–format, -f使用指定的默认格式输出结果
–vertical, -E如果指定,默认使用垂直格式输出结果,等同于 –format=Vertical。 在这种格式中,每个值可在单独的行上,显示宽表时很有用。
–time, -t如果指定,在 stderr 中输出查询执行时间的非交互式模式下。
–stacktrace如果指定,如果发生异常,也会输出堆栈跟踪。
–config-file配置文件的名称,额外的设置或改变了上面列出的设置默认值。

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

./clickhouse-client.xml
~/.clickhouse-client/config.xml
/etc/clickhouse-client/config.xml
  1. 设置用户和密码
    进入到配置文件目录,修改配置配置文件:
vim /etc/clickhouse-server/users.xml
系统默认使用 default 用户登录 无密码。 现在我们配置用户 bigdata 密码为 bigdata
配置一个用户:你配置的 bigdata 就是用户名,  这个标签中的值,就是密码


bigdata

::/0

default
default

所有节点同步:

scp -r /etc/clickhouse-server/users.xml node1:/etc/clickhouse-server/
scp -r /etc/clickhouse-server/users.xml node2:/etc/clickhouse-server/

#启动客户端连接:
clickhouse-client --host=bigdata02 --port=9977 --user=bigdata --password=bigdata -m
  1. 注意事项
    clickhouse: 每个节点在安装的时候,都是独立的。
    每个节点的 clickhouse 都是单独的服务器在运行,在有需要的时候,可以通过配置文件,把他们联合起来变成一个集群。甚至还可以,把你准备的所有的服务器,配置成多个集群。就算你配置成集群了,每个服务器依然还是单独运行的。

如果你创建了一张表,这张表的引擎是分布式的引擎,那么这个表所存储在那个集群里面的那个集群里面的机器,就是一个集群了。每个 clickhouse 中的部分表是单机的, 部分表是分布式的。
clickhouse 既是单独运行的,游离于集群之外,被包含在集群之类的表:分为单机的表和分布式的表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值