Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f31d8dc

Browse files
committed
Merge branch 'v2.2' of https://github.com/HashDataInc/docs into v2.2
2 parents f26f619 + 1947dbb commit f31d8dc

File tree

366 files changed

+29988
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

366 files changed

+29988
-0
lines changed

.bookignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
deploy.sh
2+
build.sh
3+
.travis.yml
4+
!*.pdf

.gitignore

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Logs
2+
.DS_Store
3+
logs
4+
*.log
5+
npm-debug.log*
6+
yarn-debug.log*
7+
yarn-error.log*
8+
9+
# Runtime data
10+
pids
11+
*.pid
12+
*.seed
13+
*.pid.lock
14+
15+
# Directory for instrumented libs generated by jscoverage/JSCover
16+
lib-cov
17+
18+
# Coverage directory used by tools like istanbul
19+
coverage
20+
21+
# nyc test coverage
22+
.nyc_output
23+
24+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
25+
.grunt
26+
27+
# Bower dependency directory (https://bower.io/)
28+
bower_components
29+
30+
# node-waf configuration
31+
.lock-wscript
32+
33+
# Compiled binary addons (http://nodejs.org/api/addons.html)
34+
build/Release
35+
36+
# Dependency directories
37+
node_modules/
38+
jspm_packages/
39+
40+
# Typescript v1 declaration files
41+
typings/
42+
43+
# Optional npm cache directory
44+
.npm
45+
46+
# Optional eslint cache
47+
.eslintcache
48+
49+
# Optional REPL history
50+
.node_repl_history
51+
52+
# Output of 'npm pack'
53+
*.tgz
54+
55+
# Yarn Integrity file
56+
.yarn-integrity
57+
.idea/
58+
59+
# dotenv environment variables file
60+
.env
61+
_book/
62+
*.pdf

.travis.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
language: node_js
2+
node_js:
3+
- '8'
4+
before_script:
5+
- sudo pip install -U qsctl
6+
- npm install -g gitbook-cli markdown-link-check
7+
- sudo apt-get update -qq
8+
- sudo apt-get install -qq calibre xvfb fontconfig
9+
- echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
10+
- sudo apt-get -y install fonts-droid msttcorefonts
11+
- sudo fc-cache -f -v
12+
- echo '#!/usr/bin/env bash' | sudo tee /usr/local/bin/ebook-convert > /dev/null
13+
- echo 'xvfb-run /usr/bin/ebook-convert "$@"' | sudo tee --append /usr/local/bin/ebook-convert > /dev/null
14+
- sudo chmod a+x /usr/local/bin/ebook-convert
15+
script:
16+
- echo $PATH
17+
- fc-list :lang=zh
18+
- bash build.sh
19+
- find . -name "*.pdf"
20+
- ls _book/
21+
- 'find * -name \*.md -not -path "*node_modules*" -not -path "README.md" -not -path "*_book*" -exec echo "File: {}" \; -exec markdown-link-check {} \; | tee /tmp/checklink.txt'
22+
- grep -qv ERROR /tmp/checklink.txt
23+
after_success:
24+
- bash deploy.sh
25+
env:
26+
global:
27+
secure: nPB1zDBuDzJSS0T+LyGNvJdbL6fhmh5gH2I1+pBZxBx1i2yTuHC4NuzuUZ+s7vp54hgDKc0Q3UknICSDOw3UNFMUHkcx6i2taHO9nbRmc97cVDyJRUvO5csyIWUgJ+1fZ1KRmWS2JfaNv7aDJDWPXJqc4JKj2UuVnDE2WTkwLRHGHWws4+NY1+4MHBdnYNVtkzyqR/xXwgzPgGvtQixAHEFPX1AQ9OABqbfpoyOsotiH+1W8zYeK26Ix4n7c/ouFJkUaXZG3QpCWVkofrZBDt5CU78FlLX5Zhj3Lyn36gZLiRwh8juMMKi3DwKfcSGWjz9d0vaQsUKP8Lk/OfS3w3qiaMwoXRRqT01zRfZEEaW38WjebmBU5NiX8xtRROBXPQTlgqITNdwj4CoYx4fU3GPl4gJdjzY/aXmif3V8GtvMZR336m9KF7dghZYhNiDz+OMOa1L+TIWg1DfzwosOMH7cgA/wzq6ryPfWpdA/lpmj210GSV1njWGjTLiDanY7cLdg/hzCINiGfnkEichXk5qnv3yiGX1RZF/EG4tpciw0WxIGsRrmZk4hbjtPaFoKymjfR5b9Nf47vWblf8x2K72TadLQW2qNk8MU62st4rDTaaNSswJa6bucGLBaZTtVVaygxT6T34DoU726+j5jUtHb8nOfpM0hz/CldMVpk+fM=
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# 步骤1: 准备工作
2+
3+
在你创建第一个 HashData 数据仓库集群前,确保在这个章节中完成如下准备工作:
4+
5+
* 注册青云账号
6+
* 安装 SQL 客户端工具
7+
* 确认网络连接
8+
* 确认对象存储配额
9+
* 创建 API 秘钥
10+
11+
## 注册青云账号
12+
13+
你首先需要注册一个青云账号。如果你已经拥有了一个青云账号,那么你可以跳过这个步骤,使用已经拥有的账号进行接下来的操作。
14+
15+
1. 打开链接 [http://qingcloud.com](http://qingcloud.com),点击注册。
16+
2. 按照页面提示完成注册流程。
17+
18+
## 安装 SQL 客户端工具
19+
20+
你可以使用任何 postgres 兼容的客户端程序连接到 HashData 数据仓库,比如 psql 。此外,你还可以通过绝大部分使用标准数据库应用接口,如 JDBC,ODBC 的客户端程序连接到 HashData 数据仓库。最后,你还可以使用标准数据库应用接口开发自己的客户端程序来访问 HashData 数据仓库。由于 HashData 数据仓库基于 greenplum,而后者又是基于 postgres 而来,所以你可以直接使用 postgres 驱动访问 HashData 数据仓库。在这个教程中,我们将通过 psql 这个 postgres 的客户端程序演示如何连接到 HashData 数据仓库。
21+
22+
### 安装 psql
23+
24+
1. 如果你正在使用 Linux 操作系统,你可以使用以下命令安装 psql 。
25+
26+
```
27+
Redhat/Centos:
28+
# yum install postgresql
29+
30+
Ubuntu:
31+
# apt-get install postgresql-client
32+
```
33+
34+
2. 或者访问 [PostgreSQL 官方网站](http://postgresql.org),根据你的操作系统下载安装包。
35+
36+
## 确认网络连接
37+
38+
HashData 数据仓库使用 5432 作为服务的端口地址。
39+
40+
当你希望从云的外部访问 HashData 数据仓库服务时,你需要拥有一个公网 IP 地址,并将 公网 IP 地址绑定在主节点上。同时,你还需要配置防火墙规则。HashData 集群默认会加入 `集群缺省防火墙`, 你需要配置端口为 5432 协议为 TCP 的防火墙下行规则。
41+
42+
如果你的客户端程序运行在云的内部,那么你既不需要绑定公网 IP 地址,也不需要配置任何防火墙规则。
43+
44+
45+
## 确认对象存储配额
46+
47+
对象存储是由云厂商提供的一种高可用低成本的存储系统,HashData 使用对象存储作为数据仓库的存储系统,极大的降低了用户数据存储的成本。为了使用对象存储,用户需要确认所使用的账户拥有创建对象存储 Bucket 的权限,并且拥有创建至少一个新 Bucket 的配额。
48+
49+
如果用户没有使用对象存储的权限,或者没有足够的 Bucket 配额,创建 HashData 数据仓库集群的操作将会失败。
50+
51+
## 创建 API 秘钥
52+
53+
HashData 数据仓库使用用户提供的 API 秘钥创建和访问对象存储,因此在创建 HashData 数据仓库集群之前,请提前申请 API 秘钥。我们建议用户为每个数据仓库集群申请单独的,独占使用的 API 秘钥。
54+
55+
如果用户在创建 HashData 数据仓库时填写了错误的 API 秘钥,创建 HashData 数据仓库集群将会失败。
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# 步骤2: 启动 HashData 数据仓库样例集群
2+
3+
完成上面的前提步骤后,现在你能够开始启动一个 HashData 数据仓库集群。
4+
5+
## 启动 HashData 数据仓库集群
6+
7+
1. 建议用户创建 HashData 数据仓库专用的 API 秘钥,如果您已经有创建好 API 秘钥,可以跳过此步,示例中我们设置一个 demo 密钥,注意 demo 只是演示的示例名称并不代表密钥本身。
8+
9+
> ![](assets/hdw_main_3.png)
10+
11+
通过点击“下载”按钮,可以取得私钥,此下载链接将保留10分钟。为了保障您的安全,这是获取API私钥的唯一途径,请及时下载并妥善保管您的私钥
12+
13+
> ![](assets/hdw_main_4.png)
14+
15+
2. 登陆青云并在应用中心找到对应的产品 [数据仓库(HashData高性能MPP数据仓库)](https://appcenter.qingcloud.com/apps/app-iwacxg9z)
16+
17+
3. 点击部署到控制台,您可以选择在哪个数据中心创建你的数据仓库集群。在这个教程中,我们选择了北京3区A。
18+
19+
> ![](assets/hdw_deploy1.png)
20+
21+
4. 填写基本信息,同时您可以根据实际需求选择资源配置类型,目前包括标准版,企业版,自定义版本。标准版定义为 HashData 数据仓库集群的最小配置,开发测试或者小规模部署可以选择标准版,企业版适用于大多数生产环境。另外用户可以按需进行自定义集群配置。
22+
23+
> ![](assets/hdw_main.png)
24+
25+
5. 创建依赖资源:你需要有一个已连接到 VPC 的私有网络。如果您没有创建好依赖资源,点击创建后,可以按照提示完成下面的步骤,如果你已经有一个可用的私有网络,可以跳过此步:
26+
27+
> * 创建私有网络:计算机与网络 -> 私有网络,点击创建
28+
>
29+
> > ![](assets/create_02_private_create.png)
30+
>
31+
> * 创建 VPC 网络:计算机与网络 -> VPC网络,点击创建
32+
>
33+
> > ![](assets/create_04_vpc_create.png)
34+
>
35+
> * 连接私有网络到 VPC 网络:计算机与网络 -> VPC网络,点击创建完成的VPC网络,将上面创建完成的私有网络添加到VPC中
36+
>
37+
> > ![](assets/link_priv_vpc.png)
38+
39+
6. 设置私有网络,你可以选择具体的私有网络,同时根据实际情况选择自动分配和手动指定节点 IP, 我们选择自动分配方式为您演示。当前缺省的私有网络名称为 vxnet0
40+
41+
> ![](assets/hdw_main_1.png)
42+
43+
7. 配置服务环境参数,你可以在青云设置自己的API密钥,密钥是访问对象存储期间使用的,结合实际情况创建对应数据库用户名,密码及其设置数据库名,最后完成提交操作。
44+
45+
> ![](assets/hdw_main_2.png)
46+
47+
8. 点击提交后,会显示如下信息内容,请耐心等待
48+
49+
> ![](assets/hdw_main_5.png)
50+
51+
在 AppCenter 控制面板中,选择新创建的集群并且查看集群状态信息。在你连接数据仓库之前,一定要确认集群的状态是可用的,并且数据库的健康状态是正常
52+
53+
> ![](assets/hdw_main_6.png)
54+
55+
9. 在 AppCenter 控制面板对应配置参数位置,有您之前通过 API 密钥功能下载生成的密钥信息,以及对应的密钥私钥,请妥善保管密钥安全性,点击修改属性,您可以去修改对应 API 密钥参数属性信息
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# 步骤3: 授权连接样例集群
2+
3+
在前面的步骤中,你已经创建启动了你的 HashData 数据仓库集群。在你连接到数据仓库集群之前,你需要对上一步骤中创建的路由器进行相应的配置。
4+
5+
## 防火墙配置
6+
7+
在路由器的详情页面,点击选用的防火墙进入其详情页面,添加一条打开 5432 端口的下行规则,如下所示:
8+
9+
![](assets/firewall.png)
10+
11+
这条下行规则允许你的 SQL 客户端工具能够访问路由器的 5432 端口。
12+
13+
## 配置公网 IP
14+
15+
如果你的 SQL 客户端不在青云的网络里,你还需要申请一个公网 IP 地址,并绑定到数据仓库集群的主节点。从云内部访问 HashData 数据仓库集群不需要绑定公网 IP。
16+
17+
![](assets/create_elastic_ip.png)
18+
19+
将公网 IP 绑定到数据仓库:
20+
21+
![](assets/hdw_external_ip.png)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# 步骤4: 连接样例集群
2+
3+
现在你可以通过 SQL 客户端工具连接到你的数据仓库集群,并且跑一条简单的查询语句来测试连接。你能够使用几乎所有与 postgres 兼容的 SQL 客户端工具。在这个教程中,你将使用在准备工作中安装的 postgres 自带的 psql 客户端。
4+
5+
## 确定连接 IP 地址和端口
6+
7+
数据仓库集群的 IP 地址可由配置公网 IP 步骤中确定。在剩下的教程中,我们用 121.201.25.29 作为例子。在集群主控制台,选择 examplecluster 进入详情页面。从详情页面中,你能看到端口:5432。
8+
9+
## 使用 psql 连接到集群
10+
11+
你可以通过下面命令连接到集群:
12+
13+
```
14+
psql -d postgres -h 121.201.25.29 -p 5432 -U admin
15+
```
16+
17+
然后根据提示输入登陆密码。
18+
19+
## 简单测试查询
20+
21+
登陆数据仓库后,你可以运行如下命令做一些简单的测试查询:
22+
23+
```
24+
postgres=# CREATE TABLE foo (a INT, b INT);
25+
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
26+
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
27+
CREATE TABLE
28+
postgres=# INSERT INTO foo (SELECT i, i + 1 FROM generate_series(1, 10000) AS i);
29+
INSERT 0 10000
30+
postgres=# SELECT COUNT(*) FROM foo;
31+
32+
## count
33+
34+
10000
35+
(1 row)
36+
37+
postgres=# SELECT SUM(a) FROM foo;
38+
39+
## sum
40+
41+
50005000
42+
(1 row)
43+
```

0 commit comments

Comments
 (0)