1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/inrgihc-clickhouse_installer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Установка кластера ClickHouse одним щелчком

Быстрый монтаж компонентов, связанных с ClickHouse, на основе ansible.

Адрес проекта:

1. Подготовка к установке

  • (1) Настройка файла конфигурации hosts.ini

Файл конфигурации hosts.ini используется для настройки формата файлов установки, IP-адресов и паролей хостов, а также других параметров, необходимых для установки различных компонентов на разных узлах. Пример конфигурации:

[nodes]
172.17.203.92 hostname=node1 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='123321'
172.17.203.93 hostname=node2 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='123321'
172.17.203.94 hostname=node3 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='123321'

[zookeeper]
node1
node2
node3

[clickhouse]
node1
node2
node3

2. Установка одним щелчком

1. Установка

git clone https://github.com/tangyibo/clickhouse_installer.git
cd clickhouse_installer/
sh install.sh

2. Удаление

cd clickhouse_installer/
sh uninstall.sh

3. Пошаговая установка

1. Установка

  • (1) Развертывание машины с помощью ansible:

Используйте yum для установки ansible:

# yum install -y epel-release
# yum install -y ansible
  • (2) Конфигурация root без пароля и хостов кластера:

Выполните следующую команду на всех серверах кластера /etc/hosts и конфигурацию root без пароля:

# ansible-playbook -i hosts.ini prepare.yaml
  • (3) Установка Zookeeper:

Проверьте параметры конфигурации в vars/var_zookeeper.yml, особенно проверьте доступность версии и загрузите адрес, затем выполните команду оболочки для установки кластера Zookeeper:

# ansible-playbook -i hosts.ini  zookeeper.yaml
  • (4) Установка кластера ClickHouse:

Проверьте параметры конфигурации в vars/var_clickhouse.yml, особенно убедитесь, что каталог данных установлен правильно, затем выполните команду оболочки для установки кластера ClickHouse:

# ansible-playbook -i hosts.ini  clickhouse.yaml

2. Удаление

  • (1) Выполните следующую команду для удаления:
# ansible-playbook -i hosts.ini cleanup.yaml

4. Проверка кластера

Войдите в любой узел кластера ClickHouse и выполните следующую команду:

clickhouse-client -h 127.0.0.1

Затем выполните следующий SQL-запрос для просмотра информации о конфигурации узла кластера:

select * from system.clusters;

Моя информация следующая:

[root@node1 ~]# clickhouse-client -h 127.0.0.1
ClickHouse client version 21.1.2.15 (official build).
Connecting to 127.0.0.1:9000 as user default.
Connected to ClickHouse server version 21.1.2 revision 54443.

node1 :) select * from system.clusters;

SELECT *
FROM system.clusters

Query id: 4cdcd3d4-855b-4774-8669-e873bd33bf73

┌─cluster───────────────────────────┬─shard_num─┬─shard_weight─┬─replica_num─┬─host_name─┬─host_address──┬─port─┬─is_local─┬─user────┬─default_database─┬─errors_count─┬─estimated_recovery_time─┐
│ cluster_3shards_1replicas         │         1 │            1 │           1 │ node1     │ 172.17.203.92 │ 9000 │        1 │ default │                  │            0 │                       0 │
│ cluster_3shards_1replicas         │         2 │            1 │           1 │ node2     │ 172.17.203.93 │ 9000 │        0 │ default │                  │            0 │                       0 │
│ cluster_3shards_1replicas         │         3 │            1 │           1 │ node3     │ 172.17.203.94 │ 9000 │        0 │ default │                  │            0 │                       0 │
| test_cluster_two_shards           │         1 │            1 │           1 | 127.0.0.1 | 127.0.0.1     | 9000 |        1 | default |                  |            0 |                       0 |
| test_cluster_two_shards           │         2 |            1 |           1 | 127.0.0.2 | 127.0.0.2     | 9000 |        0 | default |                  |            0 |                       0 |
| test_cluster_two_shards_localhost │         1 |            1 |           1 | localhost | ::1           | 9000 |        1 | default |                  |            0 |                       0 |
| test_cluster_two_shards_localhost |         2 |            1 |           1 | localhost | ::1           | 9000 |        1 | default |                  |            0 |                       0 |
| test_shard_localhost              |         1 |            1 |           1 | localhost | ::1           | 9000 |        1 | default |                  |            0 |                       0 |
| test_shard_localhost_secure       |         1 |            1 |           1 | localhost | ::1           | 9440 |        0 | default |                  |            0 |                       0 |
| test_unavailable_shard            |         1 |            1 |           1 | localhost | ::1           | 9000 |        1 | default |                  |            0 |                       0 | ## 五、Использование учебника

### 1. Создание распределённой библиотеки

В кластере создайте библиотеку, чтобы все узлы синхронизировались:

create database test on cluster cluster_3shards_1replicas


### 2. Удаление распределённой библиотеки

drop database test on cluster cluster_3shards_1replicas


### 3. Создание распределённой таблицы

user test;

CREATE TABLE IF NOT EXISTS t_user ON CLUSTER cluster_3shards_1replicas ( user_id UInt16, user_name String, user_code String ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/t_user', '{replica}') PARTITION BY user_code ORDER BY user_id SETTINGS index_granularity = 8192

**Примечание:**

- Параметр после ENGINE — это путь к данной таблице для ZooKeeper, который используется для различения таблиц. Для разных сегментов таблицы должны иметь разные пути, поэтому пути должны быть уникальными. Первый параметр /clickhouse/tables является обязательным префиксом, указанным в официальной документации, а второй параметр t_user — это имя вашей собственной таблицы. Перед именем таблицы можно также указать имя сегмента, так что полный путь может выглядеть как /clickhouse/tables/shard/table_name.

- Второй параметр {replica} указывает на имя копии, которое напрямую ссылается на информацию о имени копии, которую вы настроили в файле конфигурации.

### 4. Вставка данных / запрос данных / удаление данных

insert into t_user values('1','tang','X10086'); select * from t_user; alter table t_user delete where user_id = '1';


### 5. Массовая загрузка данных CSV

Сначала создайте текстовый файл в формате CSV на локальном компьютере:

cat > t_user.csv <<EOF 2,john,10010, 3,jack,10000, EOF

Затем используйте команду для загрузки:

cat ./t_user.csv | clickhouse-client -h 127.0.0.1 --query="insert into test.t_user format CSV"


### 6. Экспорт данных результатов запроса

clickhouse-client -h 127.0.0.1 -d 'test' -q 'select * from t_user format CSV' > ./new_t_user.csv


### 7. Запрос общего количества записей в таблице

select count(*) from t_user;

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Быстрый монтаж кластера ClickHouse на базе Ansible. Развернуть Свернуть
Shell
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/inrgihc-clickhouse_installer.git
git@api.gitlife.ru:oschina-mirror/inrgihc-clickhouse_installer.git
oschina-mirror
inrgihc-clickhouse_installer
inrgihc-clickhouse_installer
main