华为云云耀云服务器L实例评测|ClickHouse部署及压测

news2024/11/23 15:09:35

文章目录

  • 前言
    • 📣 1.前言概述
    • 📣 2.安全设置
    • 📣 3.ClickHouse安装
      • ✨ 3.1 申请服务器
      • ✨ 3.2 安装前准备
      • ✨ 3.3 RPM安装包
      • ✨ 3.4 配置文件
      • ✨ 3.5 使用ClickHouse
    • 📣 4.ClickHouse压测
      • ✨ 4.1 下载数据
      • ✨ 4.2 解压数据
      • ✨ 4.3 创建数据库和表
      • ✨ 4.4 插入数据
      • ✨ 4.5 插入数据

前言

在上期对文章中,带大家通过华为云云耀云服务器L进行Docker的部署及应用,本次给大家首先介绍在使用华为云云耀云服务器L时,当您需要对帐号的安全信息进行设置时,可以通过"安全设置",进行相关操作,并对ClickHouse部署及压测。

往期回顾:
1.华为云云耀云服务器L实例评测|Ubuntu云服务器申请使用
2.华为云云耀云服务器L实例评测|Ubuntu系统MySQL 8.1.0 Innovation压测
3.华为云云耀云服务器L实例评测|Docker部署及应用

📣 1.前言概述

在上期对文章中,带大家通过华为云云耀云服务器L进行Docker的部署及应用,容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境。本次给大家首先介绍在使用华为云云耀云服务器L时,当您需要对帐号的安全信息进行设置时,可以通过"安全设置",进行相关操作。

在这里插入图片描述

📣 2.安全设置

当您需要对帐号的安全信息进行设置时,可以通过“安全设置”进行操作。“安全设置”包括“基本信息”、“敏感操作”、“登录验证策略”、“密码策略”、“访问控制”。
如何进入安全设置?所有用户均可通过控制台入口进入“安全设置”,登录华为云,在右上角单击“控制台”,在“控制台”页面,鼠标移动至右上方的用户名,在下拉列表中选择“安全设置”。

在这里插入图片描述
在这里插入图片描述

📣 3.ClickHouse安装

clickhouse简介:
ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。
clickhouse可以做用户行为分析,流批一体
线性扩展和可靠性保障能够原生支持 shard + replication
clickhouse没有走hadoop生态,采用 Local attached storage 作为存储。

✨ 3.1 申请服务器

##登录华为云云耀云服务器L实例,通过Docker容器拉取镜像,创建容器,拥有自己的云服务器Centos7.8
1)拉取镜像
docker pull daocloud.io/library/centos:centos7.8.2003
root@hcss-ecs-7c99:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 9c7a54a9a43c 5 months ago 13.3kB
daocloud.io/library/centos centos7.8.2003 afb6fca791e0 3 years ago 203MB
2)创建容器
docker run -d --name centos7.8 -h centos7.8
-p 220:22 -p 3387:3389
–privileged=true
daocloud.io/library/centos:centos7.8.2003 /usr/sbin/init
3)进入容器
root@hcss-ecs-7c99:~# docker exec -it centos7.8 bash
[root@centos7 /]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@centos7 /]# uname -r
5.15.0-60-generic
[root@centos7 /]# uname -a
Linux centos7.8 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

✨ 3.2 安装前准备

1)指令集检查
ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。
官方预构建的二进制文件通常针对x86_64进行编译,并利用SSE 4.2指令集。
检查当前CPU是否支持SSE 4.2的命令:
[root@centos7 /]# grep -q sse4_2 /proc/cpuinfo && echo “SSE 4.2 supported” || echo “SSE 4.2 not supported”
SSE 4.2 supported
2)文件数限制修改
调整CentOS系统对打开文件数的限制,在/etc/security/limits.conf和/etc/security/limits.d/20-nproc.conf文件的末尾加上
soft nofile 65536
hard nofile 65536
soft nproc 131072
hard nproc 131072
cat >> /etc/security/limits.conf <<EOF
soft nofile 65536
hard nofile 65536
soft nproc 131072
hard nproc 131072
EOF
cat >> /etc/security/limits.d/20-nproc.conf <<EOF
soft nofile 65536
hard nofile 65536
soft nproc 131072
hard nproc 131072
EOF
3) SELinux 设置
vi /etc/selinux/config
#修改
SELINUX=disabled

✨ 3.3 RPM安装包

推荐使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译rpm包。
##安装依赖
yum install -y yum-utils
yum install -y libtool
yum install -y unixODBC
##需要添加官方存储库:
yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
##安装
yum install -y clickhouse-server clickhouse-client

在这里插入图片描述

✨ 3.4 配置文件

修改配置文件,把 <listen_host>::</listen_host> 的注释打开,这样的话才能让ClickHouse被除本机以外的服务器访问
vi /etc/clickhouse-server/config.xml
cat >> /etc/clickhouse-server/config.xml <<EOF
<listen_host>::</listen_host>
EOF
在这个文件中,有ClickHouse的一些默认路径配置,比较重要的
数据文件路径: /var/lib/clickhouse/
日志文件路径:/var/log/clickhouse-server/clickhouse-server.log

✨ 3.5 使用ClickHouse

sudo /etc/init.d/clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.

[root@centos7 /]# /etc/init.d/clickhouse-server start
 chown -R clickhouse: '/var/run/clickhouse-server/'
Will run sudo --preserve-env -u 'clickhouse' /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml --pid-file /var/run/clickhouse-server/clickhouse-server.pid --daemon
/bin/sh: sudo: command not found
Code: 302. DB::Exception: Child process was exited with return code 127. (CHILD_WAS_NOT_EXITED_NORMALLY) (version 23.9.1.1854 (official build))

此处解决的办法是:
[root@centos7 /]# yum insatll sudo

sudo /etc/init.d/clickhouse-server start
/etc/init.d/clickhouse-server status

##客户端登录
[root@centos7 /]# clickhouse-client
ClickHouse client version 23.9.1.1854 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 23.9.1 revision 54466.

Warnings:
 * Linux threads max count is too low. Check /proc/sys/kernel/threads-max
 * Available memory at server startup is too low (2GiB).

centos7.8 :) 

centos7.8 :) show databases;

SHOW DATABASES

Query id: 24cfdcc2-4e5a-46d1-922d-135cf67eb143

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

4 rows in set. Elapsed: 0.001 sec. 


##比较常用的完整命令
clickhouse-client -u root --password 123456 --port 9001 -h 127.0.0.1

📣 4.ClickHouse压测

✨ 4.1 下载数据

[root@centos7 /]# yum install -y wget
[root@centos7 /]# wget https://datasets.clickhouse.com/mgbench{1…3}.csv.xz

✨ 4.2 解压数据

[root@centos7 /]# xz -v -d mgbench{1…3}.csv.xz
mgbench1.csv.xz (1/3)
100 % 543.0 MiB / 7206.5 MiB = 0.075 98 MiB/s 1:13
mgbench2.csv.xz (2/3)
100 % 382.7 MiB / 5808.7 MiB = 0.066 99 MiB/s 0:58
mgbench3.csv.xz (3/3)
100 % 485.0 MiB / 7881.7 MiB = 0.062 100 MiB/s 1:19

✨ 4.3 创建数据库和表

[root@centos7 /]# clickhouse-client
centos7.8 :) CREATE DATABASE mgbench; 
centos7.8 :) USE mgbench;

CREATE TABLE mgbench.logs1 (
  log_time      DateTime,
  machine_name  LowCardinality(String),
  machine_group LowCardinality(String),
  cpu_idle      Nullable(Float32),
  cpu_nice      Nullable(Float32),
  cpu_system    Nullable(Float32),
  cpu_user      Nullable(Float32),
  cpu_wio       Nullable(Float32),
  disk_free     Nullable(Float32),
  disk_total    Nullable(Float32),
  part_max_used Nullable(Float32),
  load_fifteen  Nullable(Float32),
  load_five     Nullable(Float32),
  load_one      Nullable(Float32),
  mem_buffers   Nullable(Float32),
  mem_cached    Nullable(Float32),
  mem_free      Nullable(Float32),
  mem_shared    Nullable(Float32),
  swap_free     Nullable(Float32),
  bytes_in      Nullable(Float32),
  bytes_out     Nullable(Float32)
)
ENGINE = MergeTree()
ORDER BY (machine_group, machine_name, log_time);


CREATE TABLE mgbench.logs2 (
  log_time    DateTime,
  client_ip   IPv4,
  request     String,
  status_code UInt16,
  object_size UInt64
)
ENGINE = MergeTree()
ORDER BY log_time;

CREATE TABLE mgbench.logs3 (
  log_time     DateTime64,
  device_id    FixedString(15),
  device_name  LowCardinality(String),
  device_type  LowCardinality(String),
  device_floor UInt8,
  event_type   LowCardinality(String),
  event_unit   FixedString(1),
  event_value  Nullable(Float32)
)
ENGINE = MergeTree()
ORDER BY (event_type, log_time);

✨ 4.4 插入数据

clickhouse-client --query “INSERT INTO mgbench.logs1 FORMAT CSVWithNames” < mgbench1.csv
clickhouse-client --query “INSERT INTO mgbench.logs2 FORMAT CSVWithNames” < mgbench2.csv
clickhouse-client --query “INSERT INTO mgbench.logs3 FORMAT CSVWithNames” < mgbench3.csv

✨ 4.5 插入数据

Q1.1: 自午夜以来每个 Web 服务器的 CPU/网络利用率是多少?
USE mgbench;

SELECT machine_name,
       MIN(cpu) AS cpu_min,
       MAX(cpu) AS cpu_max,
       AVG(cpu) AS cpu_avg,
       MIN(net_in) AS net_in_min,
       MAX(net_in) AS net_in_max,
       AVG(net_in) AS net_in_avg,
       MIN(net_out) AS net_out_min,
       MAX(net_out) AS net_out_max,
       AVG(net_out) AS net_out_avg
FROM (
  SELECT machine_name,
         COALESCE(cpu_user, 0.0) AS cpu,
         COALESCE(bytes_in, 0.0) AS net_in,
         COALESCE(bytes_out, 0.0) AS net_out
  FROM logs1
  WHERE machine_name IN ('anansi','aragog','urd')
    AND log_time >= TIMESTAMP '2017-01-11 00:00:00'
) AS r
GROUP BY machine_name;

在这里插入图片描述

-- Q2:过去一个月顶级请求的平均路径深度是多少?
SELECT top_level,
       AVG(LENGTH(request) - LENGTH(REPLACE(request, '/', ''))) AS depth_avg
FROM (
  SELECT SUBSTRING(request FROM 1 FOR len) AS top_level,
         request
  FROM (
    SELECT POSITION(SUBSTRING(request FROM 2), '/') AS len,
           request
    FROM logs2
    WHERE status_code >= 200
      AND status_code < 300
      AND log_time >= TIMESTAMP '2012-12-01 00:00:00'
  ) AS r
  WHERE len > 0
) AS s
WHERE top_level IN ('/about','/courses','/degrees','/events',
                    '/grad','/industry','/news','/people',
                    '/publications','/research','/teaching','/ugrad')
GROUP BY top_level
ORDER BY top_level;

在这里插入图片描述

-- Q3:对于每种类别的设备,每月的功耗指标是什么?

SELECT yr,
       mo,
       SUM(coffee_hourly_avg) AS coffee_monthly_sum,
       AVG(coffee_hourly_avg) AS coffee_monthly_avg,
       SUM(printer_hourly_avg) AS printer_monthly_sum,
       AVG(printer_hourly_avg) AS printer_monthly_avg,
       SUM(projector_hourly_avg) AS projector_monthly_sum,
       AVG(projector_hourly_avg) AS projector_monthly_avg,
       SUM(vending_hourly_avg) AS vending_monthly_sum,
       AVG(vending_hourly_avg) AS vending_monthly_avg
FROM (
  SELECT dt,
         yr,
         mo,
         hr,
         AVG(coffee) AS coffee_hourly_avg,
         AVG(printer) AS printer_hourly_avg,
         AVG(projector) AS projector_hourly_avg,
         AVG(vending) AS vending_hourly_avg
  FROM (
    SELECT CAST(log_time AS DATE) AS dt,
           EXTRACT(YEAR FROM log_time) AS yr,
           EXTRACT(MONTH FROM log_time) AS mo,
           EXTRACT(HOUR FROM log_time) AS hr,
           CASE WHEN device_name LIKE 'coffee%' THEN event_value END AS coffee,
           CASE WHEN device_name LIKE 'printer%' THEN event_value END AS printer,
           CASE WHEN device_name LIKE 'projector%' THEN event_value END AS projector,
           CASE WHEN device_name LIKE 'vending%' THEN event_value END AS vending
    FROM logs3
    WHERE device_type = 'meter'
  ) AS r
  GROUP BY dt,
           yr,
           mo,
           hr
) AS s
GROUP BY yr,
         mo
ORDER BY yr,
         mo;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1057471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(c++)类和对象 下篇

目录 1.再次了解构造函数 2. Static成员 3. 友元 4. 内部类 5.匿名对象 6.拷贝对象时的一些编译器优化 1.再次了解构造函数 1.1 构造函数体赋值 在创建对象时&#xff0c;编译器通过调用构造函数&#xff0c;给对象中各个成员变量一个合适的初始值。 class Date { pub…

火山引擎 ByteHouse:如何提升 18000 节点的 ClickHouse 可用性?

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 ClickHouse 是业内被广泛使用的 OLAP 引擎。当集群规模过大时&#xff0c;ClickHouse 则面临使用局限性的问题。如何提升 ClickHouse 的可用性&#xff0c;成为困扰…

Python实时采集Windows CPU\MEMORY\HDD使用率

文章目录 安装psutil库在Python脚本中导入psutil库获取CPU当前使用率&#xff0c;并打印结果获取内存当前使用率&#xff0c;并打印结果获取磁盘当前使用情况&#xff0c;并打印结果推荐阅读 要通过Python实时采集Windows性能计数器的数据&#xff0c;你可以使用psutil库。psut…

怎么通过portainer部署一个vue项目

这篇文章分享一下今天通过docker打包vue项目&#xff0c;并使用打包的镜像在portainer上部署运行&#xff0c;参考了vue-cli和docker的官方文档。 首先&#xff0c;阅读vue-cli关于docker部署的说明 vue-cli关于docker部署的说明https://cli.vuejs.org/guide/deployment.html#…

SpringCloudAlibaba 相关组件的学习一

目录 前言 系统架构演变 1、单体架构 2、垂直架构 3、分布式架构 4、SOA架构 5、微服务架构 一、微服务架构的介绍 1、微服务架构的常见问题 2 微服务架构的常见概念 2.1 服务治理 2.2 服务调用 2.3 服务网关 2.4 服务容错 2.5 链路追踪 3、微服务架构的常用解决…

第2篇 机器学习基础 —(1)机器学习方式及分类、回归

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。机器学习是一种人工智能的分支&#xff0c;它使用算法和数学模型来使计算机系统能够从经验数据中学习和改进&#xff0c;而无需显式地编程。机器学习的目标是通过从数据中发现模式和规律&#xff0c;从而使计算机能够自动进…

黑马mysql教程笔记(mysql8教程)基础篇——数据库相关概念、mysql安装及卸载、数据模型、SQL通用语法及分类(DDL、DML、DQL、DCL)

参考文章1&#xff1a;https://www.bilibili.com/video/BV1Kr4y1i7ru/ 参考文章2&#xff1a;https://dhc.pythonanywhere.com/article/public/1/ 文章目录 基础篇数据库相关概念&#xff08;数据库DataBase&#xff08;DB&#xff09;、数据库管理系统DataBase Management Sy…

25种ACM模式输入输出模板,支持C++、Java、Python、Go、JS版本

很多录友苦于不熟悉 ACM 输入输入结构&#xff0c;在笔试和面试的时候&#xff0c;处理数据输入输出就花费了大量的时间&#xff0c;以至于算法题没写完&#xff0c;甚至是 根本就写不对输入输出的方式。 下面&#xff0c;我针对常见的25种 ACM输入与输出方式&#xff0c;给大…

Mojo 正式发布,Rust 能否与之匹敌?

9 月 7 日&#xff0c;Modular 公司宣布正式发布 Mojo&#xff1a;Mojo 现在已经开放本地下载——初步登陆 Linux 系统&#xff0c;并将很快提供 Mac 与 Windows 版本。据介绍&#xff0c;Mojo 最初的目标是比 Python 快 35000 倍&#xff0c;近日该团队表示&#xff0c;Mojo 将…

Linux--网络编程-字节序

进程间的通信&#xff1a; 管道、消息队列、共享内存、信号、信号量。 特点&#xff1a;都依赖于linux内核。 缺陷&#xff1a;无法多机通信。 一、网络编程&#xff1a; 1、地址&#xff1a;基于网络&#xff0c;ip地址端口号。 端口号作用&#xff1a; 一台拥有ip地址的主机…

完善多云平台软件体系,VMware再探索下一代企业IT架构

软件定义计算是由云计算兴起后带动的新一代企业IT架构。IDC定义的软件定义计算软件市场主要包括虚拟化软件、云系统软件和容器基础架构软件三个子市场&#xff0c;它们构成了支撑传统应用和云原生应用的软件定义计算平台&#xff0c;是构建云计算平台不可缺少也是最重要的基础架…

【计算机网络】HTTP协议详解(举例解释,超级详细)

文章目录 一、HTTP协议简单介绍 1、1 什么是HTTP协议 1、2 再次理解“协议” 二、HTTP请求 2、1 HTTP的工作过程 2、1、1 demo代码 2、2 URL 介绍 2、2、1 urlencode 和 urldecode 2、3 HTTP 请求格式 三、HTTP响应 3、1 响应demo 3、2 HTTP 响应格式 四、HTTP 请求和响应中的…

古记事法:Windows 下 16 位汇编环境搭建指南(DOSBox-X 篇)

文章目录 参考环境DOSBox-XWOWWindows On Windows 产生的原因Windows On Windows 的工作原理WOW16 的结束与 WOW64 的未来 在现代操作系统中运行 16 位应用程序DOSBox-X 16 位汇编环境的搭建应用准备挂载自动挂载dosbox-x.conf配置工具 参考 项目描述搜索引擎Bing、GoogleAI 大…

2024双非网安捡漏华五0854经验分享

个人情况 本科&#xff1a;西南双非网安&#xff08;转专业er&#xff09;rk&#xff1a;绩点rk2/81&#xff0c;综排rk1竞赛&#xff1a;计设国一&#xff0c;互联网加省金&#xff0c;三创赛省一等&#xff0c;发明专利一座&#xff0c;无果酱和社会奖学金科研&#xff1a;无…

大选择核网络在遥感目标检测中的应用

摘要 论文链接&#xff1a;https://arxiv.org/pdf/2303.09030.pdf 最近关于遥感目标检测的研究主要集中在改进有向边界框的表示&#xff0c;但忽略了遥感场景中呈现的独特先验知识。这种先验知识很有用&#xff0c;因为如果没有参考足够远的上下文&#xff0c;可能会错误地检测…

【推荐系统】多任务学习模型

介绍一些多任务学习模型了解是如何处理多任务分支的。 ESSM, Entire Space Multi-Task Model 阿里提出的ESSM全称Entire Space Multi-Task Model&#xff0c;全样本空间的多任务模型&#xff0c;有效地解决了CVR建模&#xff08;转化率预估&#xff09;中存在的两个非常重要…

d3dx9_42.dll丢失怎么解决?有什么方法解决d3dx9_42.dll丢失问题

四步解决电脑d3dx9_42.dll文件丢失的问题&#xff01; 电脑已经成为我们生活和工作中不可或缺的一部分。然而&#xff0c;电脑故障问题却时常困扰着我们。其中&#xff0c;丢失d3dx9_42.dll文件是许多用户经常遇到的问题。这个问题可能会导致你无法正常运行一些应用程序或者游戏…

Linux下的管道通信

文章目录 无名管道通信有名管道通信&#xff08;FIFO&#xff09; 无名管道通信 无名管道只能用于具有亲缘关系的进程之间的通信&#xff0c;即父子进程或者兄弟进程之间&#xff0c;它是一个半双工的通信模式&#xff0c;具有固定的读端和写端。管道也可以看成是一种特殊的文…

【高强度聚焦超声模拟器】模拟分层介质中的高强度聚焦超声波束和加热效应(Matlab代码)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

调用gethostbyname实现域名解析(附源码)

VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&a…