欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Clickhouse 单节点部署

程序员文章站 2022-07-13 08:55:04
...

Clickhouse 单节点部署

单节点单实例
  1. 防火墙关闭或开放端口
    关闭防火墙

    service iptables stop
    chkconfig iptables off
    chkconfig iptables off
    
  2. 安装包准备
    rpm 安装包准备,下载19.14版本:

    clickhouse-client-19.14.6.12-2.noarch.rpm	
    clickhouse-common-static-19.14.6.12-2.x86_64.rpm
    clickhouse-common-static-dbg-19.14.6.12-2.x86_64.rpm
    clickhouse-server-19.14.6.12-2.noarch.rpm	
    clickhouse-test-19.14.6.12-2.noarch.rpm	
    perl-common-sense-3.6-4.el7.noarch.rpm	
    perl-JSON-XS-3.01-2.el7.x86_64.rpm	
    perl-Types-Serialiser-1.0-1.el7.noarch.rpm
    
  3. 安装clickhouse
    将安装包上传至服务器后,进入安装包目录,执行rpm安装命令进行安装

    [[email protected] setup19.14]# rpm -ivh *.rpm
    Preparing… ########################################### [100%]
    1:clickhouse-server-commo########################################### [ 20%]
    2:clickhouse-common-stati########################################### [ 40%]
    3:clickhouse-server ########################################### [ 60%]
    Create user clickhouse.clickhouse with datadir /var/lib/clickhouse
    4:clickhouse-client ########################################### [ 80%]
    Create user clickhouse.clickhouse with datadir /var/lib/clickhouse
    5:clickhouse-test ########################################### [100%]
    
  4. 配置文件主要参数说明及修改
    参数文件位置:/etc/clickhouse-server/config.xml,主要参数如下:

    1. 日志文件位置

      <log>/var/log/clickhouse-server/clickhouse-server.log</log>
      <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
      

      说明:可以根据部署要求等情况,修改文件名称,比如单机多实例时,但是目录路径不修改。

    2. http和tcp端口

      <http_port>8123</http_port>
      <tcp_port>9000</tcp_port>
      

      说明:上面是默认端口,默认不需要修改,如有冲突,根据实际情况修改。

    3. 数据文件路径

      <path>/data/clickhouse/</path>
      

      说明:可以根据部署要求等情况,修改路径,如果该目录不存在,需提前创建。

    4. tmp目录(如果与实例1配置相同,可以用同一个,不需要修改)

      <tmp_path>/data/clickhouse/tmp/</tmp_path>
      

      说明:可以根据部署要求等情况,修改路径。

    5. 监听的主机

      <listen_host>::</listen_host>
      

      说明:默认情况下该参数是被屏蔽掉的,需要放开。

    6. 监听内部通讯

      <interserver_http_port>9009</interserver_http_port>
      <interserver_http_host>xxx.xxx.xxx.xxx</interserver_http_host>
      

      说明:默认端口无冲突可不修改,建议集群内部保持一致。host改为本机ip。

    7. on cluserter ddl 在zookeeper上的目录

      <distributed_ddl>
           <!-- Path in ZooKeeper to queue with DDL queries -->
           <path>/clickhouse/task_queue/ddl</path>
           <!-- Settings from this profile will be used to execute DDL queries -->
           <!-- <profile>default</profile> -->
      </distributed_ddl>
      

      说明:同一集群内该参数需保持一致!!
      友情说明:当执行ddl on cluster时,会将ddl语句放入zookeeper该目录,然后每个节点监听该目录,由zookeeper分发到每个节点执行,如果有节点配置不同,则该节点无法创建。

  5. 修改配置文件 /etc/clickhouse-server/users.xml

    1. 最大使用内存
      <max_memory_usage>32000000000</max_memory_usage>
      
    2. 用户配置
      < users>< /users>下添加用户(标签为用户名:clickhouse,密码:1234.abcd)
      <clickhouse>
      	<password>1234.abcd</password>
      	<networks incl="networks" replace="replace">
      	<ip>::/0</ip>
      	</networks>
      	<profile>default</profile>
      	<quota>default</quota>
      </clickhouse>
      
      设置default用户的密码
      <default>
      	<password>abcd.1234</password>
      </default>
      
  6. 创建clickhouse用户

    groupadd clickhouse
    useradd -g clickhouse clickhouse
    
  7. 启动、停止、重启
    启动:

    service clickhouse-server start
    

    停止:

    service clickhouse-server stop
    

    重启:

    service clickhouse-server restart
    

    注:clickhouse-server为服务名,即,启动脚本**/etc/init.d/clickhouse-server**

  8. 连接测试

    [[email protected] ~]# clickhouse client --port 9000 -u default --password abcd.1234
    ClickHouse client version 19.7.3.1.
    Connecting to localhost:9000 as user default.
    Connected to ClickHouse server version 19.14 revision 54419.
    localhouse :) 
    
单节点双方实例
  1. 修改实例2的配置文件
    复制 /etc/clickhouse-server/config.xml 文件为 config1.xml,作为实例2的配置文件。
    修改config1.xml,主要修改一下参数,与实例1(/etc/clickhouse-server/config.xml)保持不同:

    1. 日志文件位置:

      <log>/var/log/clickhouse-server/clickhouse-server1.log</log>
      <errorlog>/var/log/clickhouse-server/clickhouse-server.err1.log </errorlog>
      

      说明:必须与实例1的配置不一致。

    2. http和tcp端口

      <http_port>8124</http_port>
      <tcp_port>9001</tcp_port>
      

      说明:必须与实例1的配置不一致。

    3. 数据文件路径

      <path>/data/clickhouse1/</path>
      

      说明:必须与实例1的配置不一致。

    4. users.xml(如果与实例1配置相同,可以用同一个,不需要修改)

      <users_config>users.xml</users_config>
      
    5. tmp目录(如果与实例1配置相同,可以用同一个,不需要修改)

      <tmp_path>/data/clickhouse/tmp/</tmp_path>
      
    6. 副本间的通信端口

      <interserver_http_port>9010</interserver_http_port>
      

      说明:必须与实例1的配置不一致。

  2. 修改启动脚本
    首先复制一份启动脚本(/etc/init.d/clickhouse-server)clickhouse-server2
    Clickhouse 单节点部署
    修改clickhouse-server2,主要修改配置文件 config.xml 位置和 PID 文件位置参数,如下:
    Clickhouse 单节点部署
    这里配置文件使用2.1中的配置文件config1.xml,pid使用clickhouse-server-1.pid

  3. 启动服务

    service clickhouse-server2 start