在Ubuntu20.04安装单节点ClickHouse22.8.4并解决DB::NetException: Connection refused NETWORK_ERROR导致无法远程访问的问题

2023-11-05

在Ubuntu20.04安装单节点ClickHouse22.8.4并解决DB::NetException: Connection refused (192.168.88.22:9000). (NETWORK_ERROR)导致无法远程访问的问题

前言

参照ClickHouse官网提供的安装文档:https://clickhouse.com/docs/zh/getting-started/install

虚拟机准备

轻车熟路,参照:https://lizhiyong.blog.csdn.net/article/details/126236516

基础网络

在这里插入图片描述

静态IP:192.168.88.22

子网掩码:255.255.255.0

网关:192.168.88.2

DNS:8.8.8.8

禁用IPV6

更换源

不一定每次都指定阿里云。。。自动选个速度最快的即可。

安装必要命令

sudo apt-get install net-tools
sudo apt-get install openssh-server
sudo apt-get install openssh-client
apt install vim

之后可以使用MobaXterm连接:

zhiyong@zhiyong-ck1:~$ hostname
zhiyong-ck1
zhiyong@zhiyong-ck1:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.22  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::20c:29ff:fee6:a0de  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e6:a0:de  txqueuelen 1000  (以太网)
        RX packets 41276  bytes 57382342 (57.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9374  bytes 728677 (728.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 3536  bytes 320114 (320.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3536  bytes 320114 (320.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

指令集检查

根据官方文档介绍:

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.2AArch64PowerPC64LE架构的处理器上运行ClickHouse,您应该通过适当的配置调整从源代码构建ClickHouse

执行:

zhiyong@zhiyong-ck1:~$ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
SSE 4.2 supported

笔者的Intel Xeon 2693V3双路显然支持该指令集,可以使用官方编译好的包继续安装。

安装ClickHouse

官方离线安装包下载地址:https://packages.clickhouse.com/deb/pool/stable/

在这里插入图片描述

大版本号目前最新是22.8。自己玩玩,当然是最新版。。。

安装包列表:

  • clickhouse-common-static — ClickHouse编译的二进制文件。
  • clickhouse-server — 创建clickhouse-server软连接,并安装默认配置服务
  • clickhouse-client — 创建clickhouse-client客户端工具软连接,并安装客户端配置文件。
  • clickhouse-common-static-dbg — 带有调试信息的ClickHouse二进制文件。

使用Deb安装包

由于虚拟机是Ubuntu,当然应该是用Deb的apt安装包。如果一定要使用RPM的yum源,自己想办法实现,坑不是一般的大。。。dev没什么安全策略,直接在线下载安装就行:

sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754

echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update

sudo apt-get install -y clickhouse-server clickhouse-client

sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you've set up a password.

照着敲即可【安装包265M,慢慢下载】:

zhiyong@zhiyong-ck1:~$ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
SSE 4.2 supported
zhiyong@zhiyong-ck1:~$ sudo apt-get install -y apt-transport-https ca-certificates dirmngr
[sudo] zhiyong 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
  gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm gpgv
建议安装:
  tor parcimonie xloadimage scdaemon
下列【新】软件包将被安装:
  apt-transport-https
下列软件包将被升级:
  ca-certificates dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm gpgv
升级了 12 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 278 个软件包未被升级。
需要下载 2,708 kB 的归档。
解压缩后会消耗 157 kB 的额外空间。
获取:1 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gpg-wks-client amd64 2.2.19-3ubuntu2.2 [97.4 kB]
获取:2 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 dirmngr amd64 2.2.19-3ubuntu2.2 [330 kB]
获取:3 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gnupg-utils amd64 2.2.19-3ubuntu2.2 [481 kB]
获取:4 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gpg-wks-server amd64 2.2.19-3ubuntu2.2 [90.2 kB]
获取:5 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gpg-agent amd64 2.2.19-3ubuntu2.2 [232 kB]
获取:6 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gpg amd64 2.2.19-3ubuntu2.2 [482 kB]
获取:7 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gpgconf amd64 2.2.19-3ubuntu2.2 [124 kB]
获取:8 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gnupg-l10n all 2.2.19-3ubuntu2.2 [51.7 kB]
获取:9 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gnupg all 2.2.19-3ubuntu2.2 [259 kB]
获取:10 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gpgsm amd64 2.2.19-3ubuntu2.2 [217 kB]
获取:11 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 gpgv amd64 2.2.19-3ubuntu2.2 [200 kB]
获取:12 https://mirror.nju.edu.cn/ubuntu focal-updates/main amd64 ca-certificates all 20211016~20.04.1 [144 kB]
获取:13 https://mirror.nju.edu.cn/ubuntu focal-updates/universe amd64 apt-transport-https all 2.0.9 [1,704 B]
已下载 2,708 kB,耗时 1(3,152 kB/s)
正在预设定软件包 ...
(正在读取数据库 ... 系统当前共安装有 149909 个文件和目录。)
准备解压 .../00-gpg-wks-client_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 gpg-wks-client (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../01-dirmngr_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 dirmngr (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../02-gnupg-utils_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 gnupg-utils (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../03-gpg-wks-server_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 gpg-wks-server (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../04-gpg-agent_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 gpg-agent (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../05-gpg_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 gpg (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../06-gpgconf_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 gpgconf (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../07-gnupg-l10n_2.2.19-3ubuntu2.2_all.deb  ...
正在解压 gnupg-l10n (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../08-gnupg_2.2.19-3ubuntu2.2_all.deb  ...
正在解压 gnupg (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../09-gpgsm_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 gpgsm (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
准备解压 .../10-gpgv_2.2.19-3ubuntu2.2_amd64.deb  ...
正在解压 gpgv (2.2.19-3ubuntu2.2) 并覆盖 (2.2.19-3ubuntu2.1) ...
正在设置 gpgv (2.2.19-3ubuntu2.2) ...
(正在读取数据库 ... 系统当前共安装有 149909 个文件和目录。)
准备解压 .../ca-certificates_20211016~20.04.1_all.deb  ...
正在解压 ca-certificates (20211016~20.04.1) 并覆盖 (20210119~20.04.2) ...
正在选中未选择的软件包 apt-transport-https。
准备解压 .../apt-transport-https_2.0.9_all.deb  ...
正在解压 apt-transport-https (2.0.9) ...
正在设置 apt-transport-https (2.0.9) ...
正在设置 ca-certificates (20211016~20.04.1) ...
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
7 added, 8 removed; done.
正在设置 gnupg-l10n (2.2.19-3ubuntu2.2) ...
正在设置 gpgconf (2.2.19-3ubuntu2.2) ...
正在设置 gpg (2.2.19-3ubuntu2.2) ...
正在设置 gnupg-utils (2.2.19-3ubuntu2.2) ...
正在设置 gpg-agent (2.2.19-3ubuntu2.2) ...
正在设置 gpgsm (2.2.19-3ubuntu2.2) ...
正在设置 dirmngr (2.2.19-3ubuntu2.2) ...
正在设置 gpg-wks-server (2.2.19-3ubuntu2.2) ...
正在设置 gpg-wks-client (2.2.19-3ubuntu2.2) ...
正在设置 gnupg (2.2.19-3ubuntu2.2) ...
正在处理用于 man-db (2.9.1-1) 的触发器 ...
正在处理用于 install-info (6.7.0.dfsg.2-5) 的触发器 ...
正在处理用于 ca-certificates (20211016~20.04.1) 的触发器 ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
zhiyong@zhiyong-ck1:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
Executing: /tmp/apt-key-gpghome.fL9eortNDc/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
gpg: 密钥 8919F6BD2B48D754:公钥 “ClickHouse Inc. Repositories Key <packages@clickhouse.com>” 已导入
gpg: 处理的总数:1
gpg:               已导入:1
zhiyong@zhiyong-ck1:~$ echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
>     /etc/apt/sources.list.d/clickhouse.list
deb https://packages.clickhouse.com/deb stable main
zhiyong@zhiyong-ck1:~$ sudo apt-get update
命中:1 https://mirror.nju.edu.cn/ubuntu focal InRelease
命中:2 https://mirror.nju.edu.cn/ubuntu focal-updates InRelease
命中:3 https://mirror.nju.edu.cn/ubuntu focal-backports InRelease
命中:4 https://mirror.nju.edu.cn/ubuntu focal-security InRelease
获取:5 https://packages.clickhouse.com/deb stable InRelease [5,536 B]
获取:6 https://packages.clickhouse.com/deb stable/main i386 Packages [5,568 B]
获取:7 https://packages.clickhouse.com/deb stable/main amd64 Packages [18.1 kB]
已下载 29.2 kB,耗时 2(14.9 kB/s)
正在读取软件包列表... 完成
zhiyong@zhiyong-ck1:~$ sudo apt-get install -y clickhouse-server clickhouse-client
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
  clickhouse-common-static
建议安装:
  clickhouse-common-static-dbg
下列【新】软件包将被安装:
  clickhouse-client clickhouse-common-static clickhouse-server
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 278 个软件包未被升级。
需要下载 265 MB 的归档。
解压缩后会消耗 773 MB 的额外空间。
获取:1 https://packages.clickhouse.com/deb stable/main amd64 clickhouse-common-static amd64 22.8.4.7 [265 MB]
获取:2 https://packages.clickhouse.com/deb stable/main amd64 clickhouse-client amd64 22.8.4.7 [75.3 kB]
获取:3 https://packages.clickhouse.com/deb stable/main amd64 clickhouse-server amd64 22.8.4.7 [99.2 kB]
已下载 265 MB,耗时 237(1,684 kB/s)
正在选中未选择的软件包 clickhouse-common-static。
(正在读取数据库 ... 系统当前共安装有 149912 个文件和目录。)
准备解压 .../clickhouse-common-static_22.8.4.7_amd64.deb  ...
正在解压 clickhouse-common-static (22.8.4.7) ...
正在选中未选择的软件包 clickhouse-client。
准备解压 .../clickhouse-client_22.8.4.7_amd64.deb  ...
正在解压 clickhouse-client (22.8.4.7) ...
正在选中未选择的软件包 clickhouse-server。
准备解压 .../clickhouse-server_22.8.4.7_amd64.deb  ...
正在解压 clickhouse-server (22.8.4.7) ...
正在设置 clickhouse-common-static (22.8.4.7) ...
正在设置 clickhouse-server (22.8.4.7) ...
ClickHouse binary is already located at /usr/bin/clickhouse
Symlink /usr/bin/clickhouse-server already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-server to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-client already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-client to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-local already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-local to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-benchmark already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-benchmark to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-copier already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-copier to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-obfuscator already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-obfuscator to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-git-import to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-compressor already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-compressor to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-format already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-format to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-extract-from-config already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-extract-from-config to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-keeper already exists but it points to /clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-keeper to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-keeper-converter to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-disks to /usr/bin/clickhouse.
Creating clickhouse group if it does not exist.
 groupadd -r clickhouse
Creating clickhouse user if it does not exist.
 useradd -r --shell /bin/false --home-dir /nonexistent -g clickhouse clickhouse
Will set ulimits for clickhouse user in /etc/security/limits.d/clickhouse.conf.
Creating config directory /etc/clickhouse-server/config.d that is used for tweaks of main server configuration.
Creating config directory /etc/clickhouse-server/users.d that is used for tweaks of users configuration.
Config file /etc/clickhouse-server/config.xml already exists, will keep it and extract path info from it.
/etc/clickhouse-server/config.xml has /var/lib/clickhouse/ as data path.
/etc/clickhouse-server/config.xml has /var/log/clickhouse-server/ as log path.
Users config file /etc/clickhouse-server/users.xml already exists, will keep it and extract users info from it.
Creating log directory /var/log/clickhouse-server/.
Creating data directory /var/lib/clickhouse/.
Creating pid directory /var/run/clickhouse-server.
 chown -R clickhouse:clickhouse '/var/log/clickhouse-server/'
 chown -R clickhouse:clickhouse '/var/run/clickhouse-server'
 chown  clickhouse:clickhouse '/var/lib/clickhouse/'
 groupadd -r clickhouse-bridge
 useradd -r --shell /bin/false --home-dir /nonexistent -g clickhouse-bridge clickhouse-bridge
 chown -R clickhouse-bridge:clickhouse-bridge '/usr/bin/clickhouse-odbc-bridge'
 chown -R clickhouse-bridge:clickhouse-bridge '/usr/bin/clickhouse-library-bridge'
Enter password for default user:
Password for default user is saved in file /etc/clickhouse-server/users.d/default-password.xml.
Setting capabilities for clickhouse binary. This is optional.
 chown -R clickhouse:clickhouse '/etc/clickhouse-server'

ClickHouse has been successfully installed.

Start clickhouse-server with:
 sudo clickhouse start

Start clickhouse-client with:
 clickhouse-client --password

Synchronizing state of clickhouse-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable clickhouse-server
Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.service → /lib/systemd/system/clickhouse-server.service.
正在设置 clickhouse-client (22.8.4.7) ...
正在处理用于 systemd (245.4-4ubuntu3.15) 的触发器 ...
zhiyong@zhiyong-ck1:~$

中间会让敲密码,笔者习惯性敲:123456

启动服务

zhiyong@zhiyong-ck1:~$ sudo service clickhouse-server start

命令行连接测试

zhiyong@zhiyong-ck1:~$ clickhouse-client --password 123456
ClickHouse client version 22.8.4.7 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 22.8.4 revision 54460.

zhiyong-ck1 :) select 1;

SELECT 1

Query id: 94ceec60-3e9f-4c48-9fd1-d37f3d34568f

┌─1─┐
│ 1 │
└───┘

1 row in set. Elapsed: 0.002 sec.

zhiyong-ck1 :) show databases;

SHOW DATABASES

Query id: 1af1c8b0-cda6-4316-bb9e-ddcfd41f32cd

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

4 rows in set. Elapsed: 0.002 sec.

zhiyong-ck1 :)

由于设置了密码=123456,需要敲密码才能使用客户端连接。

至此,单机版本ClickHouse安装成功。可以根据Log看到目前安装的单节点ClickHouse是22.8.4。

更多命令行使用方法可以参照官网:https://clickhouse.com/docs/zh/interfaces/cli/

贴一些命令行参数:

  • --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 – 配置文件的名称。
  • --secure – 如果指定,将通过安全连接连接到服务器。
  • --history_file — 存放命令历史的文件的路径。
  • --param_<name> — 查询参数配置查询参数.

尝试使用:

zhiyong-ck1 :) exit
Bye.
zhiyong@zhiyong-ck1:~$ clickhouse-client -h 192.168.88.22 --port 9000 --user default --password 123456
ClickHouse client version 22.8.4.7 (official build).
Connecting to 192.168.88.22:9000 as user default.
Code: 210. DB::NetException: Connection refused (192.168.88.22:9000). (NETWORK_ERROR)

zhiyong@zhiyong-ck1:~$ clickhouse-client -h localhost --port 9000 --user default --password 123456
ClickHouse client version 22.8.4.7 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 22.8.4 revision 54460.

zhiyong-ck1 :) exit
Bye.
zhiyong@zhiyong-ck1:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.22  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::20c:29ff:fee6:a0de  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e6:a0:de  txqueuelen 1000  (以太网)
        RX packets 228418  bytes 337558377 (337.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 41775  bytes 2733956 (2.7 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 3802  bytes 563177 (563.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3802  bytes 563177 (563.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

zhiyong@zhiyong-ck1:~$ hostname
zhiyong-ck1
zhiyong@zhiyong-ck1:~$ clickhouse-client -h zhiyong-ck1 --port 9000 --user default --password 123456
ClickHouse client version 22.8.4.7 (official build).
Connecting to zhiyong-ck1:9000 as user default.
Code: 210. DB::NetException: Connection refused (zhiyong-ck1:9000). (NETWORK_ERROR)

zhiyong@zhiyong-ck1:~$ cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       zhiyong-ck1

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

可以看到只能使用localhost作为-h的参数。。。使用IP及host都会失败,也是醉了。

在另一台Ubuntu的dev机器只安装ClickHouse的Client:

zhiyong@zhiyong-vm-dev:~$ sudo apt-get install -y apt-transport-https ca-certificates dirmngr
[sudo] zhiyong 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
dirmngr 已经是最新版 (2.2.20-1ubuntu4)。
dirmngr 已设置为手动安装。
ca-certificates 已经是最新版 (20211016~21.10.1)。
ca-certificates 已设置为手动安装。
下列软件包是自动安装的并且现在不需要了:
  libfwupdplugin1
使用'sudo apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
  apt-transport-https
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 52 个软件包未被升级。
需要下载 1,514 B 的归档。
解压缩后会消耗 167 kB 的额外空间。
【警告】:下列软件包不能通过认证!
  apt-transport-https
E: 存在未认证的软件包同时使用了 -y 选项,然而未搭配  --allow-unauthenticated
zhiyong@zhiyong-vm-dev:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.az4XPIUxQR/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
gpg: 密钥 8919F6BD2B48D754:公钥 “ClickHouse Inc. Repositories Key <packages@clickhouse.com>” 已导入
gpg: 处理的总数:1
gpg:               已导入:1
zhiyong@zhiyong-vm-dev:~$ echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
deb https://packages.clickhouse.com/deb stable main
忽略:1 http://cn.archive.ubuntu.com/ubuntu impish InRelease
忽略:2 http://security.ubuntu.com/ubuntu impish-security InRelease
错误:3 http://security.ubuntu.com/ubuntu impish-security Release
  404  Not Found [IP: 185.125.190.36 80]
忽略:4 http://cn.archive.ubuntu.com/ubuntu impish-updates InRelease
获取:5 https://packages.clickhouse.com/deb stable InRelease [5,536 B]
忽略:6 http://cn.archive.ubuntu.com/ubuntu impish-backports InRelease
错误:7 http://cn.archive.ubuntu.com/ubuntu impish Release
  404  Not Found [IP: 91.189.91.38 80]
错误:8 http://cn.archive.ubuntu.com/ubuntu impish-updates Release
  404  Not Found [IP: 91.189.91.38 80]
获取:9 https://packages.clickhouse.com/deb stable/main amd64 Packages [18.1 kB]
错误:10 http://cn.archive.ubuntu.com/ubuntu impish-backports Release
  404  Not Found [IP: 91.189.91.38 80]
获取:11 https://packages.clickhouse.com/deb stable/main i386 Packages [5,568 B]
正在读取软件包列表... 完成
E: 仓库 “http://security.ubuntu.com/ubuntu impish-security Release” 不再含有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
E: 仓库 “http://cn.archive.ubuntu.com/ubuntu impish Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
E: 仓库 “http://cn.archive.ubuntu.com/ubuntu impish-updates Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
E: 仓库 “http://cn.archive.ubuntu.com/ubuntu impish-backports Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
zhiyong@zhiyong-vm-dev:~$
zhiyong@zhiyong-vm-dev:~$
zhiyong@zhiyong-vm-dev:~$ sudo apt-get install -y clickhouse-client
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
  libfwupdplugin1
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
  clickhouse-common-static
建议安装:
  clickhouse-common-static-dbg
下列【新】软件包将被安装:
  clickhouse-client clickhouse-common-static
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 52 个软件包未被升级。
需要下载 265 MB 的归档。
解压缩后会消耗 772 MB 的额外空间。
获取:1 https://packages.clickhouse.com/deb stable/main amd64 clickhouse-common-static amd64 22.8.4.7 [265 MB]
获取:2 https://packages.clickhouse.com/deb stable/main amd64 clickhouse-client amd64 22.8.4.7 [75.3 kB]
已下载 265 MB,耗时 252(1,538 kB/s)
正在选中未选择的软件包 clickhouse-common-static。
(正在读取数据库 ... 系统当前共安装有 212008 个文件和目录。)
准备解压 .../clickhouse-common-static_22.8.4.7_amd64.deb  ...
正在解压 clickhouse-common-static (22.8.4.7) ...
正在选中未选择的软件包 clickhouse-client。
准备解压 .../clickhouse-client_22.8.4.7_amd64.deb  ...
正在解压 clickhouse-client (22.8.4.7) ...
正在设置 clickhouse-common-static (22.8.4.7) ...
正在设置 clickhouse-client (22.8.4.7) ...
zhiyong@zhiyong-vm-dev:~$

使用这台Ubuntu的Client连接另一台的Server:

zhiyong@zhiyong-vm-dev:~$ ping 192.168.88.22
PING 192.168.88.22 (192.168.88.22) 56(84) bytes of data.
64 bytes from 192.168.88.22: icmp_seq=1 ttl=64 time=0.948 ms
64 bytes from 192.168.88.22: icmp_seq=2 ttl=64 time=0.929 ms
64 bytes from 192.168.88.22: icmp_seq=3 ttl=64 time=0.883 ms
64 bytes from 192.168.88.22: icmp_seq=4 ttl=64 time=1.59 ms
64 bytes from 192.168.88.22: icmp_seq=5 ttl=64 time=0.889 ms
^C
--- 192.168.88.22 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 0.883/1.047/1.589/0.271 ms
zhiyong@zhiyong-vm-dev:~$ clickhouse-client -h 192.168.88.22 --port 9000 --user default --password 123456
ClickHouse client version 22.8.4.7 (official build).
Connecting to 192.168.88.22:9000 as user default.
Code: 210. DB::NetException: Connection refused (192.168.88.22:9000). (NETWORK_ERROR)

zhiyong@zhiyong-vm-dev:~$

目前这状态显然是不正常的。正常情况需要能够远程连接到服务器,正常人谁会localhost访问。。。

DB::NetException: Connection refused (192.168.88.22:9000). (NETWORK_ERROR)这个问题必须解决,否则之后通过JDBC等方式远程访问大概率也不正常。

解决无法远程访问的问题

配置文件的官方文档:https://clickhouse.com/docs/zh/operations/configuration-files/

参照官方的文档可以找到配置文件:

zhiyong@zhiyong-ck1:~$ sudo su root
[sudo] zhiyong 的密码:
root@zhiyong-ck1:/home/zhiyong# cd /etc/clickhouse-server
root@zhiyong-ck1:/etc/clickhouse-server# ll
总用量 100
drwx------   4 clickhouse clickhouse  4096 97 08:19 ./
drwxr-xr-x 131 root       root       12288 97 07:27 ../
dr-x------   2 clickhouse clickhouse  4096 97 07:27 config.d/
-r--------   1 clickhouse clickhouse 67935 97 08:19 config.xml
dr-x------   2 clickhouse clickhouse  4096 97 07:27 users.d/
-r--------   1 clickhouse clickhouse  6115 831 20:52 users.xml

主要的2个配置文件就是config.xml和users.xml。

定位问题

执行:

:set nu
/<listen_host>

可以看到这个配置项有问题:

177     <!-- Listen specified address.
 178          Use :: (wildcard IPv6 address), if you want to accept connections both with IPv4 and IPv6 from everywhere.
 179          Notes:
 180          If you open connections from wildcard address, make sure that at least one of the following measures applied:
 181          - server is protected by firewall and not accessible from untrusted networks;
 182          - all users are restricted to subset of network addresses (see users.xml);
 183          - all users have strong passwords, only secure (TLS) interfaces are accessible, or connections are only made via TLS interfaces.
 184          - users without password have readonly access.
 185          See also: https://www.shodan.io/search?query=clickhouse
 186       -->
 187     <!-- <listen_host>::</listen_host> -->

尝试解决

修改为:

<listen_host>::</listen_host>

使用:

:wq!

强制保存。

重启服务:

root@zhiyong-ck1:/etc/clickhouse-server# exit
exit
zhiyong@zhiyong-ck1:~$ sudo systemctl restart clickhouse-server

重试命令行连接

zhiyong@zhiyong-ck1:~$ clickhouse-client -h 192.168.88.22 --port 9000 --user default --password 123456
ClickHouse client version 22.8.4.7 (official build).
Connecting to 192.168.88.22:9000 as user default.
Connected to ClickHouse server version 22.8.4 revision 54460.

zhiyong-ck1 :) show databases;

SHOW DATABASES

Query id: 26da3836-a2e1-42c3-82e0-37ad6f34c77b

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

4 rows in set. Elapsed: 0.002 sec.

zhiyong-ck1 :) exit
Bye.

在另一台Ubuntu尝试:

zhiyong@zhiyong-vm-dev:~$ clickhouse-client -h 192.168.88.22 --port 9000 --user default --password 123456
ClickHouse client version 22.8.4.7 (official build).
Connecting to 192.168.88.22:9000 as user default.
Connected to ClickHouse server version 22.8.4 revision 54460.

zhiyong-ck1 :) show databases;

SHOW DATABASES

Query id: 1cda3ec4-b9ce-4ee7-ad3a-f627bcdd7f83

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

4 rows in set. Elapsed: 0.005 sec.

zhiyong-ck1 :) exit
Bye.
zhiyong@zhiyong-vm-dev:~$

显然此时状态正常。

使用DataGrip测试访问

在这里插入图片描述

最新版本的驱动包有点问题:未找到驱动程序类 org.apache.http.conn.HttpClientConnectionManager

需要使用稍微老一点的驱动包。ClickHouse默认的JDBC端口是8123,不是9000【Client用9000端口是因为底层走TCP,不是走JDBC】。
在这里插入图片描述

这下再去写JDBC连接ClickHouse就问题少一些。。。一步一个坑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Ubuntu20.04安装单节点ClickHouse22.8.4并解决DB::NetException: Connection refused NETWORK_ERROR导致无法远程访问的问题 的相关文章

  • 2020年认证杯SPSSPRO杯数学建模D题(第二阶段)让电脑桌面飞起来全过程文档及程序

    2020年认证杯SPSSPRO杯数学建模 D题 让电脑桌面飞起来 原题再现 对于一些必须每天使用电脑工作的白领来说 电脑桌面有着非常特殊的意义 通常一些频繁使用或者比较重要的图标会一直保留在桌面上 但是随着时间的推移 桌面上的图标会越来越多
  • 亚信安慧AntDB引领数字化转型:浙江移动成功实现CRM系统全域改造

    数字时代 通信运营商在不断迭代的背景下 需要不断探索数字化转型的路径 以适应快速发展的市场和技术环境 在这一浪潮中 浙江移动站在前沿 率先完成了其CRM系统的全域改造 采用了亚信安慧公司研发的AntDB数据库 为整个行业树立了数字化转型的标
  • 智能时代:自然语言生成SQL与知识图谱问答实战

    语义解析 前言 语义解析的应用场景 总结概论 语义解析和大模型的关系 延伸阅读 前言 语义解析技术可以提高人机交互的效率和准确性 在自然语言处理 数据分析 智能客服 智能家居等领域都有广泛的应用前景 特别是在大数据时代 语义解析能够帮助企业
  • 【计算机毕业设计】北关村基本办公管理系统

    在如今社会上 关于信息上面的处理 没有任何一个企业或者个人会忽视 如何让信息急速传递 并且归档储存查询 采用之前的纸张记录模式已经不符合当前使用要求了 所以 对北关村基本办公信息管理的提升 也为了对北关村基本办公信息进行更好的维护 北关村基
  • Clickhouse数据导入

    我在Clickhouse中创建了一个表 CREATE TABLE stock plant Int32 code Int32 service level Float32 qty Int32 ENGINE Log 有一个数据文件 head n
  • APP端网络测试与弱网模拟

    当前APP网络环境比较复杂 网络制式有2G 3G 4G网络 还有越来越多的公共Wi Fi 不同的网络环境和网络制式的差异 都会对用户使用app造成一定影响 另外 当前app使用场景多变 如进地铁 上公交 进电梯等 使得弱网测试显得尤为重要
  • 基于java的饮食分享平台系统设计与实现

    基于java的饮食分享平台系统设计与实现 I 引言 A 研究背景和动机 近年来 随着人们生活水平的提高和健康意识的增强 饮食健康已经成为越来越多人的关注焦点 因此 一个方便快捷的饮食分享平台就显得尤为重要 基于Java的饮食分享平台系统设计
  • 电商数据api拼多多接口获取商品实时数据价格比价api代码演示案例

    拼多多商品详情接口 接口接入入口 它的主要功能是允许卖家从自己的系统中快速获取商品详细信息 通过这个接口 卖家可以提取到商品的各类数据 包括但不限于商品标题 价格 优惠价 收藏数 下单人数 月销售量等 此外 还可以获取到商品的SKU图 详情
  • 【计算机毕业设计】电商个性化推荐系统

    伴随着我国社会的发展 人民生活质量日益提高 于是对电商个性化推荐进行规范而严格是十分有必要的 所以许许多多的信息管理系统应运而生 此时单靠人力应对这些事务就显得有些力不从心了 所以本论文将设计一套电商个性化推荐系统 帮助商家进行商品信息 在
  • 【计算机毕业设计】北工国际健身俱乐部

    本系统为会员而设计制作北工国际健身俱乐部 旨在实现北工国际健身俱乐部智能化 现代化管理 本北工国际健身俱乐部管理自动化系统的开发和研制的最终目的是将北工国际健身俱乐部的运作模式从手工记录数据转变为网络信息查询管理 从而为现代管理人员的使用提
  • 【计算机毕业设计】二手家电管理平台

    时代在飞速进步 每个行业都在努力发展现在先进技术 通过这些先进的技术来提高自己的水平和优势 二手家电管理平台当然不能排除在外 二手家电管理平台是在实际应用和软件工程的开发原理之上 运用java语言以及前台VUE框架 后台SpringBoot
  • 【计算机毕业设计】微信小程序反诈科普平台

    相比于以前的传统手工管理方式 智能化的管理方式可以大幅降低反诈科普平台的运营人员成本 实现了反诈科普平台的标准化 制度化 程序化的管理 有效地防止了反诈科普平台的随意管理 提高了信息的处理速度和精确度 能够及时 准确地查询和修正反诈科普 一
  • 毕业设计:基于python人脸识别系统 LBPH算法 sqlite数据库 (源码)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 选择我们就是选择放心 选择安心毕业 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机毕业
  • 新画图不好用?『 图层困扰?』『 剪切板拷贝失败?』旧版画图软件yyds

    樊梓慕 个人主页 个人专栏 C语言
  • 每日变更的最佳实践

    在优维公司内部 我们采用发布单的方式进行每天的应用变更管理 这里给各位介绍优维的最佳实践 变更是需要多角色合作的 而且他是整体研发流程的一部分 在优维内部 我们坚持每日变更 打通开发环节到最终发布上线的全过程 在保证质量的前提下 尽可能提升
  • 光波导结构

    摘要 增强现实和混合现实 AR MR 领域的新应用引起了人们对带有光栅区域的光波导系统的越来越多的关注 这些光波导系统用于输入和输出耦合以及扩瞳目的 VirtualLab Fusion为这类系统的仿真和设计提供了几个强大的工具 其中一个是具
  • clickhouse 将采样缩减为 OHLC 时间条间隔

    对于一张桌子 例如包含日期 价格时间序列 每个价格例如毫秒 如何将其下采样为具有时间间隔的开高低收 ohlc 行组 例如分钟 虽然使用数组的选项可以工作 但这里最简单的选项是使用按时间间隔分组的组合min max argMin argMax
  • 在 Spark 中将带有 MapType 列的 DataFrame 写入数据库

    我正在尝试使用 clickhouse native jdbc 驱动程序将带有 MapType 列的数据帧保存到 Clickhouse 架构中也包含地图类型列 并遇到以下错误 Caused by java lang IllegalArgume
  • Mondrian OLAP 引擎 + Olap4j 的数据呈现

    我正在对一个应用程序进行一些规划 该应用程序使用 Mondrian OLAP 引擎和 Olap4j 并且应该向用户呈现 显示数据 我了解所有后端内容 但我不确定应该如何在视图层中显示数据 例如 olap4j 有一个格式化程序 可以将 SEL
  • 基于不同 ID 的 SSAS 聚合

    我希望将不同 ID 值的默认聚合从 SUM 更改为 SUM 这是当前的行为 ID Amount 1 10 1 10 2 20 3 30 3 30 Sum Total 90 默认情况下 我会收到 90 美元 我希望对不同的 id 进行求和并得

随机推荐

  • P型MOS管常用型号表,电子工程师选型必备!

    P型MOS管常用型号表 如果不清楚如何对P型MOS管选型 可以联系泰德兰电子 在线销售工程师一对一技术支持服务 专业MOS管代理商 长期代理美国aos万代MOS管 重庆万国MOS管 日本松木MOS管等品牌 免费在线分享提供P型MOS管选型
  • PC-lint9 集成至vs2008及配置

    Setp 1 运行config exe对std lnt进行配置时 勾上对VS2008的支持 这里不在赘述 网上关于此的文章非常多 Setp 2 打开vs 2008 点击Tools gt External Tools STEP 3 选择ADD
  • 锁表查询及处理

    锁表及查询及kill命令生成语句 SELECT b sid b serial b logon time b username b osuser a object name alter system kill session b sid b
  • std::tuple还是struct?

    std tuple是C 11提供的新模板类 可以翻译为 元组 可把多个不同类型的变量组合成一个对象 std tuple可看做std pair的泛化实现 std pair包含两个元素 std tuple 可以同时包含多个元素 它拥有 stru
  • 【Keil5】Keil查看程序占用flash大小

    文章目录 一 问题 二 解决方法 参考资料 一 问题 我们在挑选一款单片机的时候 会查询单片机的主频 内部flash和RAM 封装 各种外设接口资源 其中flash和RAM大小尤为重要 以STM32H750VBT6为例 其内部flash只有
  • Unity3d 开发Pico4应用打开工程卡在Importing(iteration xxx) busy for xx:xx)...问题记录

    问题 大致问题如题 步骤是参照了PICO官方给出的快速开始的步骤进行的 而这个我问题的出现是在导入 PICO Unity Integration SDK 前往 SDK 下载中心 下载最新版本的 SDK 1 解压所下载的 SDK 压缩包 2
  • 什么是Base64?

    一 什么是Base64 百度百科中对Base64有一个很好的解释 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一 Base64就是一种基于64个可打印字符来表示二进制数据的方法 什么是 可打印字符 呢 为什么要用它来传输8
  • HTTP 2.0 协议

    HTTP 说起HTTP 协议 超文本传输协议 很多人应该觉得很熟 不过随着HTTP2 0 的普遍应用 我们对其应该有更多的了解 HTTP是浏览器或其他客户端程序与Web服务器之间的应用层通信协议 基于TCP 协议的 主要经历 HTTP 1
  • bnu1322 长方体表面积 C语言版

    北京师范大学珠海分校 Judge Online of ACM ICPC 1322 长方体表面积 C语言版 include
  • Retinex理论及算法学习

    为了能够获取最大的信息量 达到更好的图像增强效果 了解人类视觉系统的特性和图像的属性是准确地选择图像增强方法的必备知识 一 人眼视觉系统 1 人眼成像 人的眼睛是一个非常复杂的器官 一般来说它就是一个球体 平均直径约为20mm 内壁是一层视
  • web期末复习---老师划重点!!

    18 19级的web期末考试题都是老师出题 有幸在周一下午去听了老师的划重点的课 下面我把重点列出来供大家参考 可能不是特别全欢迎补充 谢谢 table 书P25 知道外边框 内边框及其各个属性 什么属性只显示上边框 什么属性只显示下边框等
  • Spring Boot 学习笔记

    TOC 一 Spring Boot 入门 1 Spring Boot 简介 简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 2 微服务 2014 martin fowler 微服务 架构
  • Python 使用cv2模块 进入视觉识别的报错,报错信息为AttributeError: module ‘cv2.cv2‘ has no attribute ‘bgsegm

    Python 使用cv2模块 进入视觉识别的报错 报错信息为AttributeError module cv2 cv2 has no attribute bgsegm 问题描述 cv2模块 进入视觉识别的报错 报错信息为AttributeE
  • (一)pygame.event详细解析

    文章目录 pygame event详细解析 函数表 函数详解 pygame event pump pygame event get pygame event poll pygame event wait pygame event peek
  • Elasticsearch学习笔记(一) DSL语句

    1 index 1 1 查询所有index GET cat indices v 1 2 新增index 新增一个名为pigg的index PUT pigg 1 3 删除index 删除pigg这个index 产线千万别这么做 删了就完了 D
  • 【react从入门到精通】深入理解React生命周期

    文章目录 人工智能福利文章 前言 React技能树 React的生命周期是什么 React v16 0前的生命周期 组件初始化 initialization 阶段 组件挂载 Mounting 阶段 组件更新 update 阶段 组件销毁阶段
  • 2.4.8 Profile虚拟IO设备

    最后更新2021 07 21 虚拟IO设备由HMC发出配置信息 由Hypervisor创建 虚拟IO设备并非真实存在 只是一些Hypervisor的参数 所以通常你可以根据需要 任意增删虚拟IO设备 但是创建虚拟IO设备依然有一些规则需要遵
  • Vue3.0——vite项目搭建

    2021 10 26 因为技术不断更新 故有些命令行不是最新的 随着后期补丁的更新 部分错误后期可能不存在了 建议大家参照时间节点看本片文章 1 搭建vite项目 npm init vitejs app 2 npm init vitejs
  • 用rsync命令和scp命令实现本机带进度条提示拷贝

    rsync命令 rsync av progress mnt yidong2 full20100526 tar gz mnt yidong1 以上命令 可以实现本机带进度条提示拷贝 可以实现不同机器带进度条提示拷贝 可以拷贝多个文件 scp命
  • 在Ubuntu20.04安装单节点ClickHouse22.8.4并解决DB::NetException: Connection refused NETWORK_ERROR导致无法远程访问的问题

    在Ubuntu20 04安装单节点ClickHouse22 8 4并解决DB NetException Connection refused 192 168 88 22 9000 NETWORK ERROR 导致无法远程访问的问题 前言 参