ClickHouse安装部署

技术文档网 2021-06-24
系统要求
  1. linux 以及 linux 沿伸系统
  2. 判断系统是否支持SSE4_2:grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
  1. clickhouse-client-21.4.6.55-2.noarch.rpm
  2. clickhouse-common-static-21.4.6.55-2.x86_64.rpm
  3. clickhouse-common-static-dbg-21.4.6.55-2.x86_64.rpm
  4. clickhouse-server-21.4.6.55-2.noarch.rpm
安装指令
  1. rpm -vih clickhouse-common-static-21.4.6.55-2.x86_64.rpm --force --nodeps
  2. rpm -vih clickhouse-common-static-dbg-21.4.6.55-2.x86_64.rpm --force --nodeps
  3. rpm -vih clickhouse-client-21.4.6.55-2.noarch.rpm --force --nodeps
  4. rpm -vih clickhouse-server-21.4.6.55-2.noarch.rpm --force --nodeps
  5. 若发现rpm安装报错:
    warning: clickhouse-common-static-21.4.6.55-2.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID e0c56bd4: NOKEY
    error: rpmdb: BDB0113 Thread/process 30669/139668977530944 failed: BDB1507 Thread died in Berkeley DB library
    error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
    error: cannot open Packages database in /var/lib/rpm
    
    解决办法:(重建rpm 数据库)
    a. cd /var/lib/rpm
    b. mkdir ./bk
    c. mv * ./bk
    d. rpm --rebuilddb
    
查看clickhouse用户是否自动创建
  1. cat /etc/passwd |grep clickhouse
  2. useradd clickhouse -g clickhouse
修改相关目录权限
  1. chown clickhouse.clickhouse /var/lib/clickhouse -R
  2. chown clickhouse.clickhouse /var/log/clickhouse-server -R
  3. chown clickhouse.clickhouse /etc/clickhouse-server -R ~~~
  4. /var/lib/clickhouse : 默认的数据存储目录,通常会修改,将数据保存到大容量磁盘路径中
  5. /var/log/cilckhouse-server : 默认保存日志的目录,通常会修改,将数据保存到大容量磁盘路径中 ~~~
启动服务(手工)
  1. su - clickhouse; clickhouse-server --config-file=/etc/clickhouse-server/config.xml &
  2. clickhouse-client 能连接成功,就表示启动成功
启动服务(自动)
  1. sudo service clickhouse-server start
用户及权限设置( /etc/clickhouse-server/user.xml )
<users>
      <admin>  ## clickhouse自带default用户,但是该用户拥有所有权限且没有设置登陆密码和开启RBAC
        <password>pwd</password>
        <password_sha256_hex>11781b0abbc1369d0e7037e218906fd03ab2c6f9084abef15137556b24996808</password_sha256_hex>
        <access_management>1</access_management>
        <networks incl="networks" replace="replace">
                <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
        <allow_databases>
           <database>default</database>
           <database>testdb</database>
        </allow_databases>
      </admin>
</users>

1.access_management 默认为0,设置为1标识开启RBAC权限控制。
2.admin 配置的用户名
3.password 用户对应的密码
4.password_sha256_hex 与password二选一,采用sha256散列
5.networks 运行访问的客户端ip、host
6.profile clickhouse角色
7.quota 配额,分配给该用户的资源
8.allow_databases 允许访问的数据库

shell下生成sha256签名串方法:
> PASSWORD="12345678"; echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
服务全局配置( /etc/clickhouse-server/config.xml )

# 用来存储创建的用户和角色
<access_control_path>/var/lib/clickhouse/access/</access_control_path>
quota 使用限制
<statbox>  //quota名称,应用创建用户时,对应的<quota></quota>
    <!-- Restrictions for a time period. You can set many intervals with different restrictions. -->
    <interval>
        <!-- Length of the interval. -->
        <duration>3600</duration>

        <queries>1000</queries>
        <errors>100</errors>
        <result_rows>1000000000</result_rows>
        <read_rows>100000000000</read_rows>
        <execution_time>900</execution_time>
    </interval>

    <interval>
        <duration>86400</duration>
        <queries>10000</queries>
        <errors>1000</errors>
        <result_rows>5000000000</result_rows>
        <read_rows>500000000000</read_rows>
        <execution_time>7200</execution_time>
    </interval>
</statbox>

以下是可以限制的金额:
queries – The total number of requests.
errors – The number of queries that threw an exception.
result_rows – The total number of rows given as the result.
read_rows – The total number of source rows read from tables for running the query, on all remote servers.
execution_time – The total query execution time, in seconds (wall time).

相关文章

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表-&gt;就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod

随机推荐

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表-&gt;就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod