1。命令直接安装

 docker run -d --name ch-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server
[root@node2 ~]# docker run -d --name ch-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server
Unable to find image 'yandex/clickhouse-server:latest' locally
latest: Pulling from yandex/clickhouse-server
7b1a6ab2e44d: Already exists
76f440f4db74: Pull complete
f68868e956da: Pull complete
3714e602564a: Pull complete
5651e551712b: Pull complete
85827a1464c6: Pull complete
c976632aa296: Pull complete
Digest: sha256:db5cbd0a3b4d8977a28f36fad505f056da56c20e08f56347d6daad41b277ab85
Status: Downloaded newer image for yandex/clickhouse-server:latest
99e7a777b161284b210aaecfcd0fcdd22fd2695ba79b5d7e7d799e2c6b2cc0fe
[root@node2 ~]# docker ps
CONTAINER ID   IMAGE                      COMMAND            CREATED              STATUS              PORTS                                                                                                                             NAMES
99e7a777b161   yandex/clickhouse-server   "/entrypoint.sh"   About a minute ago   Up About a minute   0.0.0.0:8123->8123/tcp, :::8123->8123/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9009->9009/tcp, :::9009->9009/tcp   ch-server

2.当容器起来 名字为ch-server;复制容器里面的文件到本地目录 /opt/clickhouse下

docker cp ch-server:/etc/clickhouse-server/ /opt/clickhouse/
[root@node2 opt]# docker cp ch-server:/etc/clickhouse-server/ /opt/clickhouse/
[root@node2 opt]# cd clickhouse/
[root@node2 clickhouse]# ll
总用量 0
drwxrwxrwx 4 root root 72 12月  2 21:33 clickhouse-server
[root@node2 clickhouse]# cd clickhouse-server/
[root@node2 clickhouse-server]# ll
总用量 68
drwxrwxrwx 2 root root    39 12月  2 21:33 config.d
-rw-rw-rw- 1 root root 60072 12月  2 19:21 config.xml
drwxrwxrwx 2 root root     6 12月  2 21:33 users.d
-rw-rw-rw- 1 root root  6248 12月  2 19:21 users.xml

3.看到有文件users.xml

vi users.xml

# 在users.xml配置修改密码<password>123456</password>

修改密码:

4.停止 ch-server容器(docker stop ch-server),重新根据挂载目录启动:

docker run -d --name clickhouse-server --ulimit nofile=262144:262144  -p 8123:8123 -p 9000:9000 -p 9009:9009 \-v /opt/clickhouse/clickhouse-server/:/etc/clickhouse-server/ yandex/clickhouse-server

进入容器

docker exec -it clickhouse-server bash

登录:

 clickhouse-client -h 127.0.0.1 -d default -m -u default --password '123456'

例如:

[root@node2 clickhouse-server]# docker run -d --name clickhouse-server --ulimit nofile=262144:262144  -p 8123:8123 -p 9000:9000 -p 9009:9009 \
>  -v /opt/clickhouse/clickhouse-server/:/etc/clickhouse-server/ yandex/clickhouse-server
3cf79b8a452bda4b80b8e740fa9d95ad6d682d4c578311c0b57c9e997311e0a7
[root@node2 clickhouse-server]# docker exec -it clickhouse-server bash
root@3cf79b8a452b:/# docker ps
bash: docker: command not found
root@3cf79b8a452b:/# clickhouse-client -h 127.0.0.1 -d default -m -u default --password '123456'
ClickHouse client version 21.11.5.33 (official build).
Connecting to database default at 127.0.0.1:9000 as user default.
Connected to ClickHouse server version 21.11.5 revision 54450.3cf79b8a452b :) show databases;SHOW DATABASESQuery id: ff5c3648-7967-4c22-98db-5f31b08d26f8┌─name───────────────┐
│ INFORMATION_SCHEMA │
│ default            │
│ information_schema │
│ system             │
└────────────────────┘4 rows in set. Elapsed: 0.002 sec. 3cf79b8a452b :) create databases zhangqiang;Syntax error: failed at position 8 ('databases'):create databases zhangqiang;Expected one of: FUNCTION, VIEW, LIVE, DATABASE, USER, PROFILE, TABLE, TEMPORARY, ROW POLICY, POLICY, DICTIONARY, QUOTA, OR REPLACE, ROLE, SETTINGS PROFILE, MATERIALIZED3cf79b8a452b :) help
:-] ;

5.查看数据库:

show databases;
创建数据库:

create databases zhangqiang;
看到数据库已经创建


3cf79b8a452b :) show databases;SHOW DATABASESQuery id: a1fb9920-1413-4eb8-bf64-e6c6a842ec55┌─name───────────────┐
│ INFORMATION_SCHEMA │
│ default            │
│ information_schema │
│ system             │
│ zhangqiang         │
└────────────────────┘5 rows in set. Elapsed: 0.002 sec. 3cf79b8a452b :)

命令官网链接:

DATABASE | ClickHouse文档

7.创建表并插入数据

clickhouse创建数据库以及表_鸭梨的博客-CSDN博客_clickhouse 建表

root@3cf79b8a452b:/# clickhouse-client -h 127.0.0.1 -d default -m -u default --password '123456'
ClickHouse client version 21.11.5.33 (official build).
Connecting to database default at 127.0.0.1:9000 as user default.
Connected to ClickHouse server version 21.11.5 revision 54450.3cf79b8a452b :) show databases;SHOW DATABASESQuery id: 9b040e44-1e2e-4e76-945b-15a4a7a29da4┌─name───────────────┐
│ INFORMATION_SCHEMA │
│ default            │
│ information_schema │
│ system             │
└────────────────────┘4 rows in set. Elapsed: 0.006 sec. 3cf79b8a452b :) create database zhangqiang;CREATE DATABASE zhangqiangQuery id: 5c33b1f6-089d-4f51-be3e-1c1c676efc47Ok.0 rows in set. Elapsed: 0.008 sec. 3cf79b8a452b :) show databases;SHOW DATABASESQuery id: f845a5a7-5ded-4381-9fb8-6299f8f92170┌─name───────────────┐
│ INFORMATION_SCHEMA │
│ default            │
│ information_schema │
│ system             │
│ zhangqiang         │
└────────────────────┘5 rows in set. Elapsed: 0.002 sec. 3cf79b8a452b :) use zhangqiang;USE zhangqiangQuery id: dc3a5dd9-a1ed-445b-883e-41fa2552cb09Ok.0 rows in set. Elapsed: 0.001 sec. 3cf79b8a452b :) show tables;SHOW TABLESQuery id: 38149f69-14d8-4742-bb54-93d4b5a75b5aOk.0 rows in set. Elapsed: 0.002 sec. 3cf79b8a452b :) CREATE TABLE IF NOT EXISTS user_local
:-] (
:-]     id Int32,
:-]     name String
:-] )ENGINE = MergeTree()
:-] ORDER BY id
:-] PARTITION BY id
:-] PRIMARY KEY id;CREATE TABLE IF NOT EXISTS user_local
(`id` Int32,`name` String
)
ENGINE = MergeTree
PARTITION BY id
PRIMARY KEY id
ORDER BY idQuery id: 26155112-516f-46cf-a041-a74e20b10cfaOk.0 rows in set. Elapsed: 0.113 sec. 3cf79b8a452b :) show tables;SHOW TABLESQuery id: f2dd3cf7-744c-42a6-a9aa-5ff9739c1f78┌─name───────┐
│ user_local │
└────────────┘1 rows in set. Elapsed: 0.002 sec. 3cf79b8a452b :) INSERT INTO user_local VALUES(1,'tom'),(2,'jack');INSERT INTO user_local FORMAT ValuesQuery id: d4264188-8838-4170-bd13-0904da9710a8Ok.2 rows in set. Elapsed: 0.010 sec. 3cf79b8a452b :) INSERT INTO user_local VALUES(3,'lilei'),(4,'lihua'); INSERT INTO user_local FORMAT ValuesQuery id: c3a60915-fecc-4b26-a4d2-f6e14a93bd65Ok.2 rows in set. Elapsed: 0.003 sec. 3cf79b8a452b :) select * from user_local;SELECT *
FROM user_localQuery id: 5509e615-a049-47a9-ad3d-f3a95d179068┌─id─┬─name─┐
│  1 │ tom  │
└────┴──────┘
┌─id─┬─name──┐
│  3 │ lilei │
└────┴───────┘
┌─id─┬─name──┐
│  4 │ lihua │
└────┴───────┘
┌─id─┬─name─┐
│  2 │ jack │
└────┴──────┘4 rows in set. Elapsed: 0.003 sec. 3cf79b8a452b :) 

8.springboot mybatisplus clickhouse 整合

github完整地址:GitHub - heidaodageshiwo/common at springboot-clickhouse

结构图:

sql:

 show databases;create database zhangqiang;use zhangqiang;
show tables;CREATE TABLE IF NOT EXISTS user_local
(id Int32,name String
)ENGINE = MergeTree()
ORDER BY id
PARTITION BY id
PRIMARY KEY id;INSERT INTO user_local VALUES(1,'tom'),(2,'jack');INSERT INTO user_local VALUES(3,'lilei'),(4,'lihua'); select * from user_local;

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.10.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.common</groupId><artifactId>common</artifactId><version>0.0.1-SNAPSHOT</version><name>common</name><description>common</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.16</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version></dependency><dependency><groupId>ru.yandex.clickhouse</groupId><artifactId>clickhouse-jdbc</artifactId><version>0.3.1</version></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

application.yml

#spring:
#  datasource:
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://localhost:3306/zq?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
#    username: root
#    password: zhangqiangspring:datasource:type: com.alibaba.druid.pool.DruidDataSourceclick:driverClassName: ru.yandex.clickhouse.ClickHouseDriverurl: jdbc:clickhouse://192.168.56.213:8123/zhangqiangusername: defaultpassword: 123456initialSize: 10maxActive: 100minIdle: 10maxWait: 6000

mapper:

package com.common.common.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.common.common.entity.User;
import com.common.common.entity.UserLocal;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;/*** java类简单作用描述** @ProjectName: common1* @Package: com.common.common.mapper* @ClassName: UserMapper* @Description: java类作用描述* @Author: zhangq* @CreateDate: 2021-11-18 14:04* @UpdateUser: zhangq* @UpdateDate: 2021-11-18 14:04* @UpdateRemark: The modified content* @Version: 1.0 **/
@Repository
public interface UserLocalMapper extends BaseMapper<UserLocal> {/*@Select("select * from user")List<User> getAll();@Select("select name,age from user")List<Map<String,Object>> getAllMap();*/
}

entity

package com.common.common.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** java类简单作用描述** @ProjectName: common1* @Package: com.common.common.entity* @ClassName: User* @Description: java类作用描述* @Author: zhangq* @CreateDate: 2021-11-18 14:03* @UpdateUser: zhangq* @UpdateDate: 2021-11-18 14:03* @UpdateRemark: The modified content* @Version: 1.0 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("user_local")
@JsonInclude(Include.ALWAYS)
public class UserLocal {@TableId(type = IdType.ASSIGN_UUID)private Long id;@TableField(value = "name")private String name;
}
UserLocalClickHouseController
package com.common.common.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.common.common.entity.User;
import com.common.common.entity.UserLocal;
import com.common.common.mapper.UserLocalMapper;
import com.common.common.mapper.UserMapper;
import com.common.common.service.UserService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** java类简单作用描述** @ProjectName: common1* @Package: com.common.common.controller* @ClassName: UserController* @Description: java类作用描述* @Author: zhangq* @CreateDate: 2021-11-18 14:05* @UpdateUser: zhangq* @UpdateDate: 2021-11-18 14:05* @UpdateRemark: The modified content* @Version: 1.0 **/
@RestController
public class UserLocalClickHouseController {@Autowiredprivate UserLocalMapper userLocalMapper;//mybatisplus分支操作@RequestMapping("/selectclickHouse")public List<UserLocal> testSelect() {System.out.println(("----- selectAll method test ------"));List<UserLocal> userList = userLocalMapper.selectList(null);
//    Assert.assertEquals(5, userList.size());userList.forEach(System.out::println);return userList;}}
DruidConfig
package com.common.common.config;import com.alibaba.druid.pool.DruidDataSource;
import javax.annotation.Resource;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** java类简单作用描述** @ProjectName: common1* @Package: com.common.common.config* @ClassName: DruidConfig* @Description: java类作用描述* @Author: zhangq* @CreateDate: 2021-12-06 16:30* @UpdateUser: zhangq* @UpdateDate: 2021-12-06 16:30* @UpdateRemark: The modified content* @Version: 1.0 **/@Configuration
public class DruidConfig {@Resourceprivate JdbcParamConfig jdbcParamConfig ;@Beanpublic DataSource dataSource() {DruidDataSource datasource = new DruidDataSource();datasource.setUrl(jdbcParamConfig.getUrl());datasource.setDriverClassName(jdbcParamConfig.getDriverClassName());datasource.setInitialSize(jdbcParamConfig.getInitialSize());datasource.setMinIdle(jdbcParamConfig.getMinIdle());datasource.setMaxActive(jdbcParamConfig.getMaxActive());datasource.setMaxWait(jdbcParamConfig.getMaxWait());datasource.setUsername(jdbcParamConfig.getUsername());datasource.setPassword(jdbcParamConfig.getPassword());return datasource;}
}
JdbcParamConfig
package com.common.common.config;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;/*** java类简单作用描述** @ProjectName: common1* @Package: com.common.common.config* @ClassName: JdbcParamConfig* @Description: java类作用描述* @Author: zhangq* @CreateDate: 2021-12-06 16:29* @UpdateUser: zhangq* @UpdateDate: 2021-12-06 16:29* @UpdateRemark: The modified content* @Version: 1.0 **/@Data
@Component
@ConfigurationProperties(prefix = "spring.datasource.click")
public class JdbcParamConfig {private String driverClassName ;private String url ;private String username ;private String password ;private Integer initialSize ;private Integer maxActive ;private Integer minIdle ;private Integer maxWait ;}
MybatisPlusConfig
package com.common.common.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;/*** java类简单作用描述** @ProjectName: common1* @Package: com.common.common.config* @ClassName: MybatisPlusConfig* @Description: java类作用描述* @Author: zhangq* @CreateDate: 2021-11-19 8:48* @UpdateUser: zhangq* @UpdateDate: 2021-11-19 8:48* @UpdateRemark: The modified content* @Version: 1.0 **/
@EnableTransactionManagement
@Configuration
@MapperScan("com.common.common.mapper")
public class MybatisPlusConfig {// 最新版@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.CLICK_HOUSE));return interceptor;}}

运行效果:

插入数据在运行:

3cf79b8a452b :) INSERT INTO user_local VALUES(1111111111111,'最终测试');INSERT INTO user_local FORMAT ValuesQuery id: 4de19a2c-1891-433e-b581-6fb575d4c560Ok.1 rows in set. Elapsed: 0.002 sec. 3cf79b8a452b :) select * from user_local;SELECT *
FROM user_localQuery id: 4b54b22a-a9ec-41da-b426-12915da36677┌─id─┬─name─┐
│  2 │ jack │
└────┴──────┘
┌──────────id─┬─name─────┐
│ -1285418553 │ 最终测试 │
└─────────────┴──────────┘
┌─id─┬─name──┐
│  3 │ lilei │
└────┴───────┘
┌─id─┬─name─┐
│  1 │ tom  │
└────┴──────┘
┌─id─┬─name──┐
│  4 │ lihua │
└────┴───────┘5 rows in set. Elapsed: 0.003 sec. 3cf79b8a452b :)

docker 安装clickhouse(springboot mybatisplus clickhouse 整合)相关推荐

  1. ElasticSearch,docker 安装ElasticSearch,Springboot 使用 ElasticSearch JavaAPI

    什么是 ElasticSearch ? 数据库查询存在的问题: 性能低:使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低 关键字模糊查询比较麻烦 ElasticSearch概念 • Elas ...

  2. OpenOffice4: 软件包安装, Docker安装,集成SpringBoot应用

    软件包安装 1. 说明 本文档采用rpm包方式安装,操作系统为centos 2 下载openoffice rpm包 创建源码包存放目录 mkdir /usr/local/src/openofficec ...

  3. SpringBoot+Mybatis-Plus+Shiro整合的RBAC权限系统

    Maven仓库: dependencies><dependency><groupId>org.springframework.boot</groupId>&l ...

  4. docker安装clickhouse_Docker中安装ClickHouse,单机、集群、分布式

    Docker中安装ClickHouse 下文使用CH代替ClickHouse的称呼. 单机版本 docker run -d \ --name clickhouse-server \ -p 9000:9 ...

  5. SpringBoot 集成 clickhouse + mybatis-plus 配置及使用问题说明(含建表语句、demo源码、测试说明)

    1.建表语句 -- 建表 CREATE TABLE IF NOT EXISTS tb_stat ( id String, region String, group String, yesterday ...

  6. 【clickhouse】docker安装clickhouse后本地无法连接

    文章目录 1.背景 1.背景 参考文章:[clickhouse]mac 10.15.7使用docker安装clickhouse 在本地搭建了一个单机版本的ck,然后今天尝试本地连接,结果发现端口正确, ...

  7. 【clickhouse】mac 10.15.7使用docker安装clickhouse

    文章目录 1.概述 1.1 安装docker.(通过brew安装) 1.2 docker配置镜像 1.3 docker安装ck镜像. 1.4 启动容器服务,加载镜像 1.5 启动容器,并且验证. 1. ...

  8. 05Oracle快速入门,docker安装Oracle,springboot整合Oracle

    Oracle 一.Oracle 12c下载 打开Oracle的官方中文网站,选择相应的版本即可. 下载地址:http://www.oracle.com/technetwork/cn/database/ ...

  9. docker安装redis连接redis可视化工具Redis Desktop Manager+springboot项目使用Cache缓存+springboot项目整合 Redis 实现缓存

    今天进一步学习了redis的相关知识,希望下面的博客可以给博友们带来帮助. docker安装redis连接Redis Desktop Manager 启动docker (系统控制ctl:control ...

最新文章

  1. 解决pip安装时出现报错TypeError: unsupported operand type(s) for -=: ‘Retry‘ and ‘int‘
  2. 深度观察|工业物联网的应用场景和市场潜力
  3. 揽货最短路径解决方案算法 - C# 蚁群优化算法实现
  4. java监听网络连接_Android RxJava 之网络链接监听示范
  5. Django思维导图
  6. 软件工程(可行性研究讲解)
  7. 浅谈 TypeScript【上】-- Flow 静态类型检查工具
  8. matlab对列矢量求方差,matlab 求标准差 std函数用法
  9. 二叉树非递归遍历思路总结
  10. mysql数据库安全加固
  11. 博客摘录「 2022年C语言程序设计题库习集带答案(史上最全版)」2023年5月2日
  12. 一、熟悉新闻推荐系统基本流程
  13. 运用 Elasticsearch 8.1.x 实现智能问答系统
  14. 华为服务器有海光芯片,刚拿下高通,华为又获得中国电信服务器订单,英特尔急了...
  15. 大话设计模式之爱你一万年:系列文章 - 导读
  16. 如何在手机上阅读epub格式的电子书(转载)
  17. ERPNext 介绍、安装、建议及资源
  18. 【白乔原创】写二十年的代码是一种什么样的体验?
  19. 程序员中年危机下的思路和应对方案
  20. 【教程】广联达装饰设计(Deco Design)软件模型导出

热门文章

  1. 【python自动化】基于Splinter的自动化回归/测试脚本
  2. html5 video视频标签
  3. P1460 [USACO2.1]健康的荷斯坦奶牛 Healthy Holsteins
  4. #flutter#fluter介绍
  5. 二叉树:后序遍历非递归算法
  6. 二叉树非递归后序遍历的三种办法
  7. python常见算法(chatgpt算法实现)
  8. 数据分析——用户粘性指标 DAU/MAU
  9. 算法细节系列(3):梯度下降法,牛顿法,拟牛顿法
  10. 用pcs,gfs2,lvm2-cluster和pacemaker 搭建FNS cluster