基于OpenJDK部署clickhouse-local镜像的快捷方法

基于,openjdk,部署,clickhouse,local,镜像,快捷,方法 · 浏览次数 : 10

小编点评

内容生成时需要带简单的排版,以下是生成内容时需要带的排版内容: ``` 1. select 1 into 1 from system ; 2. select 1 into 1 from system ; 3. select 1 into 1 from system ; 4. select 1 into 1 from system ; 5. select 1 into 1 from system ; 6. select 1 into 1 from system ; 7. select 1 into 1 from system ; 8. select 1 into 1 from system ; 9. select 1 into 1 from system ; 10. select 1 into 1 from system ; ``` 排版内容主要包含以下内容: 1. select 1 into 1 from system ; 2. select 1 into 1 from system ; 3. select 1 into 1 from system ; 4. select 1 into 1 from system ; 5. select 1 into 1 from system ; 6. select 1 into 1 from system ; 7. select 1 into 1 from system ; 8. select 1 into 1 from system ; 9. select 1 into 1 from system ; 10. select 1 into 1 from system ;

正文

基于OpenJDK部署clickhouse-local镜像的快捷方法


摘要

前期搭建了一套基于OpenJDK的Clickhouse的服务端的镜像
可以简单使用dbeaver进行连接与使用. 

后来发现需求与自己理解的不一样.
更加需要的是一套使用clickhouse-local 进行文件解析处理的功能.
服务可以不运行. 

所以之前的思路需要改善一下. 

部署方式

clickhouse 有多种安装方式.
可以使用在线安装, tar包离线安装,rpm包安装等等方式. 

本次简单起见还是仿照之前 在线 sh安装的一部分来进行. 

获取对应的二进制进行容器内安装,然后清理部分文件. 
仅保留clickhouse-local等指令的方式.

说明

只留客户端时不需要 不需要部分配置文件.
不然会在执行命令是报错如下:
会打印出来很多日志.

在同事的提醒下发现删除部分呢配置文件就可以简单实现不打印日志的方法了

root@33dd1af16f9d:/etc/clickhouse-server# clickhouse-local -q "select 1024"
Processing configuration file 'config.xml'.
Merging configuration file 'config.d/data-paths.xml'.
Merging configuration file 'config.d/logger.xml'.
Merging configuration file 'config.d/openssl.xml'.
Merging configuration file 'config.d/user-directories.xml'.
Logging trace to /var/log/clickhouse-server/clickhouse-server.log
Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
2023.08.31 23:30:25.601851 [ 275 ] {} <Debug> ConfigProcessor: Processing configuration file 'users.xml'.
2023.08.31 23:30:25.602663 [ 275 ] {} <Debug> Access(user directories): Added users.xml access storage 'users.xml', path:
2023.08.31 23:30:25.603207 [ 275 ] {} <Debug> Application: Loading metadata from /var/lib/clickhouse/
2023.08.31 23:30:25.603633 [ 275 ] {} <Information> DatabaseAtomic (system): Metadata processed, database system has 0 tables and 0 dictionaries in total.
2023.08.31 23:30:25.603660 [ 275 ] {} <Information> TablesLoader: Parsed metadata of 0 tables in 1 databases in 0.000103018 sec
2023.08.31 23:30:25.603697 [ 275 ] {} <Information> TablesLoader: Loading 0 tables with 0 dependency level
2023.08.31 23:30:25.614048 [ 275 ] {} <Information> DatabaseAtomic (system): Starting up tables.
2023.08.31 23:30:25.615546 [ 275 ] {} <Information> BackgroundSchedulePool/BgSchPool: Create BackgroundSchedulePool with 128 threads
2023.08.31 23:30:25.621375 [ 275 ] {} <Information> UserDefinedSQLObjectsLoaderFromDisk: Loading user defined objects from /var/lib/clickhouse/user_defined/
2023.08.31 23:30:25.622740 [ 275 ] {} <Debug> UserDefinedSQLObjectsLoaderFromDisk: User defined objects loaded
2023.08.31 23:30:25.622772 [ 275 ] {} <Debug> Application: Loaded metadata.
2023.08.31 23:30:25.631443 [ 275 ] {} <Debug> LOCAL-Session: 47005b6e-b7c6-4f66-94a1-ff92abda4d18 Authenticating user 'default' from 127.0.0.1:0
2023.08.31 23:30:25.631499 [ 275 ] {} <Debug> LOCAL-Session: 47005b6e-b7c6-4f66-94a1-ff92abda4d18 Authenticated with global context as user 94309d50-4f52-5250-31bd-74fecac179db
2023.08.31 23:30:25.631514 [ 275 ] {} <Debug> LOCAL-Session: 47005b6e-b7c6-4f66-94a1-ff92abda4d18 Creating session context with user_id: 94309d50-4f52-5250-31bd-74fecac179db
2023.08.31 23:30:25.631676 [ 275 ] {} <Trace> ContextAccess (default): Settings: readonly=0, allow_ddl=true, allow_introspection_functions=false
2023.08.31 23:30:25.631707 [ 275 ] {} <Trace> ContextAccess (default): List of all grants: GRANT SHOW, SELECT, INSERT, ALTER, CREATE, DROP, TRUNCATE, OPTIMIZE, BACKUP, KILL QUERY, KILL TRANSACTION, MOVE PARTITION BETWEEN SHARDS, SYSTEM, dictGet, INTROSPECTION, SOURCES, CLUSTER ON *.*
2023.08.31 23:30:25.631721 [ 275 ] {} <Trace> ContextAccess (default): List of all grants including implicit: GRANT SHOW, SELECT, INSERT, ALTER, CREATE, DROP, TRUNCATE, OPTIMIZE, BACKUP, KILL QUERY, KILL TRANSACTION, MOVE PARTITION BETWEEN SHARDS, SYSTEM, dictGet, INTROSPECTION, SOURCES, CLUSTER ON *.*
2023.08.31 23:30:25.631845 [ 275 ] {} <Debug> LOCAL-Session: 47005b6e-b7c6-4f66-94a1-ff92abda4d18 Creating query context from session context, user_id: 94309d50-4f52-5250-31bd-74fecac179db, parent context user: default
2023.08.31 23:30:25.631937 [ 275 ] {776f4845-9f41-4ffa-83f3-24f916c2b255} <Debug> executeQuery: (from 0.0.0.0:0, user: ) select 1024 (stage: Complete)
2023.08.31 23:30:25.632271 [ 275 ] {776f4845-9f41-4ffa-83f3-24f916c2b255} <Trace> ContextAccess (default): Access granted: SELECT(dummy) ON system.one
2023.08.31 23:30:25.632373 [ 275 ] {776f4845-9f41-4ffa-83f3-24f916c2b255} <Trace> InterpreterSelectQuery: FetchColumns -> Complete
1024

1024 就是需要查询出来的结构

下载方式

https://mirrors.aliyun.com/clickhouse/tgz/lts/

获取到tar包,解压缩出来一个 clickhouse的文件就可以了.

打包方式

文件主要如下 :

[root@tidb01 clickhouse]# tree -L 1
.
├── clickhouse
└── dockerfile

dockerfile

FROM  192.168.xxx.xx:5000/library/openjdk:8
COPY clickhouse /usr/bin/
WORKDIR /etc/clickhouse-server
RUN  /usr/bin/clickhouse install
RUN rm -rf /etc/clickhouse-server/*

生成镜像与验证

docker build . -t clickhouse:v1.0 
验证
docker run -it clickhouse:v1.0 bash
执行命令:
root@d5dc9984a419:/etc/clickhouse-server# clickhouse-local -q "select 1"
1

与基于OpenJDK部署clickhouse-local镜像的快捷方法相似的内容:

基于OpenJDK部署clickhouse-local镜像的快捷方法

# 基于OpenJDK部署clickhouse-local镜像的快捷方法 ## 摘要 ``` 前期搭建了一套基于OpenJDK的Clickhouse的服务端的镜像 可以简单使用dbeaver进行连接与使用. 后来发现需求与自己理解的不一样. 更加需要的是一套使用clickhouse-local 进行

[转帖]【毕昇 JDK】毕昇 JDK 四大关键特性解读

https://bbs.huaweicloud.com/forum/thread-148343-1-1.html 发表于 2021-08-19 20:25:535618查看 毕昇 JDK 是华为基于 OpenJDK 优化后的开源版本,是一款高性能、可用于生产环境的 OpenJDK 发行版。毕昇 JD

[转帖]Oracle jdk与OpenJdk

https://www.jianshu.com/p/ca5e7f78eb4e ————Oracle JDK———————jdk历史叫Sun Jdk,后来被Oracle收购后现在叫做Oracle JDKOracleJDK由Oracle公司开发维护,该公司是Sun许可证,基于Java标准版规范实现。它以

带你认识JDK8中超nice的Native Memory Tracking

摘要:从 OpenJDK8 起有了一个很 nice 的虚拟机内部功能: Native Memory Tracking (NMT)。 本文分享自华为云社区《Native Memory Tracking 详解(1):基础介绍》,作者:毕昇小助手。 0.引言 我们经常会好奇,我启动了一个 JVM,他到底会

基于 Three.js 的 3D 模型加载优化

作为一个3D的项目,从用户打开页面到最终模型的渲染加载的时间也会比普通的H5项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能的降低loading的时间。这里就分享一些我们在模型加载优化方面的心得。

基于MindSpore实现BERT对话情绪识别

本文分享自华为云社区《【昇思25天学习打卡营打卡指南-第二十四天】基于 MindSpore 实现 BERT 对话情绪识别》,作者:JeffDing。 模型简介 BERT全称是来自变换器的双向编码器表征量(Bidirectional Encoder Representations from Trans

基于 Vagrant 手动部署多个 Redis Server

环境准备 宿主机环境:Windows 10 虚拟机环境:Vagrant + VirtualBox Vagrantfile 配置 首先,我们需要编写一个 Vagrantfile 来定义我们的虚拟机配置。假设已经在 D:\Vagrant\redis 目录下创建了一个 Vagrantfile,其内容如下:

基于EF Core存储的Serilog持久化服务

前言 Serilog是 .NET 上的一个原生结构化高性能日志库,这个库能实现一些比内置库更高度的定制。日志持久化是其中一个非常重要的功能,生产环境通常很难挂接调试器或者某些bug的触发条件很奇怪。为了在脱离调试环境的情况下尽可能保留更多线索来辅助解决生产问题,持久化的日志就显得很重要了。目前Ser

基于EF Core存储的国际化服务

前言 .NET 官方有一个用来管理国际化资源的扩展包Microsoft.Extensions.Localization,ASP.NET Core也用这个来实现国际化功能。但是这个包的翻译数据是使用resx资源文件来管理的,这就意味着无法动态管理。虽然官方有在文档中提供了一些第三方管理方案,但是都不太

基于FileZilla上传、下载服务器数据的方法

本文介绍FileZilla软件的下载、配置与使用方法。 在之前的博客中,我们提到了下载高分遥感影像数据需要用到FTP(文件传输协议,File Transfer Protocol)软件FileZilla;这一软件用以在自己的电脑与服务器之间相互传输数据,在进行下载科学数据、网站开发等等操作时,经常需要