ClickHouse/docs/ja/operations/server_configuration_parameters/settings.md
2020-04-04 12:15:31 +03:00

33 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 57 サーバー設定

サーバー設定

builtin_dictionaries_reload_interval

組み込みの辞書を再ロードする前の秒単位の間隔。

クリックハウスは、内蔵の辞書ごとにx秒をリロードします。 これにより、辞書の編集が可能になります “on the fly” サーバーを再起動せずに。

デフォルト値:3600.

例えば

<builtin_dictionaries_reload_interval>3600</builtin_dictionaries_reload_interval>

圧縮

以下のためのデータ圧縮設定 MergeTree-エンジンテーブル。

!!! warning "警告" ClickHouseを使用し始めたばかりの場合は使用しないでください。

構成テンプレート:

<compression>
    <case>
      <min_part_size>...</min_part_size>
      <min_part_size_ratio>...</min_part_size_ratio>
      <method>...</method>
    </case>
    ...
</compression>

<case> フィールド:

  • min_part_size The minimum size of a data part.
  • min_part_size_ratio The ratio of the data part size to the table size.
  • method Compression method. Acceptable values: lz4 または zstd.

複数を設定できます <case> セクション。

条件が満たされたときの動作:

  • データパーツが条件セットと一致する場合、clickhouseは指定された圧縮方法を使用します。
  • データパートが複数の条件セットと一致する場合、clickhouseは最初に一致した条件セットを使用します。

デー lz4 圧縮。

例えば

<compression incl="clickhouse_compression">
    <case>
        <min_part_size>10000000000</min_part_size>
        <min_part_size_ratio>0.01</min_part_size_ratio>
        <method>zstd</method>
    </case>
</compression>

default_database

既定のデータベース。

データベースのリストを取得するには、 SHOW DATABASES クエリ。

例えば

<default_database>default</default_database>

default_profile

既定の設定プロファイル。

設定プロファイルはパラ user_config.

例えば

<default_profile>default</default_profile>

dictionaries_config

外部ディクショナリの設定ファイルへのパス。

パス:

  • サーバー設定ファイルに対する絶対パスまたは相対パスを指定します。
  • のパスを含むことができワイルドカード*や?.

また見なさい “外部辞書”.

例えば

<dictionaries_config>*_dictionary.xml</dictionaries_config>

dictionaries_lazy_load

辞書の遅延ロード。

もし true その後、各辞書は最初の使用時に作成されます。 辞書の作成に失敗した場合、辞書を使用していた関数は例外をスローします。

もし false すべての辞書は、サーバーの起動時に作成され、エラーが発生した場合、サーバーはシャットダウンされます。

デフォルトは true.

例えば

<dictionaries_lazy_load>true</dictionaries_lazy_load>

format_schema_path

入力データのスキームを持つディレクトリへのパス。 CapnProto フォーマット。

例えば

  <!-- Directory containing schema files for various input formats. -->
  <format_schema_path>format_schemas/</format_schema_path>

黒鉛

データの送信先 黒鉛.

設定:

  • host The Graphite server.
  • port The port on the Graphite server.
  • interval The interval for sending, in seconds.
  • timeout The timeout for sending data, in seconds.
  • root_path Prefix for keys.
  • metrics Sending data from the システム。指標 テーブル。
  • events Sending deltas data accumulated for the time period from the システム。イベント テーブル。
  • events_cumulative Sending cumulative data from the システム。イベント テーブル。
  • asynchronous_metrics Sending data from the システム。asynchronous_metrics テーブル。

複数を設定できます <graphite> 句。 たとえば、異なる間隔で異なるデータを送信するためにこれを使用できます。

例えば

<graphite>
    <host>localhost</host>
    <port>42000</port>
    <timeout>0.1</timeout>
    <interval>60</interval>
    <root_path>one_min</root_path>
    <metrics>true</metrics>
    <events>true</events>
    <events_cumulative>false</events_cumulative>
    <asynchronous_metrics>true</asynchronous_metrics>
</graphite>

graphite_rollup

グラファイトの間引きデータの設定。

詳細については、 グラフィットメールグツリー.

例えば

<graphite_rollup_example>
    <default>
        <function>max</function>
        <retention>
            <age>0</age>
            <precision>60</precision>
        </retention>
        <retention>
            <age>3600</age>
            <precision>300</precision>
        </retention>
        <retention>
            <age>86400</age>
            <precision>3600</precision>
        </retention>
    </default>
</graphite_rollup_example>

http_port/https_port

HTTP経由でサーバーに接続するためのポート。

もし https_port が指定される。, openSSL 構成する必要があります。

もし http_port が指定されている場合、OpenSSL設定が設定されていても、その設定は無視される。

例えば

<https>0000</https>

http_server_default_response

ClickHouse HTTP(s)サーバーにアクセスするときにデフォルトで表示されるページ。 デフォルト値は “Ok.” (最後にラインフィード付き)

例えば

開く https://tabix.io/ アクセス時 http://localhost: http_port.

<http_server_default_response>
  <![CDATA[<html ng-app="SMI2"><head><base href="http://ui.tabix.io/"></head><body><div ui-view="" class="content-ui"></div><script src="http://loader.tabix.io/master.js"></script></body></html>]]>
</http_server_default_response>

include_from

置換を伴うファイルへのパス。

詳細については、以下を参照してください “設定ファイル”.

例えば

<include_from>/etc/metrica.xml</include_from>

interserver_http_port

ClickHouseサーバ間でデータを交換するためのポート。

例えば

<interserver_http_port>9009</interserver_http_port>

interserver_http_host

このサーバーへのアクセスに他のサーバーが使用できるホスト名。

省略された場合、それは同じ方法で定義されます hostname-f 司令部

特定のネットワー

例えば

<interserver_http_host>example.yandex.ru</interserver_http_host>

interserver_http_credentials

認証に使用するユーザー名とパスワード 複製 レプリケートされた*エンジン。 これらの資格情報は、レプリカ間の通信にのみ使用され、ClickHouseクライアントの資格情報とは無関係です。 サーバーにあるチェックにこれらの資格の接続にはレプリカと同じ資格を接続する場合はその他のレプリカ. なので、これらの資格を設定する同じすべてのレプリカ、クラスター デフォルトでは、認証は使用されません。

このセクショ:

  • user — username.
  • password — password.

例えば

<interserver_http_credentials>
    <user>admin</user>
    <password>222</password>
</interserver_http_credentials>

keep_alive_timeout

接続を閉じる前に、clickhouseが着信要求を待機する秒数。 デフォルトは3秒です。

例えば

<keep_alive_timeout>3</keep_alive_timeout>

listen_host

要求元のホストの制限。 したい場合はサーバーの回答をしているが、それらを指定し ::.

例:

<listen_host>::1</listen_host>
<listen_host>127.0.0.1</listen_host>

ロガー

ログの設定。

キー:

  • level Logging level. Acceptable values: trace, debug, information, warning, error.
  • log The log file. Contains all the entries according to level.
  • errorlog Error log file.
  • size Size of the file. Applies to logerrorlog. ファイルが届くと size、ClickHouseのアーカイブと名前を変更し、その場所に新しいログファイルを作成します。
  • count The number of archived log files that ClickHouse stores.

例えば

<logger>
    <level>trace</level>
    <log>/var/log/clickhouse-server/clickhouse-server.log</log>
    <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
    <size>1000M</size>
    <count>10</count>
</logger>

Syslogへの書き込みもサポートされています。 設定例:

<logger>
    <use_syslog>1</use_syslog>
    <syslog>
        <address>syslog.remote:10514</address>
        <hostname>myhost.local</hostname>
        <facility>LOG_LOCAL6</facility>
        <format>syslog</format>
    </syslog>
</logger>

キー:

  • use_syslog — Required setting if you want to write to the syslog.
  • address — The host[:port] of syslogd. If omitted, the local daemon is used.
  • hostname — Optional. The name of the host that logs are sent from.
  • facility — Syslog機能キーワード 大文字で “LOG_” 接頭辞: (LOG_USER, LOG_DAEMON, LOG_LOCAL3、というように)。 デフォルト値: LOG_USER もし address が指定される。, LOG_DAEMON otherwise.
  • format Message format. Possible values: bsdsyslog.

マクロ

パラメータの置換のために再現します。

ければ省略することができ複製のテーブルは使用しておりません。

詳細については、以下を参照してください “複製テーブルの作成”.

例えば

<macros incl="macros" optional="true" />

mark_cache_size

約サイズ(バイトのキャッシュのマークの使用によりテーブルエンジンの MergeTree 家族

キャッシュの共有のサーバーメモリが割り当てられます。 キャッシュサイズは5368709120以上である必要があります。

例えば

<mark_cache_size>5368709120</mark_cache_size>

max_concurrent_queries

同時に処理された要求の最大数。

例えば

<max_concurrent_queries>100</max_concurrent_queries>

max_connections

受信接続の最大数。

例えば

<max_connections>4096</max_connections>

max_open_files

開いているファイルの最大数。

デフォルトでは: maximum.

Mac OS Xでこのオプションを使用することをお勧めします。 getrlimit() 関数は不正な値を返します。

例えば

<max_open_files>262144</max_open_files>

max_table_size_to_drop

テーブルの削除に関する制限。

のサイズ MergeTree テーブルを超え max_table_size_to_drop (バイト単位)、ドロップクエリを使用して削除することはできません。

それでもclickhouseサーバーを再起動せずにテーブルを削除する必要がある場合は、 <clickhouse-path>/flags/force_drop_table ドロップクエリを実行します。

デフォルト値:50gb.

値0は、制限なしにすべてのテーブルを削除できることを意味します。

例えば

<max_table_size_to_drop>0</max_table_size_to_drop>

merge_tree

のテーブルのための微調整 MergeTree.

詳細については、"mergetreesettings"を参照してください。hヘッダファイル。

例えば

<merge_tree>
    <max_suspicious_broken_parts>5</max_suspicious_broken_parts>
</merge_tree>

openSSL

SSLクライアント/サーバー構成。

SSLのサポートは、 libpoco ライブラリ。 ユーザーインターフェイスはファイルに記述 SSLManager.h

サーバー/クライアント設定のキー:

  • privateKeyFile The path to the file with the secret key of the PEM certificate. The file may contain a key and certificate at the same time.
  • certificateFile The path to the client/server certificate file in PEM format. You can omit it if privateKeyFile 証明書が含まれています。
  • caConfig The path to the file or directory that contains trusted root certificates.
  • verificationMode The method for checking the node's certificates. Details are in the description of the 文脈 クラス。 可能な値: none, relaxed, strict, once.
  • verificationDepth The maximum length of the verification chain. Verification will fail if the certificate chain length exceeds the set value.
  • loadDefaultCAFile Indicates that built-in CA certificates for OpenSSL will be used. Acceptable values: true, false. |
  • cipherList Supported OpenSSL encryptions. For example: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH.
  • cacheSessions Enables or disables caching sessions. Must be used in combination with sessionIdContext. 許容値: true, false.
  • sessionIdContext A unique set of random characters that the server appends to each generated identifier. The length of the string must not exceed SSL_MAX_SSL_SESSION_ID_LENGTH. このパラメータは常にお勧めです問題を避けることになるだろう両方の場合はサーバのキャッシュのセッションがクライアントの要望はキャッシュ. デフォルト値: ${application.name}.
  • sessionCacheSize The maximum number of sessions that the server caches. Default value: 1024*20. 0 Unlimited sessions.
  • sessionTimeout Time for caching the session on the server.
  • extendedVerification Automatically extended verification of certificates after the session ends. Acceptable values: true, false.
  • requireTLSv1 Require a TLSv1 connection. Acceptable values: true, false.
  • requireTLSv1_1 Require a TLSv1.1 connection. Acceptable values: true, false.
  • requireTLSv1 Require a TLSv1.2 connection. Acceptable values: true, false.
  • fips Activates OpenSSL FIPS mode. Supported if the library's OpenSSL version supports FIPS.
  • privateKeyPassphraseHandler Class (PrivateKeyPassphraseHandler subclass) that requests the passphrase for accessing the private key. For example: <privateKeyPassphraseHandler>, <name>KeyFileHandler</name>, <options><password>test</password></options>, </privateKeyPassphraseHandler>.
  • invalidCertificateHandler Class (a subclass of CertificateHandler) for verifying invalid certificates. For example: <invalidCertificateHandler> <name>ConsoleCertificateHandler</name> </invalidCertificateHandler> .
  • disableProtocols Protocols that are not allowed to use.
  • preferServerCiphers Preferred server ciphers on the client.

設定例:

<openSSL>
    <server>
        <!-- openssl req -subj "/CN=localhost" -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout /etc/clickhouse-server/server.key -out /etc/clickhouse-server/server.crt -->
        <certificateFile>/etc/clickhouse-server/server.crt</certificateFile>
        <privateKeyFile>/etc/clickhouse-server/server.key</privateKeyFile>
        <!-- openssl dhparam -out /etc/clickhouse-server/dhparam.pem 4096 -->
        <dhParamsFile>/etc/clickhouse-server/dhparam.pem</dhParamsFile>
        <verificationMode>none</verificationMode>
        <loadDefaultCAFile>true</loadDefaultCAFile>
        <cacheSessions>true</cacheSessions>
        <disableProtocols>sslv2,sslv3</disableProtocols>
        <preferServerCiphers>true</preferServerCiphers>
    </server>
    <client>
        <loadDefaultCAFile>true</loadDefaultCAFile>
        <cacheSessions>true</cacheSessions>
        <disableProtocols>sslv2,sslv3</disableProtocols>
        <preferServerCiphers>true</preferServerCiphers>
        <!-- Use for self-signed: <verificationMode>none</verificationMode> -->
        <invalidCertificateHandler>
            <!-- Use for self-signed: <name>AcceptCertificateHandler</name> -->
            <name>RejectCertificateHandler</name>
        </invalidCertificateHandler>
    </client>
</openSSL>

part_log

関連付けられているログイベント MergeTree. たとえば、データの追加やマージなどです。 利用できるログを統合アルゴリズムと比較しています。 マージプロセスを視覚化できます。

クエリはログに記録されます システム。part_log テーブル、別のファイルではありません。 このテーブルの名前を設定することができます table パラメータ(下記参照)。

以下のパラメータの設定ロギング:

  • database Name of the database.
  • table Name of the system table.
  • partition_by Sets a カスタム分割キー.
  • flush_interval_milliseconds Interval for flushing data from the buffer in memory to the table.

例えば

<part_log>
    <database>system</database>
    <table>part_log</table>
    <partition_by>toMonday(event_date)</partition_by>
    <flush_interval_milliseconds>7500</flush_interval_milliseconds>
</part_log>

パス

データを含むディレクトリへのパス。

!!! note "メモ" 末尾のスラッシュは必須です。

例えば

<path>/var/lib/clickhouse/</path>

クエリーログ

で受信したロギングクエリの設定 log_queries=1 設定。

クエリはログに記録されます システム。クエリーログ テーブル、別のファイルではありません。 テーブルの名前を変更することができます table パラメータ(下記参照)。

以下のパラメータの設定ロギング:

  • database Name of the database.
  • table Name of the system table the queries will be logged in.
  • partition_by Sets a カスタム分割キー テーブルのため。
  • flush_interval_milliseconds Interval for flushing data from the buffer in memory to the table.

テーブルが存在しない場合、clickhouseはそれを作成します。 clickhouseサーバーが更新されたときにクエリログの構造が変更された場合、古い構造を持つテーブルの名前が変更され、新しいテーブルが自動的に作成されます。

例えば

<query_log>
    <database>system</database>
    <table>query_log</table>
    <partition_by>toMonday(event_date)</partition_by>
    <flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_log>

query_thread_log

受信したクエリのスレッドをログに記録する設定 log_query_threads=1 設定。

クエリはログに記録されます システム。query_thread_log テーブル、別のファイルではありません。 テーブルの名前を変更することができます table パラメータ(下記参照)。

以下のパラメータの設定ロギング:

  • database Name of the database.
  • table Name of the system table the queries will be logged in.
  • partition_by Sets a カスタム分割キー システムテーブルの場合。
  • flush_interval_milliseconds Interval for flushing data from the buffer in memory to the table.

テーブルが存在しない場合、clickhouseはそれを作成します。 clickhouseサーバーの更新時にクエリスレッドログの構造が変更された場合、古い構造を持つテーブルの名前が変更され、新しいテーブルが自動的に作成されます。

例えば

<query_thread_log>
    <database>system</database>
    <table>query_thread_log</table>
    <partition_by>toMonday(event_date)</partition_by>
    <flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_thread_log>

trace_log

のための設定 trace_log システムテーブル操作。

パラメータ:

  • database — Database for storing a table.
  • table — Table name.
  • partition_byカスタム分割キー システムテーブルの場合。
  • flush_interval_milliseconds — Interval for flushing data from the buffer in memory to the table.

既定のサーバー設定ファイル config.xml 次の設定セクションを含みます:

<trace_log>
    <database>system</database>
    <table>trace_log</table>
    <partition_by>toYYYYMM(event_date)</partition_by>
    <flush_interval_milliseconds>7500</flush_interval_milliseconds>
</trace_log>

query_masking_rules

サーバーログに保存する前に、クエリとすべてのログメッセージに適用される、regexpベースのルール, system.query_log, system.text_log, system.processes テーブル、およびクライアントに送信されたログ。 これにより SQLクエリからの機密データ漏えい名前、電子メール、個人など ログへの識別子またはクレジットカード番号)。

例えば

<query_masking_rules>
    <rule>
        <name>hide SSN</name>
        <regexp>(^|\D)\d{3}-\d{2}-\d{4}($|\D)</regexp>
        <replace>000-00-0000</replace>
    </rule>
</query_masking_rules>

設定フィールド:

  • name -ルールの名前(オプション)
  • regexp -RE2互換の正規表現(必須)
  • replace -機密データのための置換文字列(デフォルトではオプション-sixアスタリスク)

マスキングルールは、クエリ全体に適用されます(不正な形式の非解析可能なクエリからの機密データの漏洩を防ぐため)。

system.events テーブルに反対がある QueryMaskingRulesMatch クエリマスキングルールの総数が一致する。

分散クエリの場合、各サーバーを個別に構成する必要があります。 ノードはマスクせずに保存されます。

リモートサーバー

によって使用されるクラスターの構成 分散 テーブルエンジンと cluster テーブル機能。

例えば

<remote_servers incl="clickhouse_remote_servers" />

の値について incl 属性、セクションを参照 “設定ファイル”.

また見なさい

タイムゾーン

サーバーのタイムゾーン。

UTCタイムゾーンまたは地理的位置(たとえば、Africa/Abidjan)のIANA識別子として指定します。

タイムゾーンは、datetimeフィールドがテキスト形式画面またはファイルに印刷されるに出力される場合、および文字列からdatetimeを取得する場合に、文字列とdatetime さらに、タイムゾーンは、入力パラメータでタイムゾーンを受信しなかった場合、時刻と日付を扱う関数で使用されます。

例えば

<timezone>Europe/Moscow</timezone>

tcp_portgenericname

TCPプロトコル経由でクライアントと通信するポート。

例えば

<tcp_port>9000</tcp_port>

tcp_port_secure

クライアン それを使用する OpenSSL 設定。

可能な値

正の整数。

デフォルト値

<tcp_port_secure>9440</tcp_port_secure>

mysql_portgenericname

ポートと通信すmysqlプロトコルです。

可能な値

正の整数。

例えば

<mysql_port>9004</mysql_port>

tmp_path

大規模なクエリを処理するための一時データへのパス。

!!! note "メモ" 末尾のスラッシュは必須です。

例えば

<tmp_path>/var/lib/clickhouse/tmp/</tmp_path>

tmp_policy

からのポリシー storage_configuration 一時ファイルを保存する。 設定されていない場合 tmp_path それ以外の場合は無視されます。

!!! note "メモ" - move_factor は無視されます

  • keep_free_space_bytes は無視されます
  • max_data_part_size_bytes は無視されます -そのポリシーには正確に一つのボリュームが必要です

uncompressed_cache_size

テーブルエンジンによって使用される非圧縮データのキャッシュサイズ(バイト単位)。 MergeTree.

サーバーの共有キャッシュがあります。 メモ このオプ use_uncompressed_cache は有効です。

圧縮されていないキャッシュは、個々のケースで非常に短いクエリに有利です。

例えば

<uncompressed_cache_size>8589934592</uncompressed_cache_size>

user_files_path

ユー テーブル関数で使用されます ファイル().

例えば

<user_files_path>/var/lib/clickhouse/user_files/</user_files_path>

users_config

以下を含むファイルへのパス:

  • ユーザー構成。
  • アクセス権。
  • 設定プロファイル。
  • クォータの設定。

例えば

<users_config>users.xml</users_config>

zookeeper

ClickHouseとの対話を許可する設定が含まれています ZooKeeper クラスター

ClickHouse用飼育係の保存メタデータのレプリカの使用時に再現します。 場合は複製のテーブルを使用していないので、このパラメータを省略することができます。

このセクショ:

  • node — ZooKeeper endpoint. You can set multiple endpoints.

    例えば:

    <node index="1">
        <host>example_host</host>
        <port>2181</port>
    </node>
  The `index` attribute specifies the node order when trying to connect to the ZooKeeper cluster.
  • session_timeout — Maximum timeout for the client session in milliseconds.
  • root — The znode これは、ClickHouseサーバーで使用されるznodesのルートとして使用されます。 任意です。
  • identity — User and password, that can be required by ZooKeeper to give access to requested znodes. Optional.

設定例

<zookeeper>
    <node>
        <host>example1</host>
        <port>2181</port>
    </node>
    <node>
        <host>example2</host>
        <port>2181</port>
    </node>
    <session_timeout_ms>30000</session_timeout_ms>
    <operation_timeout_ms>10000</operation_timeout_ms>
    <!-- Optional. Chroot suffix. Should exist. -->
    <root>/path/to/zookeeper/node</root>
    <!-- Optional. Zookeeper digest ACL string. -->
    <identity>user:password</identity>
</zookeeper>

また見なさい

use_minimalistic_part_header_in_zookeeper

ZooKeeperのデータパートヘッダーの保存方法。

この設定は、 MergeTree 家族 指定できます:

  • グローバルに merge_tree のセクション config.xml ファイル。

    ClickHouseは、サーバー上のすべてのテーブルの設定を使用します。 設定はいつでも変更できます。 既存の表は、設定が変更されたときの動作を変更します。

  • 各テーブルのため。

    テーブルを作成するときは、対応する エンジンの設定. この設定を持つ既存のテーブルの動作は、グローバル設定が変更されても変更されません。

可能な値

  • 0 — Functionality is turned off.
  • 1 — Functionality is turned on.

もし use_minimalistic_part_header_in_zookeeper = 1、その後 複製された テーブルのヘッダのデータ部品のコンパクトを znode. の場合はテーブルを含む多く、この保管方法を大幅に低減量のデータが保存されて飼育係.

!!! attention "注意" 適用後 use_minimalistic_part_header_in_zookeeper = 1 ClickHouseサーバーをこの設定をサポートしないバージョンにダウングレードすることはできません。 するとアップグレード時に注意ClickHouseサーバーにクラスター なアップの全てのサーバーです。 テスト環境で、またはクラスターのほんの数台のサーバーで、新しいバージョンのClickHouseをテストする方が安全です。

  Data part headers already stored with this setting can't be restored to their previous (non-compact) representation.

デフォルト値: 0.

disable_internal_dns_cache

内部dnsキャッシュを無効にします。 システムの作動のclickhouseのために推薦される Kubernetesのような頻繁に変更の下部組織を使って。

デフォルト値: 0.

dns_cache_update_period

ClickHouse内部DNSキャッシュに保存されているIPアドレスの更新期間(秒単位)。 更新は、別のシステムスレッドで非同期に実行されます。

デフォルト値: 15.

元の記事