• 利用docker安装启动ClickHouse


    一、clickhouse简介

    ClickHouse是一个面向列存储的数据库管理系统,可以使用SQL查询实时生成分析数据报告,主要用于OLAP(在线分析处理查询)场景。关于clickhouse原理以及基础知识在以后学习中慢慢总结。(_)

    二、安装启动

    这里主要描述如何使用docker安装并启动clickhouse,其他安装方法均参考了官方文档: https://clickhouse.tech/docs/zh/getting_started/install/

    1、Debian/Ubuntu/RPM安装ClickHouse

    对于以上方法安装,官方均提供了安装包,直接通过apt-get installrpm -ivh安装即可,安装包路径如下:

    # Debian/Ubuntu
    ## 安装包位置:https://repo.yandex.ru/clickhouse/deb/stable/main/
    deb http://repo.yandex.ru/clickhouse/deb/stable/ main/
    sudo apt-get install dirmngr    # optional
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4    # optional
    sudo apt-get update
    sudo apt-get install clickhouse-client clickhouse-server
    
    # rpm安装
    ## 安装包位置:https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
    sudo yum install yum-utils
    sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
    sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
    sudo yum install clickhouse-server clickhouse-client
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2、docker安装ClickHouse

    2.1 docker安装

    Centos安装docker参考于docker官方文档:https://docs.docker.com/install/linux/docker-ce/centos/

    2.1.1、卸载老版本docker

    yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
    • 1

    2.1.2、安装依赖包并设置官方镜像源

    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
    • 1
    • 2

    2.1.3、安装最新版docker

    yum install docker-ce docker-ce-cli containerd.io
    
    • 1

    2.1.4、启动docker

    目前docker最新版本为19.03版本,安装该版本启动时(安装17.03版本并没有报错)有可能产生以下报错:

    # systemctl start docker
    A dependency job for docker.service failed. See 'journalctl -xe' for details.
    ## 报错具体如下图:出现该报错的原因是,由于主机之前对/etc/group等文件进行过`chattr +i`加锁操作,导致docker安装时执行groupadd docker报错
    ## 解决方法,对相关文件解锁之后,执行groupadd docker即可
    此时执行systemctl start docker即可成功启动
    
    启动完成后可利用官方提供的hello-world进行测试
    docker run hello-world
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    2.2 安装ClickHouse

    docker环境搭建好之后,利用docker安装clickhouse比较简单,clickhouse官方提供了默认的镜像,直接使用即可。官方文档参考:https://hub.docker.com/r/yandex/clickhouse-server/

    目前正在研究如何根据源码包修改docker文件,安装之后得到想要的配置,预计下周出个文章详解_

    2.2.1、拉取clickhouse的docker镜像

    docker pull yandex/clickhouse-server
    docker pull yandex/clickhouse-client
    
    • 1
    • 2

    2.2.2、启动server端

    # 默认直接启动即可
    docker run -d --name [启动之后的名称] --ulimit nofile=262144:262144 yandex/clickhouse-server
    
    # 如果想指定目录启动,这里以clickhouse-test-server命令为例,可以随意写
    mkdir /work/clickhouse/clickhouse-test-db       ## 创建数据文件目录
    # 使用以下路径启动,在外只能访问clickhouse提供的默认9000端口,只能通过clickhouse-client连接server
    docker run -d --name clickhouse-test-server --ulimit nofile=262144:262144 --volume=/work/clickhouse/clickhouse_test_db:/var/lib/clickhouse yandex/clickhouse-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    2.3 启动并连接clickhouse-server

    2.3.1、docker启动clickhouse-client

    docker run -it --rm --link clickhouse-test-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server
    
    • 1

    3、客户端常用参数

    clickhouse-client
        --host, -h     	:服务端host名称,默认 localhost
        --port         	:连接端口,默认9000
        --user, -u     	:用户名,默认 default
        --password     	:密码,默认空
        --query, -q    	:非交互模式下的查询语句
        --database, -d 	:默认当前操作的数据库,默认default
        --multiline, -m :允许多行语句查询,在clickhouse中默认回车即为sql结束,可使用该参数多行输入
        --format, -f		:使用指定的默认格式输出结果      csv,以逗号分隔
        --time, -t			:非交互模式下会打印查询执行的时间
        --stacktrace		:出现异常会打印堆栈跟踪信息
        --config-file		:配置文件名称
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    JDK下载和配置环境变量
    诡异的定时任务
    罕见病 对称性脂肪瘤(MSL) 马德龙病
    linux C++注册程序退出信号处理的代码
    SpringBoot使用配置中心Apollo启动很慢两分钟解决
    [山东科技大学OJ]1107 Problem A: 编写函数:Swap (I) (Append Code)
    4.Autofac依赖注入初使用
    罗克韦尔AB PLC 通过RSLinx Classic与PLC建立通信的具体方法步骤
    【计算机网络】(6)虚拟机三种网卡模式、SNAT、DNAT
    SpringMVC框架中的异常处理机制
  • 原文地址:https://blog.csdn.net/web15085599741/article/details/126565294