Press ESC to close

ClickHouse Storage Configuration Add New Storage Path

Clickhouse içerisinde bir çok storage configürasyon methodu ve desteği bulunmaktadır, bunların detayaına girmeden basitçe mount edilmiş bir alanını clickhouse server a kullandırmak istersek ne yapmalıyız veya herhangi bir dizini eklemek için , sonrasında bunları sql ifade ile nasıl kontrol edebiliriz, konularını açıkladıktan sonra , sonraki yazılarda s3 storage konfigürasyonu gibi daha detay storage konfigürasyonlarına ve data yı nasıl eskitiriz TTS kavramlarını inceliyor olacağız.

Öncelikle mevcut disk konfigürasyonunu kontrol edelim;

SELECT
    name,
    path,
    formatReadableSize(free_space) AS free,
    formatReadableSize(total_space) AS total,
    formatReadableSize(keep_free_space) AS reserved
FROM system.disks

Query id: 03adb456-7525-4816-9bd4-bcb1a3d42b3a

┌─name────┬─path─────────────────┬─free──────┬─total─────┬─reserved─┐
│ default │ /var/lib/clickhouse/ │ 39.36 GiB │ 49.98 GiB │ 0.00 B   │
└─────────┴──────────────────────┴───────────┴───────────┴──────────┘

1 row in set. Elapsed: 0.002 sec.

Şimdi bu default yerin yanına birde, mount edilmiş bir dizin ekleyelim bundada dbdata ismini verelim; Öncelikle storage_configuration.xml adında bir dosya oluşturuyoruz nerede tabiki config.d altında;

# pwd
/etc/clickhouse-server/config.d

-- storage_configuration.xml

# cat storage_configuration.xml
<clickhouse>
    <storage_configuration>
        <disks>
            <dbdata>
                <type>local</type>
        <path>/data01/clickdata1/</path>
            </dbdata>
        </disks>
    </storage_configuration>
</clickhouse>

Restrat sonrası;

SELECT
    name,
    path,
    formatReadableSize(free_space) AS free,
    formatReadableSize(total_space) AS total,
    formatReadableSize(keep_free_space) AS reserved
FROM system.disks

Query id: 0ec5a48b-fb36-4b60-935c-90b9ef9b10d0

┌─name────┬─path─────────────────┬─free───────┬─total──────┬─reserved─┐
│ dbdata  │ /data01/clickdata1/  │ 297.73 GiB │ 299.85 GiB │ 0.00 B   │
│ default │ /var/lib/clickhouse/ │ 40.40 GiB  │ 49.98 GiB  │ 0.00 B   │
└─────────┴──────────────────────┴────────────┴────────────┴──────────┘

2 rows in set. Elapsed: 0.002 sec.

Şimdi bu eklediğimiz alanı oluşturacağımız bir database için default yazma alanı haline getirelim;

Birden fazla disk eklenirken aşağıdaki gibi <disks> .. </disks> xml taglari arasında ilgili diskleri eklemeliyiz

<storage_configuration>
    <disks>
        <disk_name_1> <!-- disk name -->
            <path>/mnt/fast_ssd/clickhouse/</path>
        </disk_name_1>
        <disk_name_2>
            <path>/mnt/hdd1/clickhouse/</path>
            <keep_free_space_bytes>10485760</keep_free_space_bytes>
        </disk_name_2>
        <disk_name_3>
            <path>/mnt/hdd2/clickhouse/</path>
            <keep_free_space_bytes>10485760</keep_free_space_bytes>
        </disk_name_3>

        ...
    </disks>

    ...
</storage_configuration>

Backup için bir dizin tanımlayıp ekleyelim

<clickhouse>
    <storage_configuration>
        <disks>
            <dbdata>
                <type>local</type>
                <path>/data01/clickdata1/</path>
            </dbdata>
            <backup>
                <type>local</type>
                <path>/data01/backup/</path>
            </backup>
        </disks>
    </storage_configuration>
</clickhouse>

Şimdi bu dizini sorgulayalım, açıp kapamaya gerek duymadan dizinleri otomatik görecektir.

SELECT
    name,
    path,
    formatReadableSize(free_space) AS free,
    formatReadableSize(total_space) AS total,
    formatReadableSize(keep_free_space) AS reserved
FROM system.disks

Query id: 920afcaf-87d1-4466-8109-18f146630ba5

┌─name────┬─path─────────────────┬─free───────┬─total──────┬─reserved─┐
│ backup  │ /data01/backup/      │ 297.73 GiB │ 299.85 GiB │ 0.00 B   │
│ dbdata  │ /data01/clickdata1/  │ 297.73 GiB │ 299.85 GiB │ 0.00 B   │
│ default │ /var/lib/clickhouse/ │ 39.11 GiB  │ 49.98 GiB  │ 0.00 B   │
└─────────┴──────────────────────┴────────────┴────────────┴──────────┘

3 rows in set. Elapsed: 0.002 sec.

aynı zamanda aşaığdaki gibi clickhouse diskleri görebiliriz;

# clickhouse-disks  list-disks
backup
dbdata
default

Comments (1)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir