mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 07:31:57 +00:00
Merge pull request #25722 from AnaUvarova/ana-uvarova-DOCSUP-8653-build-osx-translate
DOCSUP-8653: build-osx translation
This commit is contained in:
commit
b7cb28a519
@ -1 +0,0 @@
|
|||||||
../../en/development/build-osx.md
|
|
125
docs/ru/development/build-osx.md
Normal file
125
docs/ru/development/build-osx.md
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
---
|
||||||
|
toc_priority: 65
|
||||||
|
toc_title: Сборка на Mac OS X
|
||||||
|
---
|
||||||
|
# Как собрать ClickHouse на Mac OS X {#how-to-build-clickhouse-on-mac-os-x}
|
||||||
|
|
||||||
|
Сборка должна запускаться с x86_64 (Intel) на macOS версии 10.15 (Catalina) и выше в последней версии компилятора Xcode's native AppleClang, Homebrew's vanilla Clang или в GCC-компиляторах.
|
||||||
|
|
||||||
|
## Установка Homebrew {#install-homebrew}
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Установка Xcode и инструментов командной строки {#install-xcode-and-command-line-tools}
|
||||||
|
|
||||||
|
1. Установите из App Store последнюю версию [Xcode](https://apps.apple.com/am/app/xcode/id497799835?mt=12).
|
||||||
|
|
||||||
|
2. Запустите ее, чтобы принять лицензионное соглашение. Необходимые компоненты установятся автоматически.
|
||||||
|
|
||||||
|
3. Затем убедитесь, что в системе выбрана последняя версия инструментов командной строки:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ sudo rm -rf /Library/Developer/CommandLineTools
|
||||||
|
$ sudo xcode-select --install
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Перезагрузитесь.
|
||||||
|
|
||||||
|
## Установка компиляторов, инструментов и библиотек {#install-required-compilers-tools-and-libraries}
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ brew update
|
||||||
|
$ brew install cmake ninja libtool gettext llvm gcc
|
||||||
|
```
|
||||||
|
|
||||||
|
## Просмотр исходников ClickHouse {#checkout-clickhouse-sources}
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ git clone --recursive git@github.com:ClickHouse/ClickHouse.git # or https://github.com/ClickHouse/ClickHouse.git
|
||||||
|
```
|
||||||
|
|
||||||
|
## Сборка ClickHouse {#build-clickhouse}
|
||||||
|
|
||||||
|
Чтобы запустить сборку в компиляторе Xcode's native AppleClang:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ cd ClickHouse
|
||||||
|
$ rm -rf build
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
|
||||||
|
$ cmake --build . --config RelWithDebInfo
|
||||||
|
$ cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
Чтобы запустить сборку в компиляторе Homebrew's vanilla Clang:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ cd ClickHouse
|
||||||
|
$ rm -rf build
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake -DCMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang -DCMAKE_CXX_COMPILER==$(brew --prefix llvm)/bin/clang++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
|
||||||
|
$ cmake -DCMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang -DCMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
|
||||||
|
$ cmake --build . --config RelWithDebInfo
|
||||||
|
$ cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
Чтобы собрать с помощью компилятора Homebrew's vanilla GCC:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ cd ClickHouse
|
||||||
|
$ rm -rf build
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake -DCMAKE_C_COMPILER=$(brew --prefix gcc)/bin/gcc-10 -DCMAKE_CXX_COMPILER=$(brew --prefix gcc)/bin/g++-10 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
|
||||||
|
$ cmake --build . --config RelWithDebInfo
|
||||||
|
$ cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
## Предупреждения {#caveats}
|
||||||
|
|
||||||
|
Если будете запускать `clickhouse-server`, убедитесь, что увеличили системную переменную `maxfiles`.
|
||||||
|
|
||||||
|
!!! info "Note"
|
||||||
|
Вам понадобится команда `sudo`.
|
||||||
|
|
||||||
|
1. Создайте файл `/Library/LaunchDaemons/limit.maxfiles.plist` и поместите в него следующее:
|
||||||
|
|
||||||
|
``` xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
|
||||||
|
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>Label</key>
|
||||||
|
<string>limit.maxfiles</string>
|
||||||
|
<key>ProgramArguments</key>
|
||||||
|
<array>
|
||||||
|
<string>launchctl</string>
|
||||||
|
<string>limit</string>
|
||||||
|
<string>maxfiles</string>
|
||||||
|
<string>524288</string>
|
||||||
|
<string>524288</string>
|
||||||
|
</array>
|
||||||
|
<key>RunAtLoad</key>
|
||||||
|
<true/>
|
||||||
|
<key>ServiceIPC</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Выполните команду:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Перезагрузитесь.
|
||||||
|
|
||||||
|
4. Чтобы проверить, как это работает, выполните команду `ulimit -n`.
|
||||||
|
|
||||||
|
[Original article](https://clickhouse.tech/docs/en/development/build_osx/) <!--hide-->
|
@ -17,7 +17,7 @@ toc_title: PARTITION
|
|||||||
- [CLEAR INDEX IN PARTITION](#alter_clear-index-partition) — очистить построенные вторичные индексы для заданной партиции;
|
- [CLEAR INDEX IN PARTITION](#alter_clear-index-partition) — очистить построенные вторичные индексы для заданной партиции;
|
||||||
- [FREEZE PARTITION](#alter_freeze-partition) — создать резервную копию партиции;
|
- [FREEZE PARTITION](#alter_freeze-partition) — создать резервную копию партиции;
|
||||||
- [UNFREEZE PARTITION](#alter_unfreeze-partition) — удалить резервную копию партиции;
|
- [UNFREEZE PARTITION](#alter_unfreeze-partition) — удалить резервную копию партиции;
|
||||||
- [FETCH PARTITION](#alter_fetch-partition) — скачать партицию с другого сервера;
|
- [FETCH PARTITION\|PART](#alter_fetch-partition) — скачать партицию/кусок с другого сервера;
|
||||||
- [MOVE PARTITION\|PART](#alter_move-partition) — переместить партицию/кускок на другой диск или том.
|
- [MOVE PARTITION\|PART](#alter_move-partition) — переместить партицию/кускок на другой диск или том.
|
||||||
- [UPDATE IN PARTITION](#update-in-partition) — обновить данные внутри партиции по условию.
|
- [UPDATE IN PARTITION](#update-in-partition) — обновить данные внутри партиции по условию.
|
||||||
- [DELETE IN PARTITION](#delete-in-partition) — удалить данные внутри партиции по условию.
|
- [DELETE IN PARTITION](#delete-in-partition) — удалить данные внутри партиции по условию.
|
||||||
@ -209,29 +209,35 @@ ALTER TABLE 'table_name' UNFREEZE [PARTITION 'part_expr'] WITH NAME 'backup_name
|
|||||||
|
|
||||||
Удаляет с диска "замороженные" партиции с указанным именем. Если секция `PARTITION` опущена, запрос удаляет резервную копию всех партиций сразу.
|
Удаляет с диска "замороженные" партиции с указанным именем. Если секция `PARTITION` опущена, запрос удаляет резервную копию всех партиций сразу.
|
||||||
|
|
||||||
## FETCH PARTITION {#alter_fetch-partition}
|
## FETCH PARTITION\|PART {#alter_fetch-partition}
|
||||||
|
|
||||||
``` sql
|
``` sql
|
||||||
ALTER TABLE table_name FETCH PARTITION partition_expr FROM 'path-in-zookeeper'
|
ALTER TABLE table_name FETCH PARTITION|PART partition_expr FROM 'path-in-zookeeper'
|
||||||
```
|
```
|
||||||
|
|
||||||
Загружает партицию с другого сервера. Этот запрос работает только для реплицированных таблиц.
|
Загружает партицию с другого сервера. Этот запрос работает только для реплицированных таблиц.
|
||||||
|
|
||||||
Запрос выполняет следующее:
|
Запрос выполняет следующее:
|
||||||
|
|
||||||
1. Загружает партицию с указанного шарда. Путь к шарду задается в секции `FROM` (‘path-in-zookeeper’). Обратите внимание, нужно задавать путь к шарду в ZooKeeper.
|
1. Загружает партицию/кусок с указанного шарда. Путь к шарду задается в секции `FROM` (‘path-in-zookeeper’). Обратите внимание, нужно задавать путь к шарду в ZooKeeper.
|
||||||
2. Помещает загруженные данные в директорию `detached` таблицы `table_name`. Чтобы прикрепить эти данные к таблице, используйте запрос [ATTACH PARTITION\|PART](#alter_attach-partition).
|
2. Помещает загруженные данные в директорию `detached` таблицы `table_name`. Чтобы прикрепить эти данные к таблице, используйте запрос [ATTACH PARTITION\|PART](#alter_attach-partition).
|
||||||
|
|
||||||
Например:
|
Например:
|
||||||
|
|
||||||
|
1. FETCH PARTITION
|
||||||
``` sql
|
``` sql
|
||||||
ALTER TABLE users FETCH PARTITION 201902 FROM '/clickhouse/tables/01-01/visits';
|
ALTER TABLE users FETCH PARTITION 201902 FROM '/clickhouse/tables/01-01/visits';
|
||||||
ALTER TABLE users ATTACH PARTITION 201902;
|
ALTER TABLE users ATTACH PARTITION 201902;
|
||||||
```
|
```
|
||||||
|
2. FETCH PART
|
||||||
|
``` sql
|
||||||
|
ALTER TABLE users FETCH PART 201901_2_2_0 FROM '/clickhouse/tables/01-01/visits';
|
||||||
|
ALTER TABLE users ATTACH PART 201901_2_2_0;
|
||||||
|
```
|
||||||
|
|
||||||
Следует иметь в виду:
|
Следует иметь в виду:
|
||||||
|
|
||||||
- Запрос `ALTER TABLE t FETCH PARTITION` не реплицируется. Он загружает партицию в директорию `detached` только на локальном сервере.
|
- Запрос `ALTER TABLE t FETCH PARTITION|PART` не реплицируется. Он загружает партицию в директорию `detached` только на локальном сервере.
|
||||||
- Запрос `ALTER TABLE t ATTACH` реплицируется — он добавляет данные в таблицу сразу на всех репликах. На одной из реплик данные будут добавлены из директории `detached`, а на других — из соседних реплик.
|
- Запрос `ALTER TABLE t ATTACH` реплицируется — он добавляет данные в таблицу сразу на всех репликах. На одной из реплик данные будут добавлены из директории `detached`, а на других — из соседних реплик.
|
||||||
|
|
||||||
Перед загрузкой данных система проверяет, существует ли партиция и совпадает ли её структура со структурой таблицы. При этом автоматически выбирается наиболее актуальная реплика среди всех живых реплик.
|
Перед загрузкой данных система проверяет, существует ли партиция и совпадает ли её структура со структурой таблицы. При этом автоматически выбирается наиболее актуальная реплика среди всех живых реплик.
|
||||||
|
@ -282,7 +282,7 @@ GRANT INSERT(x,y) ON db.table TO john
|
|||||||
- `ALTER MATERIALIZE TTL`. Уровень: `TABLE`. Алиасы: `MATERIALIZE TTL`
|
- `ALTER MATERIALIZE TTL`. Уровень: `TABLE`. Алиасы: `MATERIALIZE TTL`
|
||||||
- `ALTER SETTINGS`. Уровень: `TABLE`. Алиасы: `ALTER SETTING`, `ALTER MODIFY SETTING`, `MODIFY SETTING`
|
- `ALTER SETTINGS`. Уровень: `TABLE`. Алиасы: `ALTER SETTING`, `ALTER MODIFY SETTING`, `MODIFY SETTING`
|
||||||
- `ALTER MOVE PARTITION`. Уровень: `TABLE`. Алиасы: `ALTER MOVE PART`, `MOVE PARTITION`, `MOVE PART`
|
- `ALTER MOVE PARTITION`. Уровень: `TABLE`. Алиасы: `ALTER MOVE PART`, `MOVE PARTITION`, `MOVE PART`
|
||||||
- `ALTER FETCH PARTITION`. Уровень: `TABLE`. Алиасы: `FETCH PARTITION`
|
- `ALTER FETCH PARTITION`. Уровень: `TABLE`. Алиасы: `ALTER FETCH PART`, `FETCH PARTITION`, `FETCH PART`
|
||||||
- `ALTER FREEZE PARTITION`. Уровень: `TABLE`. Алиасы: `FREEZE PARTITION`
|
- `ALTER FREEZE PARTITION`. Уровень: `TABLE`. Алиасы: `FREEZE PARTITION`
|
||||||
- `ALTER VIEW` Уровень: `GROUP`
|
- `ALTER VIEW` Уровень: `GROUP`
|
||||||
- `ALTER VIEW REFRESH `. Уровень: `VIEW`. Алиасы: `ALTER LIVE VIEW REFRESH`, `REFRESH VIEW`
|
- `ALTER VIEW REFRESH `. Уровень: `VIEW`. Алиасы: `ALTER LIVE VIEW REFRESH`, `REFRESH VIEW`
|
||||||
|
Loading…
Reference in New Issue
Block a user