This is an automated email from the ASF dual-hosted git repository. yaqian pushed a commit to branch kylin4_on_cloud in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/kylin4_on_cloud by this push: new d122460 Modify docs (#1838) d122460 is described below commit d122460ee5e18b47306bf4dd808b9d36419388ee Author: Yaqian Zhang <598593...@qq.com> AuthorDate: Wed Mar 30 09:49:18 2022 +0800 Modify docs (#1838) --- images/check_role_permission.png | Bin 0 -> 134746 bytes images/check_user_permission.png | Bin 0 -> 92931 bytes images/create_role.png | Bin 0 -> 119270 bytes readme/commands.md | 2 +- readme/configs.md | 48 ++++++ readme/prepare_files_manually.md | 74 +++++++++ readme/prerequisites.md | 233 ++++++---------------------- readme/quick_start.md | 25 +-- readme/quick_start_for_multiple_clusters.md | 8 +- 9 files changed, 187 insertions(+), 203 deletions(-) diff --git a/images/check_role_permission.png b/images/check_role_permission.png new file mode 100644 index 0000000..4e6dc72 Binary files /dev/null and b/images/check_role_permission.png differ diff --git a/images/check_user_permission.png b/images/check_user_permission.png new file mode 100644 index 0000000..ddff924 Binary files /dev/null and b/images/check_user_permission.png differ diff --git a/images/create_role.png b/images/create_role.png new file mode 100644 index 0000000..c838a79 Binary files /dev/null and b/images/create_role.png differ diff --git a/readme/commands.md b/readme/commands.md index 49b80dc..7bca88f 100644 --- a/readme/commands.md +++ b/readme/commands.md @@ -19,7 +19,7 @@ python deploy.py --type [deploy|destroy|list|scale] --scale-type [up|down] --nod > 1. Current support to scale up/down `kylin` or `spark_worker` for a specific cluster. > 2. Before scaling up/down `kylin` or `spark_worker` nodes, Cluster services must be ready. > 3. If you want to scale a `kylin` or `spark_worker` node to a specified cluster, please add the `--cluster ${cluster ID}` to specify the expected node add to the cluster `${cluster ID}`. - > 4. For details about the index of the cluster, please check [Indexes of clusters](./prerequisites.md#indexofcluster). + > 4. For details about the index of the cluster, please check [Indexes of clusters](./configs.md#indexofcluster). ### Command for deploy diff --git a/readme/configs.md b/readme/configs.md new file mode 100644 index 0000000..b3281f7 --- /dev/null +++ b/readme/configs.md @@ -0,0 +1,48 @@ +## Configs + +#### I. Configure the `kylin_configs.yaml` + +**Required parameters**: + +- `AWS_REGION`: Current region for EC2 instances. +- `IAMRole`: IAM role which has the access to aws authority. This parameter will be set to the created **name** of the IAM role. +- `S3_URI`: the prefix path of storing `jars/scripts/tar`. For example, this parameter will be set to `s3://.../kylin4-aws-test`. +- `KeyName`: Security key name is a set of security credentials that you use to prove your identity when connecting to an instance. This parameter will be set to the created **name** of key pair`. +- `CIDR_IP`: An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or the instances associated with the specified security group. +- `DB_IDENTIFIER`: this param should be only one in the `RDS -> Databases`. And it will be the name of created RDS database. +- `DB_PORT`: this param will be the port of created RDS database, default is `3306`. +- `DB_USER`: this param will be a login ID for the master user of your DB instance, the default is `root`. +- `DB_PASSWORD`: this param will be the password of `DB_USER` to access the DB instance. default is `123456test`, it's strongly suggested you change it. + +#### II. Configure the `kylin.properties` in `backup/properties` directories.<a name="cluster"></a> + +> About the indexes of clusters:<a name="indexofcluster"></a> +> +> 1. **Tool will deploy a cluster which will mark to `default` if a user does not specify a cluster to deploy.** +> 2. The range of cluster indexes must be in `CLUSTER_INDEXES` which is configured in the `kylin_configs.yml`. +> 3. **`CLUSTER_INDEXES` is for users to create multiple clusters as READ-WRITE separation mode**, such as a user may want to create 2 query nodes of Kylin and 2 job nodes of Kylin. +> 1. User can modify the `CLUSTER_INDEXES` to be `(1, 3)`, then as following steps of this module to modify the `kylin.properties` file for clusters. +> 2. User can mark the Kylin node of the `default` cluster to be `query` mode and the Kylin node of the cluster whose index is `1` to be `query` mode. User can mark the Kylin node of the cluster which index is `2` to be `job` mode and the Kylin node of the cluster which index is `3` to job mode. +> 3. User can also modify the `CLUSTER_INDEXES` to be `(1, 4)`, and mark the Kylin node of clusters whose index is `1` and `2` to be `query` mode and the Kylin node of clusters whose index is `3` and `4` to be `job` mode. Just don't use `default` to mark a cluster and execute exactly deploy cluster commands. For details about commands, please check to [deploy multiple clusters](./Commands.md#deploycluster). +> 4. The list of mark name for clusters will be [`default`, `{cluster ID}` ...] and `{cluster ID}` is in the range of `CLUSTER_INDEXES`. +> 5. For example, if `CLUSTER_INDEXES` is (1, 3) means that tool can deploy a cluster and it can be marked as `default` or `1` or `2` or `3`. And tool can execute to deploy total 1(`default`) + 3(clusters which mark name can be `1`, `2`, `3`) = 4 clusters. +> 6. Every cluster contains 3 `Zookeepers Node`, 1 `Kylin Node`, 1 `Spark Master Node,` and 3 `Spark Slaves Node` after deployed and it can scale needed nodes of Kylin and Spark workers. +> 7. **The difference between clusters only can be the index or customized configs of EC2 instances or customized properties of Kylin (and spark and zookeeper).** + + + +1. The `kylin.properties` is for starting kylin instance in the cluster. +2. The default cluster will check the `kylin.properties` in the `backup/properties/default`, and other specific clusters will check the related num directory such as `1`, `2,` and `3`. +3. User needs to create a new dir for the cluster ID in `backup/properties`, and name it to the `${cluster ID}`, such as `1`, `2` ,`3` and so on. +4. Following the step `2`, copy the `kylin.properties.template` which is in `backup/properties/templates` to the related `${cluster ID} ` directories, and rename the template to `kylin.properties`. +5. The range of cluster IDs must match the config `CLUSTER_INDEXES`, such as `CLUSTER_INDEXES: (1, 3)` then the directories must be `1`, `2`,`3` in the `backup/properties`. + + + +6. Customize the config which you want to change except the config which contains `{{ }}` mark. + +7. If the related `kylin.properties` was filled with cluster information, a file named `.rendered` will create in the directory. + + + +8. **(Important !!!)** If you want to re-fill the `kylin.properties` for a `kylin` node in a specific cluster, you need to remove the `.rendered` file and re-copy the `kylin.propertie.template`. Redo steps from `3` to `6`. \ No newline at end of file diff --git a/readme/prepare_files_manually.md b/readme/prepare_files_manually.md new file mode 100644 index 0000000..8a87b71 --- /dev/null +++ b/readme/prepare_files_manually.md @@ -0,0 +1,74 @@ +## Prepare files manually + +#### **(Optional)** II. Manually Download packages & Upload them to the S3 path which suffix is `*/tar` + +> Note: +> +> This step will automatically do by tools. So you can skip this step, or you want to check packages by yourself. + + + +> Create the directory named `tar` **in the path which was created by yourself**. For example, the full path would be `s3://.../kylin4-aws-test/tar`. +> + +1. Download the Kylin4 package on the [official website](https://kylin.apache.org/download/). +2. Download Hadoop, [version 3.2.0](https://archive.apache.org/dist/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz). +3. Download Spark with hadoop3.2, [version 3.1.1](https://archive.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz). +4. Download Hive, [version 2.3.9](https://archive.apache.org/dist/hive/hive-2.3.9/apache-hive-2.3.9-bin.tar.gz). +5. Download Zookeeper, [version 3.4.9.](https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz) +6. Download JDK, [version 1.8_301](https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html). +7. Download Node Exporter, [version 1.3.1.](https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz) +8. Download Prometheus Server, [version 2.31.1](https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz). +9. Download the Kylin4 package with local cache + soft affinity feature by the [public website.](https://s3.cn-north-1.amazonaws.com.cn/public.kyligence.io/kylin/tar/apache-kylin-4.0.0-bin-spark3-soft.tar.gz) + + + +> Note: +> If you want to use Kylin4 with a local cache + soft affinity feature, please download the `experimental` package above. + + + + + +#### (Optional) III. Upload `backup/jars/*` to the S3 Path which suffix is `*/jars` + +> Note: +> +> This step will automatically do by tools. So you can skip this step, or you want to check jars by yourself. + + + +> Create the directory named `jars` **in the path which was created by yourself**. For example, the full path would be `s3://.../kylin4-aws-test/jars`. +> + +Kylin4 needed extra jars + +- Basic jars + - commons-configuration-1.3.jar + - mysql-connector-java-5.1.40.jar +- Local Cache + Soft Affinity feature needed jars + - alluxio-2.6.1-client.jar + - kylin-soft-affinity-cache-4.0.0-SNAPSHOT.jar + + + +#### (Optional) IV. Upload `backup/scripts/*` to the S3 Path which suffix is `*/scripts` + +> Note: +> +> This step will automatically do by tools. So you can skip this step, or you want to check scripts by yourself. + + + +> Create the directory named `scripts` **in the path which was created by yourself**. For example, the full path would be `s3://.../kylin4-aws-test/scripts`. +> + +Scripts: + +- prepare-ec2-env-for-kylin4.sh +- prepare-ec2-env-for-spark-master.sh +- prepare-ec2-env-for-spark-slave.sh +- prepare-ec2-env-for-static-services.sh +- prepare-ec2-env-for-zk.sh + + diff --git a/readme/prerequisites.md b/readme/prerequisites.md index 2a6497d..400f62d 100644 --- a/readme/prerequisites.md +++ b/readme/prerequisites.md @@ -1,41 +1,12 @@ -## Prerequisites +## Prerequisites -### Download source code & checkout to a branch of `kylin4_on_cloud` +### I. Check user permission -commands: +Login AWS account and check whether the current user has sufficient permissions in AWS IAM service: -```shell -git clone https://github.com/apache/kylin.git && cd kylin && git checkout kylin4_on_cloud -``` - -### Initiliaze an AWS Account - -#### I. Create an `IAM` role<a name="IAM"></a> + -> Note: -> -> `IAM` role must have the access which contains `AmazonEC2RoleforSSM`, `AmazonSSMFullAccess,` and `AmazonSSMManagedInstanceCore`, and `AWSGlueConsoleFullAccess` (this role is needed if you want to use glue). -> -> This `IAM` Role will be used to initialize every ec2 instances which is for creating a kylin4 cluster on AWS. And it will configure in `Initialize Env of Local Machine` part. - - - -> Q: Why should need an `IAM` role? -> -> A: -> -> 1. At first, the `IAM` role is an IAM identity that you can create in your account that has specific permissions. -> 1. An IAM role does not have standard long-term credentials such as a password or access keys associated with it. Instead, when you assume a role, it provides you with temporary security credentials for your role session. -> 1. The access will not cost money. The cost will depend on what you using on S3 and EC2 instances. -> 1. For more details about `IAM`, please visit the [official website](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) by aws. - - - -#### II. Create a `User` - -> Note: -> -> The `User` who is created in aws will be used to execute some operations on an EC2 instance. So the `User` must have some authority as below. +If the current user lacks some permissions listed below, you need to add the permissions to ensure that the current user can carry out subsequent operations smoothly: | Services | Access level | Resources | Request condition | | ------------------- | ------------------------------------------------------ | ------------- | ----------------- | @@ -48,145 +19,90 @@ git clone https://github.com/apache/kylin.git && cd kylin && git checkout kylin4 | **STS** | **Limited**: Write | All Resources | None | | **Systems Manager** | **Limited**: Write | All Resources | None | - - -> Q: What's the relationship between the `User` and `IAM` role? -> -> A: -> -> 1. With `IAM` roles, you can establish trust relationships between your ***trusting*** account and other AWS ***trusted*** accounts. -> 1. A `User` is an account. -> 1. The establishment of the relationship will cost nothing. -> 1. The cost majorly depends on what you are using on S3 and EC2 instances. - - - -#### III. Login the created `User` to create key pair and Access Key<a name="keypair"></a> +### II. Create key pair and Access Key<a name="keypair"></a> > Note: > > To deploy EC2 instances for Kylin4 Cluster need key pair and access key. -##### 1. Create a new `Key Pair` in the `EC2 -> Key pairs` +#### 1. Create a new `Key Pair` in the `EC2 -> Key pairs`  -##### 2. Generate a new `Access Key` in the `My Security Credentials` +#### 2. Generate a new `Access Key` in the `My Security Credentials` -> Note: +> Note: > > Please download the generated CSV file of `Access Key` immediately. Get > the `Access Key` and `Secret Key` to initialize local machine to access aws.  - -  -##### (!!!Important)IV. Make sure current account has 32 vCpu at least - -The current tool will deploy a cluster by EC2 instances, and `2 cores * 3(for zookeeper) + 2 cores(for monitor services) + 4 cores * 3(for spark slaves) + 4 cores(for spark master) + 4 cores (for kylin)=28 ` cpus to create instances in default. - -> Note: **32 vCPUS is the limit of an default aws account.** - -**User can check this quota limit in the limit of EC2 dashborad.** +### III. Create an `IAM` role<a name="IAM"></a> - +Create a role in AWS IAM service to provide temporary access credentials with specific permissions in EC2 nodes created later: + +Add permissions policies `AmazonEC2RoleforSSM`, `AmazonSSMFullAccess,` and `AmazonS3FullAccess`, and `AWSGlueConsoleFullAccess` for this role: -For more details about user current limit, please check [View your current limits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html). + -### Initialize a S3 direcotry<a name="S3"></a> - -#### I. Create a directory on S3 - -> Note: > -> This directory will store tars, scripts, and jars below. And it will also be the root path of working dir for kylin4. - -Example: make a directory named `kylin4-aws-test`. You can also create a directory named what you like. - - - - +> This `IAM` Role will be used to initialize every ec2 instances which is for creating a kylin4 cluster on AWS. And it will configure in `Initialize Env of Local Machine` part. -#### **(Optional)** II. Manually Download packages & Upload them to the S3 path which suffix is `*/tar` -> Note: +> Q: Why should need an `IAM` role? > -> This step will automatically do by tools. So you can skip this step, or you want to check packages by yourself. - - - -> Create the directory named `tar` **in the path which was created by yourself**. For example, the full path would be `s3://.../kylin4-aws-test/tar`. +> A: > +> 1. At first, the `IAM` role is an IAM identity that you can create in your account that has specific permissions. +> 2. An IAM role does not have standard long-term credentials such as a password or access keys associated with it. Instead, when you assume a role, it provides you with temporary security credentials for your role session. +> 3. The access will not cost money. The cost will depend on what you using on S3 and EC2 instances. +> 4. For more details about `IAM`, please visit the [official website](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) by aws. -1. Download the Kylin4 package on the [official website](https://kylin.apache.org/download/). -2. Download Hadoop, [version 3.2.0](https://archive.apache.org/dist/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz). -3. Download Spark with hadoop3.2, [version 3.1.1](https://archive.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz). -4. Download Hive, [version 2.3.9](https://archive.apache.org/dist/hive/hive-2.3.9/apache-hive-2.3.9-bin.tar.gz). -5. Download Zookeeper, [version 3.4.9.](https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz) -6. Download JDK, [version 1.8_301](https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html). -7. Download Node Exporter, [version 1.3.1.](https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz) -8. Download Prometheus Server, [version 2.31.1](https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz). -9. Download the Kylin4 package with local cache + soft affinity feature by the [public website.](https://s3.cn-north-1.amazonaws.com.cn/public.kyligence.io/kylin/tar/apache-kylin-4.0.0-bin-spark3-soft.tar.gz) - - - -> Note: -> If you want to use Kylin4 with a local cache + soft affinity feature, please download the `experimental` package above. - - - - - -#### (Optional) III. Upload `backup/jars/*` to the S3 Path which suffix is `*/jars` -> Note: +> Q: What's the relationship between the `User` and `IAM` role? +> +> A: > -> This step will automatically do by tools. So you can skip this step, or you want to check jars by yourself. +> 1. With `IAM` roles, you can establish trust relationships between your ***trusting*** account and other AWS ***trusted*** accounts. +> 1. A `User` is an account. +> 1. The establishment of the relationship will cost nothing. +> 1. The cost majorly depends on what you are using on S3 and EC2 instances. +### (!!!Important)IV. Make sure current account has 32 vCpu at least -> Create the directory named `jars` **in the path which was created by yourself**. For example, the full path would be `s3://.../kylin4-aws-test/jars`. -> +The current tool will deploy a cluster by EC2 instances, and `2 cores * 3(for zookeeper) + 2 cores(for monitor services) + 4 cores * 3(for spark slaves) + 4 cores(for spark master) + 4 cores (for kylin)=28 ` cpus to create instances in default. -Kylin4 needed extra jars +> Note: **32 vCPUS is the limit of an default aws account.** -- Basic jars - - commons-configuration-1.3.jar - - mysql-connector-java-5.1.40.jar -- Local Cache + Soft Affinity feature needed jars - - alluxio-2.6.1-client.jar - - kylin-soft-affinity-cache-4.0.0-SNAPSHOT.jar +**User can check this quota limit in the limit of EC2 dashborad.** - + -#### (Optional) IV. Upload `backup/scripts/*` to the S3 Path which suffix is `*/scripts` -> Note: -> -> This step will automatically do by tools. So you can skip this step, or you want to check scripts by yourself. +For more details about user current limit, please check [View your current limits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html). +### V. Create a S3 direcotry<a name="S3"></a> +Create a S3 directory as the working directory for deploying kylin cluster: -> Create the directory named `scripts` **in the path which was created by yourself**. For example, the full path would be `s3://.../kylin4-aws-test/scripts`. +> Note: > +> This directory will store tars, scripts, and jars below. And it will also be the root path of working dir for kylin4. -Scripts: +Example: create a directory named `kylin4-aws-test`. You can also create a directory named what you like. -- prepare-ec2-env-for-kylin4.sh -- prepare-ec2-env-for-spark-master.sh -- prepare-ec2-env-for-spark-slave.sh -- prepare-ec2-env-for-static-services.sh -- prepare-ec2-env-for-zk.sh + - +During deployment, the required jar packages and other files will be automatically downloaded to this S3 directory, and users do not need to operate by themselves. +If you want to prepare files in S3 directory manually, please check [Prepare files manually](./prepare_files_manually.md) -### Initialize Env Of Local Machine -#### I. Initilize an aws account on local machine to access AWS<a name="localaws"></a> +### VI. Initilize an aws account on local machine to access AWS<a name="localaws"></a> > Use `Access Key` and `Secret Key` above to Initialize an AWS account on a > local machine. @@ -194,7 +110,7 @@ Scripts: $ aws configure AWS Access Key ID : ************* AWS Secret Access Key : ************* -Default region name : cn-northwest-1 +Default region name : ${region_name} Default output format : json ``` @@ -202,64 +118,3 @@ Default output format : json > > 1. If this command got the response `-bash: aws: command not found`, please > check in [Getting started with the AWS > CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html). > 2. Region name can be in [Available > Regions](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions). > The default output format is `json`. - -#### II. Init a Python virtual env - -> Note: -> -> Make sure that your machine already has a Python which version is 3.6.6 or later. - -commands: - -```shell -$ bin/init.sh -``` - -> Note: Follow the information after `bin/init.sh` to activate the python virtual env. - -#### III. Configure the `kylin_configs.yaml` - -**Required parameters**: - -- `AWS_REGION`: Current region for EC2 instances. -- `IAMRole`: IAM role which has the access to aws authority. This parameter will be set to the created **name** of the IAM role. -- `S3_URI`: the prefix path of storing `jars/scripts/tar`. For example, this parameter will be set to `s3://.../kylin4-aws-test`. -- `KeyName`: Security key name is a set of security credentials that you use to prove your identity when connecting to an instance. This parameter will be set to the created **name** of key pair`. -- `CIDR_IP`: An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or the instances associated with the specified security group. -- `DB_IDENTIFIER`: this param should be only one in the `RDS -> Databases`. And it will be the name of created RDS database. -- `DB_PORT`: this param will be the port of created RDS database, default is `3306`. -- `DB_USER`: this param will be a login ID for the master user of your DB instance, the default is `root`. -- `DB_PASSWORD`: this param will be the password of `DB_USER` to access the DB instance. default is `123456test`, it's strongly suggested you change it. - -#### IV. Configure the `kylin.properties` in `backup/properties` directories.<a name="cluster"></a> - -> About the indexes of clusters:<a name="indexofcluster"></a> -> -> 1. **Tool will deploy a cluster which will mark to `default` if a user does not specify a cluster to deploy.** -> 2. The range of cluster indexes must be in `CLUSTER_INDEXES` which is configured in the `kylin_configs.yml`. -> 3. **`CLUSTER_INDEXES` is for users to create multiple clusters as READ-WRITE separation mode**, such as a user may want to create 2 query nodes of Kylin and 2 job nodes of Kylin. -> 1. User can modify the `CLUSTER_INDEXES` to be `(1, 3)`, then as following steps of this module to modify the `kylin.properties` file for clusters. -> 2. User can mark the Kylin node of the `default` cluster to be `query` mode and the Kylin node of the cluster whose index is `1` to be `query` mode. User can mark the Kylin node of the cluster which index is `2` to be `job` mode and the Kylin node of the cluster which index is `3` to job mode. -> 3. User can also modify the `CLUSTER_INDEXES` to be `(1, 4)`, and mark the Kylin node of clusters whose index is `1` and `2` to be `query` mode and the Kylin node of clusters whose index is `3` and `4` to be `job` mode. Just don't use `default` to mark a cluster and execute exactly deploy cluster commands. For details about commands, please check to [deploy multiple clusters](./Commands.md#deploycluster). -> 4. The list of mark name for clusters will be [`default`, `{cluster ID}` ...] and `{cluster ID}` is in the range of `CLUSTER_INDEXES`. -> 5. For example, if `CLUSTER_INDEXES` is (1, 3) means that tool can deploy a cluster and it can be marked as `default` or `1` or `2` or `3`. And tool can execute to deploy total 1(`default`) + 3(clusters which mark name can be `1`, `2`, `3`) = 4 clusters. -> 6. Every cluster contains 3 `Zookeepers Node`, 1 `Kylin Node`, 1 `Spark Master Node,` and 3 `Spark Slaves Node` after deployed and it can scale needed nodes of Kylin and Spark workers. -> 7. **The difference between clusters only can be the index or customized configs of EC2 instances or customized properties of Kylin (and spark and zookeeper).** - - - -1. The `kylin.properties` is for starting kylin instance in the cluster. -2. The default cluster will check the `kylin.properties` in the `backup/properties/default`, and other specific clusters will check the related num directory such as `1`, `2,` and `3`. -3. User needs to create a new dir for the cluster ID in `backup/properties`, and name it to the `${cluster ID}`, such as `1`, `2` ,`3` and so on. -4. Following the step `2`, copy the `kylin.properties.template` which is in `backup/properties/templates` to the related `${cluster ID} ` directories, and rename the template to `kylin.properties`. -5. The range of cluster IDs must match the config `CLUSTER_INDEXES`, such as `CLUSTER_INDEXES: (1, 3)` then the directories must be `1`, `2`,`3` in the `backup/properties`. - - - -6. Customize the config which you want to change except the config which contains `{{ }}` mark. - -7. If the related `kylin.properties` was filled with cluster information, a file named `.rendered` will create in the directory. - - - -8. **(Important !!!)** If you want to re-fill the `kylin.properties` for a `kylin` node in a specific cluster, you need to remove the `.rendered` file and re-copy the `kylin.propertie.template`. Redo steps from `3` to `6`. \ No newline at end of file diff --git a/readme/quick_start.md b/readme/quick_start.md index 4f88b6a..7311c2b 100644 --- a/readme/quick_start.md +++ b/readme/quick_start.md @@ -7,7 +7,7 @@ ## Quick Start -1. Initialize aws account credential on the local machine, please check [details](./prerequisites.md#localaws). +1. Initialize aws account credential on the local machine according to [prerequisites](./prerequisites.md). 2. Download the source code: @@ -17,13 +17,13 @@ 3. Modify the `kylin_config.yml`. - 1. Set the `AWS_REGION`. + 1. Set the `AWS_REGION`, such as us-east-1. - 2. Set the `IAMRole`, please check the [details](./prerequisites.md#IAM). + 2. Set the `IAMRole`, please check [Create an IAM role](./prerequisites.md#IAM). - 3. Set the `S3_URI`, please check [details](./prerequisites.md#S3). + 3. Set the `S3_URI`, please check [Create a S3 direcotry](./prerequisites.md#S3). - 4. Set the `KeyName`, please check [details](./prerequisites.md#keypair). + 4. Set the `KeyName`, please check [Create a keypair](./prerequisites.md#keypair). 5. Set the `CIDR_IP`, make sure that the `CIDR_IP` match the pattern `xxx.xxx.xxx.xxx/16[|24|32]`. @@ -33,13 +33,20 @@ > > 2. In one word, it will let your mac which IP is in the `CIDR_IP` to access instances. -4. Init local env. +4. Init python env. ```shell $ bin/init.sh +$ source venv/bin/activate ``` -> Note: Following the information into a python virtual env and get the help messages. +Check the python version: + +```shell +$ python --version +``` + +> Note: If Python is already installed locally, you need to ensure that the python version is 3.6.6 or later. 5. Execute commands to deploy a cluster quickly. @@ -51,8 +58,8 @@ After this cluster is ready, you will see the message `Kylin Cluster already sta > Note: > -> 1. For more details about the properties of kylin4 in a cluster, please check [configure kylin.properties](./prerequisites.md#cluster). -> 2. For more details about the index of the clusters, please check [Indexes of clusters](./prerequisites.md#indexofcluster). +> 1. For more details about the properties of kylin4 in a cluster, please check [configure kylin.properties](./configs.md#cluster). +> 2. For more details about the index of the clusters, please check [Indexes of clusters](./configs.md#indexofcluster). 6. Execute commands to list nodes of the cluster. diff --git a/readme/quick_start_for_multiple_clusters.md b/readme/quick_start_for_multiple_clusters.md index 14ee9a7..fd18836 100644 --- a/readme/quick_start_for_multiple_clusters.md +++ b/readme/quick_start_for_multiple_clusters.md @@ -8,17 +8,17 @@ > > 1. `CLUSTER_INDEXES` means that cluster index is in the range of `CLUSTER_INDEXES`. > 2. Configs for multiple clusters are also from `kylin_configs.yaml`. - > 3. For more details about the index of the clusters, please check [Indexes of clusters](./prerequisites.md#indexofcluster). + > 3. For more details about the index of the clusters, please check [Indexes of clusters](./configs.md#indexofcluster). -2. Copy `kylin.properties.template` for expecting clusters to deploy, please check the [details](./prerequisites.md#cluster). +2. Copy `kylin.properties.template` for expecting clusters to deploy, please check the [details](./configs.md#cluster). -3. Execute commands to deploy `all` clusters. +3. Execute commands to deploy all of the clusters. ```shell python deploy.py --type deploy --cluster all ``` -4. Destroy all clusters. +4. Destroy all of the clusters. ```shell python deploy.py --type destroy --cluster all