Defined Type: clickhouse::server::remote_servers

Defined in:
manifests/server/remote_servers.pp

Summary

Create and manage Clickhouse remote servers for Distributed engine.

Overview

Examples:

Create three Clickhouse clusters. Replicated - one shard with two replicas, segmented - two shards without replicas, segmented_replicated - two shards, each having two replicas.

clickhouse::server::remote_servers { 'remote_servers.xml':
  remote_servers_file => '/etc/clickhouse-server/conf.d',
  remote_servers => {
    replicated           => {
      shard => {
        weight               => 1,
        internal_replication => true,
        replica              => ['host1.local:9000', 'host2.local:9000'],
      }
    },
    segmented            => {
      shard1 => {
        internal_replication => true,
        replica              => ['host1.local:9000'],
      },
      shard2 => {
        internal_replication => true,
        replica              => ['host2.local:9000'],
      }
    },
    segmented_replicated => {
      shard1 => {
        internal_replication => true,
        replica              => ['host1.local:9000', 'host2.local:9000'],
      },
      shard2 => {
        internal_replication => true,
        replica              => ['host3.local:9000', 'host4.local:9000'],
      }
    },
  },
}

Parameters:

  • name

    Name of the file with remote servers configurations.

  • config_dir (Stdlib::Unixpath) (defaults to: $clickhouse::server::config_dir)

    Path to Clickhouse configuration folder. Defaults to ‘/etc/clickhouse-server/conf.d’.

  • remote_servers_file_owner (String) (defaults to: $clickhouse::server::clickhouse_user)

    Owner of the remote servers file. Defaults to ‘clickhouse’.

  • remote_servers_file_group (String) (defaults to: $clickhouse::server::clickhouse_group)

    Group of the remote servers file. Defaults to ‘clickhouse’.

  • ensure (Enum['present', 'absent']) (defaults to: 'present')

    Specifies whether to create remote servers file. Valid values are ‘present’, ‘absent’. Defaults to ‘present’.

  • remote_servers (Clickhouse::Clickhouse_remote_servers) (defaults to: {})

    Remote server configurations (see types/clickhouse_remote_servers.pp for data type description).

See Also:



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'manifests/server/remote_servers.pp', line 53

define clickhouse::server::remote_servers(
  Stdlib::Unixpath $config_dir                          = $clickhouse::server::config_dir,
  String $remote_servers_file_owner                     = $clickhouse::server::clickhouse_user,
  String $remote_servers_file_group                     = $clickhouse::server::clickhouse_group,
  Enum['present', 'absent'] $ensure                     = 'present',
  Clickhouse::Clickhouse_remote_servers $remote_servers = {},
) {

  file { "${config_dir}/${title}":
    ensure  => $ensure,
    owner   => $remote_servers_file_owner,
    group   => $remote_servers_file_group,
    mode    => '0664',
    content => epp("${module_name}/remote_servers.xml.epp", {
      'remote_servers' => $remote_servers,
    }),
  }

}