Puppet Class: clickhouse::server::config::zookeeper

Inherits:
clickhouse::server
Defined in:
manifests/server/config/zookeeper.pp

Summary

Set proper zookeeper config

Overview

clickhouse::server::config::zookeeper Set proper zookeeper config

Examples:

Use with params

class { 'clickhouse::server::config::zookeeper':
    nodes    => { 'server1' => 1},
    user     => 'user',
    password => 'password',
}

Parameters:

  • nodes (Hash[String[1], Integer[1, 255]])

    hash of ‘zk_server`: `id` to define nodes

  • port (Integer[1, 65536]) (defaults to: 2181)

    cilent port of zookeeper cluster

  • session_timeout_ms (Integer[1]) (defaults to: 30000)

    maximum timeout for client session in milliseconds

  • operation_timeout_ms (Integer[1]) (defaults to: 10000)

    maximum timeout for operation in milliseconds

  • root (Optional[Stdlib::Unixpath]) (defaults to: undef)

    ZNode, that is used as root for znodes used by ClickHouse server

  • user (Optional[String[1]]) (defaults to: undef)

    user if zookeeper uses authorization

  • password (Optional[String[1]]) (defaults to: undef)

    password if zookeeper uses authorization

  • mode (String[1]) (defaults to: '0440')

    zookeeper nodes, ports and optional user and password are confidential data and normally should not be readable

  • service_notify (Boolean) (defaults to: $clickhouse::server::config_service_notify)

    If ClickHouse server should be restarted on the config update

Author:

  • InnoGames GmbH



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'manifests/server/config/zookeeper.pp', line 42

class clickhouse::server::config::zookeeper (
    Hash[String[1], Integer[1, 255]] $nodes,
    Integer[1, 65536]                $port                 = 2181,
    Integer[1]                       $session_timeout_ms   = 30000,
    Integer[1]                       $operation_timeout_ms = 10000,
    Optional[Stdlib::Unixpath]       $root                 = undef,
    Optional[String[1]]              $user                 = undef,
    Optional[String[1]]              $password             = undef,
    String[1]                        $mode                 = '0440',
    Boolean                          $service_notify       = $clickhouse::server::config_service_notify,
) inherits clickhouse::server {

    $zookeeper_data = {
        'zookeeper' => merge(
            {
                'node'                 => $nodes.map |$node, $id| {{
                    'index' => $id,
                    'host'  => [$node],
                    'port'  => [$port],
                }},
                'session_timeout_ms'   => [$session_timeout_ms],
                'operation_timeout_ms' => [$operation_timeout_ms],
            },
            $root ? {
                undef   => {},
                default => {'root' => [$root]},
            },
            ($user == undef or $password == undef) ? {
                true    => {},
                default => {'identity' => ["${user}:${password}"]},
            },
        )
    }

    clickhouse::server::config { 'zookeeper':
        section        => 'config',
        data           => $zookeeper_data,
        service_notify => $service_notify,
        mode           => $mode,
    }
}