zh/docs for development parts..

This commit is contained in:
sundy-li 2019-11-28 11:57:33 +08:00
parent d8fa0871b9
commit 63b61b61d4
7 changed files with 182 additions and 7 deletions

View File

@ -1 +0,0 @@
../../en/development/build_cross.md

View File

@ -0,0 +1,54 @@
# 如何在Linux中编译Mac OS X ClickHouse
这是当您拥有Linux机器并想要使用它来构建将在OS X上运行的clickhouse二进制文件时的情况。这用于在Linux服务器上运行的持续集成检查。 如果要直接在Mac OS X上构建ClickHouse请继续执行另一条说明
Linux机器也可以编译运行在OS X系统的`clickhouse`二进制包这可以用于在Linux上跑持续集成测试。如果要直接在Mac OS X上构建ClickHouse请参考另外一篇指南 https://clickhouse.yandex/docs/zh/development/build_osx/
Mac OS X的交叉编译基于以下构建说明请首先遵循它们。
# Install Clang-8
按照https://apt.llvm.org/中的说明进行Ubuntu或Debian安装。
例如用于Bionic的命令如下
```bash
sudo echo "deb [trusted=yes] http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main" >> /etc/apt/sources.list
sudo apt-get install clang-8
```
# 安装交叉编译工具集
我们假设安装 `cctools` 在 ${CCTOOLS} 路径下
```bash
mkdir ${CCTOOLS}
git clone https://github.com/tpoechtrager/apple-libtapi.git
cd apple-libtapi
INSTALLPREFIX=${CCTOOLS} ./build.sh
./install.sh
cd ..
git clone https://github.com/tpoechtrager/cctools-port.git
cd cctools-port/cctools
./configure --prefix=${CCTOOLS} --with-libtapi=${CCTOOLS} --target=x86_64-apple-darwin
make install
cd ${CCTOOLS}
wget https://github.com/phracker/MacOSX-SDKs/releases/download/10.14-beta4/MacOSX10.14.sdk.tar.xz
tar xJf MacOSX10.14.sdk.tar.xz
```
# 编译 ClickHouse
```bash
cd ClickHouse
mkdir build-osx
CC=clang-8 CXX=clang++-8 cmake . -Bbuild-osx -DCMAKE_SYSTEM_NAME=Darwin \
-DCMAKE_AR:FILEPATH=${CCTOOLS}/bin/x86_64-apple-darwin-ar \
-DCMAKE_RANLIB:FILEPATH=${CCTOOLS}/bin/x86_64-apple-darwin-ranlib \
-DLINKER_NAME=${CCTOOLS}/bin/x86_64-apple-darwin-ld \
-DSDK_PATH=${CCTOOLS}/MacOSX10.14.sdk
ninja -C build-osx
```
生成的二进制文件将具有Mach-O可执行格式并且不能在Linux上运行。

View File

@ -1 +0,0 @@
../../en/development/contrib.md

View File

@ -0,0 +1,34 @@
# 使用的三方库
| Library | License |
| ------- | ------- |
| base64 | [BSD 2-Clause License](https://github.com/aklomp/base64/blob/a27c565d1b6c676beaf297fe503c4518185666f7/LICENSE) |
| boost | [Boost Software License 1.0](https://github.com/ClickHouse-Extras/boost-extra/blob/6883b40449f378019aec792f9983ce3afc7ff16e/LICENSE_1_0.txt) |
| brotli | [MIT](https://github.com/google/brotli/blob/master/LICENSE) |
| capnproto | [MIT](https://github.com/capnproto/capnproto/blob/master/LICENSE) |
| cctz | [Apache License 2.0](https://github.com/google/cctz/blob/4f9776a310f4952454636363def82c2bf6641d5f/LICENSE.txt) |
| double-conversion | [BSD 3-Clause License](https://github.com/google/double-conversion/blob/cf2f0f3d547dc73b4612028a155b80536902ba02/LICENSE) |
| FastMemcpy | [MIT](https://github.com/yandex/ClickHouse/blob/master/libs/libmemcpy/impl/LICENSE) |
| googletest | [BSD 3-Clause License](https://github.com/google/googletest/blob/master/LICENSE) |
| hyperscan | [BSD 3-Clause License](https://github.com/intel/hyperscan/blob/master/LICENSE) |
| libbtrie | [BSD 2-Clause License](https://github.com/yandex/ClickHouse/blob/master/contrib/libbtrie/LICENSE) |
| libcxxabi | [BSD + MIT](https://github.com/yandex/ClickHouse/blob/master/libs/libglibc-compatibility/libcxxabi/LICENSE.TXT) |
| libdivide | [Zlib License](https://github.com/yandex/ClickHouse/blob/master/contrib/libdivide/LICENSE.txt) |
| libgsasl | [LGPL v2.1](https://github.com/ClickHouse-Extras/libgsasl/blob/3b8948a4042e34fb00b4fb987535dc9e02e39040/LICENSE)
| libhdfs3 | [Apache License 2.0](https://github.com/ClickHouse-Extras/libhdfs3/blob/bd6505cbb0c130b0db695305b9a38546fa880e5a/LICENSE.txt) |
| libmetrohash | [Apache License 2.0](https://github.com/yandex/ClickHouse/blob/master/contrib/libmetrohash/LICENSE) |
| libpcg-random | [Apache License 2.0](https://github.com/yandex/ClickHouse/blob/master/contrib/libpcg-random/LICENSE-APACHE.txt) |
| libressl | [OpenSSL License](https://github.com/ClickHouse-Extras/ssl/blob/master/COPYING) |
| librdkafka | [BSD 2-Clause License](https://github.com/edenhill/librdkafka/blob/363dcad5a23dc29381cc626620e68ae418b3af19/LICENSE) |
| libwidechar\_width | [CC0 1.0 Universal](https://github.com/yandex/ClickHouse/blob/master/libs/libwidechar_width/LICENSE) |
| llvm | [BSD 3-Clause License](https://github.com/ClickHouse-Extras/llvm/blob/163def217817c90fb982a6daf384744d8472b92b/llvm/LICENSE.TXT) |
| lz4 | [BSD 2-Clause License](https://github.com/lz4/lz4/blob/c10863b98e1503af90616ae99725ecd120265dfb/LICENSE) |
| mariadb-connector-c | [LGPL v2.1](https://github.com/ClickHouse-Extras/mariadb-connector-c/blob/3.1/COPYING.LIB) |
| murmurhash | [Public Domain](https://github.com/yandex/ClickHouse/blob/master/contrib/murmurhash/LICENSE)
| pdqsort | [Zlib License](https://github.com/yandex/ClickHouse/blob/master/contrib/pdqsort/license.txt) |
| poco | [Boost Software License - Version 1.0](https://github.com/ClickHouse-Extras/poco/blob/fe5505e56c27b6ecb0dcbc40c49dc2caf4e9637f/LICENSE) |
| protobuf | [BSD 3-Clause License](https://github.com/ClickHouse-Extras/protobuf/blob/12735370922a35f03999afff478e1c6d7aa917a4/LICENSE) |
| re2 | [BSD 3-Clause License](https://github.com/google/re2/blob/7cf8b88e8f70f97fd4926b56aa87e7f53b2717e0/LICENSE) |
| UnixODBC | [LGPL v2.1](https://github.com/ClickHouse-Extras/UnixODBC/tree/b0ad30f7f6289c12b76f04bfb9d466374bb32168) |
| zlib-ng | [Zlib License](https://github.com/ClickHouse-Extras/zlib-ng/blob/develop/LICENSE.md) |
| zstd | [BSD 3-Clause License](https://github.com/facebook/zstd/blob/dev/LICENSE) |

View File

@ -9,7 +9,7 @@ ClickHose支持Linux,FreeBSD 及 Mac OS X 系统。
您需要(申请)一个GitHub账户来使用ClickHouse。
如果没有账户请在https://github.com上注册一个。如果没有SSH密钥请在本地创建密钥并将其上传到GitHub上。这些交互都是必须的也可以使用与其他任何SSH服务器相同的密钥。
如果没有账户请在https://github.com上注册一个。如果没有SSH密钥请在本地创建密钥并将公钥上传到GitHub上。这有助于你提交更新代码。并且在不同的SSH服务端你也可以使用相同的SSH密钥。
要创建ClickHouse源码库的分支请在https://github.com/ClickHouse/ClickHouse页面上点击右上角的"fork"按钮。它会在本账户上创建您个人的ClickHouse/ClickHouse分支。

View File

@ -166,7 +166,7 @@ clickhouse benchmark --concurrency 16 < queries.tsv
当我们扩展 ClickHouse 网络协议时,我们手动测试旧的 clickhouse-client 与新的 clickhouse-server 和新的clickhouse-client 一起使用旧的 clickhouse-server (只需从相应的包中运行二进制文件)
## 来自编译器的帮助
## 来自编译器的提示
ClickHouse 主要的代码 (位于`dbms`目录中) 使用 `-Wall -Wextra -Werror` 构建,并带有一些其他已启用的警告。 虽然没有为第三方库启用这些选项。

View File

@ -1 +0,0 @@
../../en/operations/monitoring.md

View File

@ -0,0 +1,37 @@
# 监控
可以监控到:
- 硬件资源的利用率。
- ClickHouse 服务的指标。
## 硬件资源利用率
ClickHouse 本身不会去监控硬件资源的状态。
强烈推荐监控以下监控项:
- 处理器上的负载和温度。
可以使用 [dmesg](https://en.wikipedia.org/wiki/Dmesg), [turbostat](https://www.linux.org/docs/man8/turbostat.html) 或者其他工具。
- 磁盘存储RAM和网络的使用率。
## ClickHouse 服务的指标。
ClickHouse服务本身具有用于自我状态监视指标。
要跟踪服务器事件,请观察服务器日志。 请参阅配置文件的[logger]server_settings/settings.md#server_settings-logger部分。
ClickHouse 收集的指标项:
- 服务用于计算的资源占用的各种指标。
- 关于查询处理的常见统计信息。
可以在 [system.metrics](system_tables.md#system_tables-metrics) [system.events](system_tables.md#system_tables-events) 以及[system.asynchronous_metrics](system_tables.md#system_tables-asynchronous_metrics) 等系统表查看所有的指标项。
可以配置ClickHouse 往 [Graphite](https://github.com/graphite-project)导入指标。 参考 [Graphite section](server_settings/settings.md#server_settings-graphite) 配置文件。在配置指标导出之前需要参考Graphite[官方教程](https://graphite.readthedocs.io/en/latest/install.html)搭建服务。
此外您可以通过HTTP API监视服务器可用性。 将HTTP GET请求发送到 `/`。 如果服务器可用,它将以 `200 OK` 响应。
要监视服务器集群的配置中,应设置[max_replica_delay_for_distributed_queries](settings/settings.md#settings-max_replica_delay_for_distributed_queries)参数并使用HTTP资源`/replicas-delay`。 如果副本可用,并且不延迟在其他副本之后,则对`/replicas-delay`的请求将返回200 OK。 如果副本被延迟,它将返回有关延迟信息。

View File

@ -1 +0,0 @@
../en/roadmap.md

16
docs/zh/roadmap.md Normal file
View File

@ -0,0 +1,16 @@
# 规划
## Q3 2019
- 字典表的DDL
- 与类S3对象存储集成
- 冷热数据存储分离支持JBOD
## Q4 2019
- JOIN 不受可用内存限制
- 更精确的用户资源池,可以在用户之间合理分配集群资源
- 细粒度的授权管理
- 与外部认证服务集成
[来源文章](https://clickhouse.yandex/docs/en/roadmap/) <!--hide-->

View File

@ -1 +0,0 @@
../en/security_changelog.md

View File

@ -0,0 +1,39 @@
## 修复于 ClickHouse Release 18.12.13, 2018-09-10
### CVE-2018-14672
加载CatBoost模型的功能允许遍历路径并通过错误消息读取任意文件。
来源: Yandex信息安全团队的Andrey Krasichkov
## 修复于 ClickHouse Release 18.10.3, 2018-08-13
### CVE-2018-14671
unixODBC允许从文件系统加载任意共享对象从而导致“远程执行代码”漏洞。
来源Yandex信息安全团队的Andrey Krasichkov和Evgeny Sidorov
## 修复于 ClickHouse Release 1.1.54388, 2018-06-28
### CVE-2018-14668
远程表函数功能允许在 "user", "password" 及 "default_database" 字段中使用任意符号,从而导致跨协议请求伪造攻击。
来源Yandex信息安全团队的Andrey Krasichkov
## 修复于 ClickHouse Release 1.1.54390, 2018-07-06
### CVE-2018-14669
ClickHouse MySQL客户端启用了 "LOAD DATA LOCAL INFILE" 功能该功能允许恶意MySQL数据库从连接的ClickHouse服务器读取任意文件。
来源Yandex信息安全团队的Andrey Krasichkov和Evgeny Sidorov
## 修复于 ClickHouse Release 1.1.54131, 2017-01-10
### CVE-2018-14670
deb软件包中的错误配置可能导致使用未经授权的数据库。
来源英国国家网络安全中心NCSC
[来源文章](https://clickhouse.yandex/docs/en/security_changelog/) <!--hide-->