diff --git a/docs/en_US/ch1/DataSphereStudio_Compile_Manual.md b/docs/en_US/ch1/DataSphereStudio_Compile_Manual.md deleted file mode 100644 index d1b5408a2..000000000 --- a/docs/en_US/ch1/DataSphereStudio_Compile_Manual.md +++ /dev/null @@ -1,61 +0,0 @@ -## 1. Compile DSS: - - After getting the project code from git, use Maven to package the project installation package。 - - (1) You can modify the versions of linkis, Java, Scala, Maven and other software in the top-level pom.xml file to adapt to your company's environment, as follows: - -```xml - - 0.9.1 - 0.9.4 - 2.11.8 - 1.8 - 3.3.3 - -``` - - (2) **If you are using pom.xml locally for the first time, you must execute the following command in the directory of the outermost project pom.xml**: - -```bash - mvn -N install -``` - - (3) Execute the following command in the directory of the outermost project pom.xml - -```bash - mvn clean install -``` - - (4) Obtain the installation package in the assembly - > target directory of the project: - -``` - wedatasphere-dss-x.x.x-dist.tar.gz -``` - -## 2.Compile a single service - - After getting the project code from git, use Maven to package the project installation package. - -(1) **If you are using pom.xml locally for the first time, you must execute the following command in the directory of the outermost project pom.xml**: - -```bash - mvn -N install -``` - -(2) Jump to the corresponding module through the command line in terminal, for example: - -```bash - cd dss-server -``` - -(3) Execute the compilation command under the pom.xml directory corresponding to the module: - -```bash - mvn clean install -``` - -(4) Get the installation package. There will be compiled packages in the target directory of the corresponding module: - -``` - dss-server.zip -``` \ No newline at end of file diff --git a/docs/en_US/ch2/Azkaban_LinkisJobType_Deployment_Manual.md b/docs/en_US/ch2/Azkaban_LinkisJobType_Deployment_Manual.md deleted file mode 100644 index 33cb3808c..000000000 --- a/docs/en_US/ch2/Azkaban_LinkisJobType_Deployment_Manual.md +++ /dev/null @@ -1,45 +0,0 @@ -> This article mainly explains the automatic deployment and installation steps of Linkis's Azkaban's jobType. For manual installation, please refer to Azkaban's jobType [installation steps](https://azkaban.github.io/azkaban/docs/latest/#job-types) - - -## 1. Ready work -1.Click [release](https://github.com/WeBankFinTech/DataSphereStudio/releases/download/0.8.0/linkis-jobtype-0.8.0.zip) to select the corresponding installation package to download: - -- linkis-jobtype-$version.zip - -2.Extract the installation package -``` -unzip linkis-jobtype-$version.zip -``` -## 2. Change setting -1.Enter the bin directory: - -``` -cd linkis/bin/ -``` -2.Change setting: -``` -##Linkis gateway url -LINKIS_GATEWAY_URL=http://127.0.0.1:9001 ## Linkis' GateWay address - -##Linkis gateway token defaultWS-AUTH -LINKIS_GATEWAY_TOKEN=WS-AUTH ## Linkis proxy token, this parameter can use the default - -##Azkaban executor host -AZKABAN_EXECUTOR_HOST=127.0.0.1 ## AZKABAN actuator machine IP - -### SSH Port -SSH_PORT=22 ## SSH port - -##Azkaban executor dir -AZKABAN_EXECUTOR_DIR=/tmp/Install/AzkabanInstall/executor ## The installation directory of the actuator - -##Azkaban executor plugin reload url (请注意:Azkaban的执行器地址,不是Azkaban的webServer地址) -AZKABAN_EXECUTOR_URL=http://127.0.0.1:12321/executor?action=reloadJobTypePlugins ##Only need to modify the IP and port here -``` -## 3. Execute the installation script -``` -sh install.sh -``` -If the installation is successful, it will print: -```{"status":"success"}``` - diff --git a/docs/en_US/ch2/DSS Quick Installation Guide.md b/docs/en_US/ch2/DSS Quick Installation Guide.md deleted file mode 100644 index bc3688635..000000000 --- a/docs/en_US/ch2/DSS Quick Installation Guide.md +++ /dev/null @@ -1,407 +0,0 @@ -# How to quickly install and use DataSphereStudio - -## DataSphereStudio installation involves both frontend and backend separately. You should prepare the installation environment before installation. - -## First: Determine your installation environment. - -Due to the richness of its components, DataSphereStudio can be installed as a simple version or a standard version, different with other softwares. The differences are mentioned as below: - -1. **Simple Version** -Minimal environment dependencies and only basic components need to be prepared:[Linkis](https://github.com/WeBankFinTech/Linkis)、JAVA、MYSQL、[Nginx](https://www.nginx.com/). Then you can immediately enjoy the integrated Scriptis(for data development), real-time workflow execution, visualization, email delivery, datacheck and eventcheck services. Click to enter the [simple version DSS environment configuration preparation](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/en_US/ch2/DSS%20Quick%20Installation%20Guide.md#second-simple-version-dss-environment-configuration) - -2. **Standard Version** -DSS also implements the integration of many external systems, such as [Qualitis](https://github.com/WeBankFinTech/Qualitis) and [Azkaban](https://github.com/azkaban/azkaban). If you want to use these external systems, you need to install and start the Qualities and Azkaban services before installing the simple version, and ensure that they can provide services properly. The IP and port of the corresponding service should be specified in the configuration. Click me to enter the [standard version DSS environment configuration preparation](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/en_US/ch2/DSS%20Quick%20Installation%20Guide.md#three-standard-dss-environment-configuration-preparation) - -## Second: Simple version DSS environment configuration - -DSS environment configuration can be divided into three steps, including basic software installation, backend environment configuration, and frontend environment configuration. The details are as below: - -### 2.1 Frontend and backend basic software installation -Linkis standard version (above 0.9.4). How to install [Linkis](https://github.com/WeBankFinTech/Linkis/blob/master/docs/en_US/ch1/deploy.md) - -JDK (above 1.8.0_141). How to install [JDK](https://www.runoob.com/java/java-environment-setup.html) - -MySQL (5.5+). How to Install [MySQL](https://www.runoob.com/mysql/mysql-install.html) - -Nginx. How to Install [Nginx](https://www.tecmint.com/install-nginx-on-centos-7/) - -### 2.2 BackEnd environment configuration -### a. User creation -- For example: the deployment user is hadoop. -Create a deployment user on the deployment machine and use this user for installation. -``` - sudo useradd hadoop -``` -(Note: It is better for users to gain sudo permission and login to the machine without password). [How to configure SSH passwordless login](https://www.jianshu.com/p/0922095f69f3) - -### b. Installation package preparation -On the DSS release page [click here to enter the download page](https://github.com/WeBankFinTech/DataSphereStudio/releases), download the corresponding installation package. First decompress the installation package to the installation directory and then modify the configuration of the decompressed file - - tar -xvf wedatasphere-dss-x.x.x-dist.tar.gz - -**Note: If the installation package was compiled by the user, you need to copy the [visualis-server](https://github.com/WeBankFinTech/Visualis/releases) installation package to the share/visualis-server folder in the DSS installation directory for automated installation.** - -### c. Modify the basic configuration - -``` - vi conf/config.sh -``` - -```properties - - deployUser=hadoop #Specify the deployment user - - DSS_INSTALL_HOME=/appcom/Install/DSS #Specify the DSS installation directory - - EUREKA_INSTALL_IP=127.0.0.1 #Linkis EUREKA Service host IP address - - EUREKA_PORT=20303 #Linkis EUREKA Service port number - - WORKSPACE_USER_ROOT_PATH=file:///tmp/Linkis #Specify the user's root directory to store the user's script files and log files. This is the user's working space. - RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis #Result set file path, used to store the result set file of the job - - #Used for DATACHECK - HIVE_META_URL=jdbc:mysql://127.0.0.1:3306/linkis?characterEncoding=UTF-8 - HIVE_META_USER=xxx - HIVE_META_PASSWORD=xxx -``` -### d. Modify database configuration -```bash - vi conf/db.sh -``` - -```properties - #Set the database connection information of DSS-Server and Eventchecker AppJoint. - MYSQL_HOST= - MYSQL_PORT= - MYSQL_DB= - MYSQL_USER= - MYSQL_PASSWORD= -``` - -## 2.3 Frontend environment configuration preparation -### a、Download the installation package -Click [release](https://github.com/WeBankFinTech/DataSphereStudio/releases) to download the corresponding installation package and extract it to the installation directory: -```bash - unzip wedatasphere-dss-web-x.x.x-dist.zip -``` - -**Note: If the DSS frontend installation package was compiled by the user, you need to copy the [visualis frontEnd](https://github.com/WeBankFinTech/Visualis/releases) installation package to the dss/visualis folder in the DSS frontEnd-end installation directory for automated installation.** - -### b、Configuration modification - Enter the frontend working directory and edit the file in this directory - - vi conf/config.sh - -Change the dss frontend port and backend linkis gateway IP address/port - -``` -# Configuring frontEnd-end ports -dss_port="8088" - -# URL of the backend linkis gateway -linkis_url="http://127.0.0.1:9001" - -# dss ip address -dss_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'|awk 'NR==1') -``` - -The environment is ready, click me to enter ****[4. Installation and use](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/en_US/ch2/DSS%20Quick%20Installation%20Guide.md#four-installation-and-use)** - -## Three Standard DSS environment configuration preparation -The standard DSS environment preparation is also divided into three parts, the frontEnd-end and back-end basic software installation, back-end environment preparation, and frontEnd-end environment preparation. The details are as follows: -### 3.1 frontEnd and BackEnd basic software installation -Linkis standard version (above 0.9.4), [How to install Linkis](https://github.com/WeBankFinTech/Linkis/blob/master/docs/en_US/ch1/deploy.md) - -JDK (above 1.8.0_141), How to install [JDK](https://www.runoob.com/java/java-environment-setup.html) - -MySQL (5.5+), How to Install [MySQL](https://www.runoob.com/mysql/mysql-install.html) - -Nginx, How to Install [Nginx](https://www.tecmint.com/install-nginx-on-centos-7/) - -Qualitis, How to Install [Qualitis](https://github.com/WeBankFinTech/Qualitis/blob/master/docs/zh_CN/ch1/%E5%BF%AB%E9%80%9F%E6%90%AD%E5%BB%BA%E6%89%8B%E5%86%8C.md) - -Azkaban, How to Install [Azkaban](https://github.com/azkaban/azkaban) - -**Note: To support Azkaban scheduling, linkis-jobtype needs to be installed. Please click the [Linkis jobType installation document](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/en_US/ch2/Azkaban_LinkisJobType_Deployment_Manual.md).** - -### 3.2 BackEnd environment configuration preparation -### a. User creation -- For example: the deployment user is hadoop account -Create a deployment user on the deployment machine and use that user for installation. -``` - sudo useradd hadoop -``` - -**Note: It is best for users to have sudo permissions and log in to this machine without password. [How to configure SSH passwordless login](https://www.jianshu.com/p/0922095f69f3)** - -### b. Installation package preparation -From the DSS released [click here to enter the download page](https://github.com/WeBankFinTech/DataSphereStudio/releases), download the corresponding installation package. First decompress the installation package to the installation directory and modify the configuration of the decompressed file -``` - tar -xvf wedatasphere-dss-x.x.x-dist.tar.gz -``` - -**Note: If the installation package is compiled by the user, you need to copy the [visualis-server](https://github.com/WeBankFinTech/Visualis/releases) installation package to the share/visualis-server folder in the DSS installation directory for automated installation.** - -### c. Modify the basic configuration - -``` - vi conf/config.sh -``` - -```properties - - - deployUser=hadoop #Specify the deployment user - - DSS_INSTALL_HOME=/appcom/Install/DSS #Specify DSS installation directory - - EUREKA_INSTALL_IP=127.0.0.1 #Linkis EUREKA Service host IP address - - EUREKA_PORT=20303 #Linkis EUREKA Service port number - - WORKSPACE_USER_ROOT_PATH=file:///tmp/Linkis #Specify the user's root directory and store the user's script files and log files. This is the user's working space. - - RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis # Result set file path, used to store the result set file of the job - - WDS_SCHEDULER_PATH=file:///appcom/tmp/wds/scheduler #Azkaban project storage directory - - #1、for DATACHECK - HIVE_META_URL=jdbc:mysql://127.0.0.1:3306/linkis?characterEncoding=UTF-8 - HIVE_META_USER=xxx - HIVE_META_PASSWORD=xxx - #2、for Qualitis - QUALITIS_ADRESS_IP=127.0.0.1 #QUALITIS service IP address - QUALITIS_ADRESS_PORT=8090 #QUALITIS service port number - #3、for AZKABAN - AZKABAN_ADRESS_IP=127.0.0.1 #AZKABAN service IP address - AZKABAN_ADRESS_PORT=8091 #AZKABAN service port number -``` - -### d. Modify database configuration - -```bash - vi conf/db.sh -``` - -```properties - # Set the connection information between the DSS-Server and the EventChecker AppJoint database。 - MYSQL_HOST= - MYSQL_PORT= - MYSQL_DB= - MYSQL_USER= - MYSQL_PASSWORD= -``` -### 3.3 frontEnd environment configuration preparation -### a、Download the installation package -Click [release](https://github.com/WeBankFinTech/DataSphereStudio/releases)to select the installation package to download and extract it in the installation directory: - -``` - unzip wedatasphere-DataSphereStudio-x.x.x-dist.zip -``` -**Note: If the DSS frontEnd-end installation package is compiled by the user, you need to copy the [visualis frontEnd](https://github.com/WeBankFinTech/Visualis/releases) installation package to the dss/visualis folder in the DSS frontEnd installation directory for automated installation.** - -### b、Configuration modification - -Enter the frontEnd working directory and edit in this directory - -``` - vi conf/config.sh -``` - -Change the dss frontEnd port and BackEnd linkis gateway IP address and port - -``` -# Configuring frontEnd-end ports -dss_port="8088" - -# URL of the backend linkis gateway -linkis_url="http://127.0.0.1:9001" - -# dss ip address -dss_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'|awk 'NR==1') -``` - -The environment is ready, click me to enter **[Four Installation and use](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/en_US/ch2/DSS%20Quick%20Installation%20Guide.md#four-installation-and-use)** - -## Four Installation and use -### 4.1. DataSphereStudio BackEnd installation: -### a. Execute the installation script: - -```bash - sh bin/install.sh -``` - -### b. installation steps -- The install.sh script will ask you about the installation mode. The installation mode is the simple mode or the standard mode. Please select the appropriate installation mode according to your prepared environment. Both the simple mode and the standard mode will check the mysql service. The standard mode will also check the Qualities service and the Azkaban service. - -- The install.sh script will ask if you need to initialize the database and import metadata. Because I am worried that the user repeatedly executes the install.sh script to clear the user data in the database, when the install.sh is executed, the user will be asked whether to initialize the database and import metadata. You must select Yes for the first installation. - -- The install.sh script will ask you if you need to initialize the library tables that davinci depends on. If you have not installed davinci, you need to initialize the table. If you have already installed davinci, you don't need to initialize it again. Because I worry that the user will clear the davinci data already installed in mysql, so when install.sh is executed, the user will be asked if it needs to be initialized. You must select Yes for the first installation. -### c. Whether the installation was successful: - Check whether the installation is successful by viewing the log information printed on the console. - If there is an error message, you can view the specific cause of the error. - You can also get answers to your questions by viewing our [FAQ](https://github.com/WeBankFinTech/DataSphereStudio/wiki/FAQ). - -### d. 启动DataSphereStudio BackEnd service - -### (1)、Start the service: - -Execute the following command in the installation directory to start all services: -```bash - ./bin/start-all.sh > start.log 2>start_error.log -``` - -### (2)、See if the startup was successful -You can view the success of the service startup on the Eureka interface, and check the method: - -- Use http://${EUREKA_INSTALL_IP}:${EUREKA_PORT}, Open it in your browser to see if the service is successfully registered. - -- If you did not specify EUREKA_INSTALL_IP and EUREKA_INSTALL_IP in config.sh, the HTTP address is: http://127.0.0.1:20303 - -- As shown in the figure below, if the following microservices appear on your Eureka homepage, the services are successfully started and services can be provided normally: - - ![Eureka](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/images/zh_CN/chapter2/quickInstallUse/quickInstall.png) - -### 4.2 DataSphereStudio frontEnd installation -### a、Download the installation package -Click release to select the installation package to download and extract it in the installation directory: - -```bash - unzip wedatasphere-dss-web-x.x.x-dist.zip -``` -### b、deploy: - -Enter the frontEnd-end working directory and execute the installation script - -```bash - sh bin/install.sh -``` - -After execution can be accessed directly through Google Chrome: -```bash - http://dss_ipaddr:dss_port -``` - -*dss_port is the port configured in config.sh, and dss_ipaddr is the IP of the installation machine.* - -If the access failed: You can check the log of install.log to see which step went wrong - -**If you want to manually install the frontend, the steps are as follows:** - -### 1.Modify the configuration file: -```bash - sudo vi /etc/nginx/conf.d/dss.conf -``` - - Add the following configurations: - -``` -server { - listen 8080;# Access port - server_name localhost; - #charset koi8-r; - #access_log /var/log/nginx/host.access.log main; - location /dss/visualis { - root /appcom/Install/DSS/frontEnd; # visualis Static file directory - autoindex on; - } - location / { - root /appcom/Install/DSS/frontEnd/dist; # Directory for unpacking the frontEnd package - index index.html index.html; - } - location /ws {#webSocket configuration support - proxy_pass http://192.168.xxx.xxx:9001;#linkis-gateway Service ip port - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } - location /api { - proxy_pass http://192.168.xxx.xxx:9001; # linkis-gateway Service ip port - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header x_real_ipP $remote_addr; - proxy_set_header remote_addr $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_http_version 1.1; - proxy_connect_timeout 4s; - proxy_read_timeout 600s; - proxy_send_timeout 12s; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection upgrade; - } - #error_page 404 /404.html; - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } - } -``` - -### 2.Copy the frontend package to the corresponding directory: - -``` -/appcom/Install/DSS/frontEnd; # frontend package installation directory -``` -**Note: To manually install the DSS frontend , you need to go to the dss/visualis folder of the DSS frontend installation directory and decompress the visualis frontEnd installation package.** - -### 3.Start service -sudo systemctl restart nginx - -### 4.Google Chrome access: -``` -http://nginx_ip:nginx_port -``` - -How to use DSS in detail, click me to enter **[DSS user manual.](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/en_US/ch3/DataSphereStudio_quick_start.md)** - -### 4.3、common problem - -(1)User token is empty - -``` -sudo vi dss-server/conf/token.properties -``` - -Add login user - -``` -xxx=xxx -``` - -(2)visualis execution error - -``` -Caused by: java.lang.Exception: /data/DSSInstall/visualis-server/bin/phantomjsis not executable! -``` - -Download the [driver](https://phantomjs.org/download.html) and put the phantomjs binary file in the bin directory of visualis-server. - - -(3)Upload file size limit - -``` -sudo vi /etc/nginx/nginx.conf -``` - -Change upload size - -``` -client_max_body_size 200m -``` - - (4)Interface timed out - -``` -sudo vi /etc/nginx/conf.d/dss.conf -``` - - -Change the interface timeout - -``` -proxy_read_timeout 600s -``` - diff --git a/docs/en_US/ch2/DSS_0.9.0_upgrade_notes.md b/docs/en_US/ch2/DSS_0.9.0_upgrade_notes.md deleted file mode 100644 index cd3a8bdd8..000000000 --- a/docs/en_US/ch2/DSS_0.9.0_upgrade_notes.md +++ /dev/null @@ -1,16 +0,0 @@ -# DSS 0.9.0 upgrade notes - -In DSS-0.9.0, the concept “workspace” is added. If you upgrade from DSS 0.7 or DSS 0.8 to DSS0.9.0. After completing platform deployment, the following adjustments are needed to be made: field `application_id` of table `dss_workspace_menu_appconn` is NULL by default., which is a foreign key references field `id` of table `dss_application`. So the field `application_id` of table `dss_workspace_menu_appconn` needed to be filled choosing from field `id` of table `dss_application`, which accords to the actual situation of business system, so as to connect workspace with each application. -E.g: -``` --- Update application_id corresponding to workflow application -UPDATE dss_workspace_menu_appconn SET application_id = 2 WHERE id = 1; --- Update application_id corresponding to Scriptis application -UPDATE dss_workspace_menu_appconn SET application_id = 1 WHERE id = 4; -``` -In addition, for users who have deployed DSS with edition 0.8.0 or below, the following adjustments are required: -Since field `workspace_id` is added to table `dss_project`, which is a foreign key references field `id` of table `dss_workspace`. The following command needs to be executed: -``` -ALTER TABLE dss_project ADD workspace_id bigint(20) DEFAULT 1; -``` -By default, original projects belongs to default workspace(workspace_id=1), users may add more workspace according to actual situation, and adjust the workspace of original projects as needed. diff --git a/docs/en_US/ch2/DSS_0.9.1_upgrade_notes.md b/docs/en_US/ch2/DSS_0.9.1_upgrade_notes.md deleted file mode 100644 index f1261483f..000000000 --- a/docs/en_US/ch2/DSS_0.9.1_upgrade_notes.md +++ /dev/null @@ -1,85 +0,0 @@ -# DSS 0.9.1 upgrade notes - -## Environmental description - ------- - -1. The user who installs the node machine deployment of DSS must have the permission to create the directory in hdfs - 1)If the hadoop cluster adopts the kerberos authentication mechanism, in order to prevent the ticket from expiring, you need to execute the knit -kt command on the client, for example:kinit -kt /etc/security/keytabs/hdfs.keytab yarn/xxxxxxxx - 2)If the hadoop cluster uses the simple authentication mechanism, use hdfs dfs chmod authorization, such as: hdfs dfs chmod 775 /user/hive/xx -2. The user who deploys DSS on the DSS node has the permission to create hive database: - 1)If hadoop cluster using simple authentication mechanism, you can try the following manner authorized: - hive>set system:user:name=dss; - hive> grant all to user dss; - -Currently, there is no automatic authorization in the script, and the user needs to execute the command manually. -2)If the Hadoop cluster adopts kerberos authentication, the kinit command is automatically executed in our script to obtain the ticket, and there is no need to execute the command manually. The user only needs to configure the kerberos related parameters. For the specific configuration, see the kerberos configuration chapter. - -The newly created user should be configured in hive.users.in.admin.role in hive-site.xml. - -1. LDAP must be installed (user authentication only supports LDAP), and there must be ou=user and ou=group entries in ldap, such as: ou=user,dc=baidu,dc=com和ou=group,dc=baidu,dc=com. - The ldap version supports 2.4.x, and the support of other versions is to be verified -2. Install sshpass service, yum -y install sshpass - -## Upgrade installation instructions - ------- - -The jar package involved in this change: Under the dss-server/lib directory:dss-application-0.9.1.jar,dss-server-0.9.1.jar,dss-user-manager-0.9.1.jar -Front-end static files: web -After replacing the above file with the latest one, then modify the following configuration file - -### Installation and configuration file instructions - -1. kerberos related - -Function description: If the Hadoop cluster uses the kerberos authentication mechanism, the newly created user will be granted kerberos permissions -Configuration file path: dss-server/conf/linkis.properties - -``` - Parameters: - wds.linkis.kerberos.enable.switch --Whether the cluster adopts the kerberos authentication mechanism, 0-do not use kerberos 1-use kerberos. If the Hadoop cluster does not use the kerberos authentication mechanism, none of the following parameters need to be configured. - wds.linkis.kerberos.keytab.path --The storage location of keytab on the DSS installation node can be arbitrarily specified, such as /etc/security/keytabs - wds.linkis.kerberos.kdc.node --Deploy the KDC service node IP, such as 192.168.1.1 - wds.linkis.kerberos.ssh.port --Deploy the KDC service node SSH port number, generally 22 - wds.linkis.kerberos.kdc.user.name --Deploy a linux user name on the KDC node, the user must have sudo permission (very important!!!) for ssh operation - wds.linkis.kerberos.kdc.user.password --The login password of the kdc node user mentioned above, used for ssh operation - wds.linkis.kerberos.realm --Kerberos manages the domain name of the hadoop cluster, please consult the cluster operation and maintenance personnel - wds.linkis.kerberos.admin--A user granted the admin role on kerberos (such as hdfs, very important!!!, otherwise the authorization cannot be completed) -``` - -1. metastore related - -Function description: create hive databases for newly created user and grant the newly created user permission -Parameter configuration file: dss-server/conf/linkis.properties - -``` -Parameters: - wds.linkis.metastore.hive.hdfs.base.path --The path where hive warehouse data is stored on hdfs, such as /user/hive/warehouse - wds.dss.deploy.path --dss_linkis installation package path, such as /usr/local/dss_linkis -``` - -1. ldap related - Function description: Create a new Entry under ou=user and ou=group of ldap for user login authentication - Parameter configuration file path: tools/bin/ldap_user.py - -``` -LDAP_HOST -- Install the ldap service IP, such as 192.168.11.11 -LDAP_BASEDN --The upper dn of ou=user or ou=group, such as dc=example,dc=com -LDAP_ADMIN -- The dn of the user logging in to the ldap service, such as cn=admin,dc=example,dc=cn -LDAP_PASS --Password for logging in to the ldap service -The first line in the ldap_user.py file #!/usr/local/tools/venv/bin/python, replace /user/local with the installation path of dss_linkis -``` - -## User manual - ------- - -1. Access address [http://url](http://url/):port/#/userManger, you need to login as a super user (installation user) -2. Server configuration: - If the hadoop cluster uses the simple authentication mechanism, the user needs to add the ip, login user name (with sudo permission), and password of each server in the yarn cluster.The underlying principle is that the server where dss is installed will ssh to each server in the yarn cluster, and then create a linux user. - -If the kerberos authentication mechanism adopted by the hadoop cluster, just add an ip (such as 127.0.0.1), username, and password. If not added, the interface will report an exception, and subsequent versions will fix this bug. - -1. WorkspaceRootPath, hdfsRootPath, resultRootPath, schedulerPath, DSS installation directory, Azkaban installation directory.The default value is consistent with the configuration in the installation configuration file config.sh. The directory can be either the hdfs directory, starting with hdfs:///, or the linux directory, starting with file:///. -2. The bottom layer will create a hive database for the user, the database name: xx_default, and give the permission to add, delete, modify, and select. \ No newline at end of file diff --git a/docs/en_US/ch3/DataSphereStudio_quick_start.md b/docs/en_US/ch3/DataSphereStudio_quick_start.md deleted file mode 100644 index 1c55d263c..000000000 --- a/docs/en_US/ch3/DataSphereStudio_quick_start.md +++ /dev/null @@ -1,36 +0,0 @@ -DataSphere Studio quick start -- -## Quick Login -       To be convenient to users,the default login username is consistent with the Linux user which is used for deployment. For example, if user 'hadoop' is used for deployment linkis, the user can use 'hadoop' as the username, and 'hadoop' as the password to login. Note that the password is the same with the username. First enter the address of the front-end container: 192.168.xx.xx:8888, and then enter the username/password:hadoop/hadoop -![quick_start00](/images/en_US/chapter3/quickstart/quick_start00.png) - -Hint: Other users must use their configured LDAP passwords to login. - -## Create New Project -      Click Create Project, fill in the description information to create: -![quick_start01](/images/en_US/chapter3/quickstart/quick_start01.png) - -## Create New Flow -      Click Create Workflow, fill in the description information to create: -![quick_start02](/images/en_US/chapter3/quickstart/quick_start02.png) - -## Workflow editing -       -1. Click the corresponding node on the left and drag it into the edit box -2. Click on the node, and the configuration information of the node will pop up on the right: -![quick_start03](/images/en_US/chapter3/quickstart/quick_start03.png) -3. Double-click a node to jump to the editing page of the corresponding node system: -![quick_start04](/images/en_US/chapter3/quickstart/quick_start04.png) - - -## Workflow running - -      Click the execute button and the workflow will start running: -![quick_start05](/images/en_US/chapter3/quickstart/quick_start05.png) - -## Workflow scheduling - -      In the project display area of the DSS homepage, you can publish the project to the scheduling system to run: -![quick_start06](/images/en_US/chapter3/quickstart/quick_start06.png) - -For more detailed manual please see:[DSS Manual](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch3/DSS_User_Manual.md) \ No newline at end of file diff --git a/docs/en_US/ch4/The Guide for Third-party Systems accessing DSS.md b/docs/en_US/ch4/The Guide for Third-party Systems accessing DSS.md deleted file mode 100644 index 02fc573a8..000000000 --- a/docs/en_US/ch4/The Guide for Third-party Systems accessing DSS.md +++ /dev/null @@ -1,187 +0,0 @@ -### The Guide for Third-Party System Accessing DSS -#### 1. Introduction -        This guide is used to introduce the design scheme, specific implementation and a concrete examples of third-party system access to DSS -system. -This guide is suitable for users who want to connect their third-party system to DSS. - -#### 2. Design scheme for third-party system accessing DSS -        DSS (DataSphere Studio) has been designed to be an open, -highly scalable system from the beginning. -We hope that the third-party system is able to access DSS via a pluggable way. In order to realize the above ideas, -DSS has proposed the concept of AppJoint (application joint). AppJoint is used to connect two systems and provide necessary services -for the coordinated operation of the two systems.
-        We must consider and implement the following functions when a task is -submitted to the DSS system and forwarded by the DSS system to a third-party system for execution. - -- 1). Solve the authentication problem of users on both systems. -- 2). Both systems need to process the metadata submitted by the user correctly -- 3). The DSS system needs to submit tasks to a third-party system for execution correctly in a synchronous or asynchronous manner -- 4). After submitting the task to the third-party system, the third-parts system needs to be able to feed back - information such as logs and status to the DSS system. -- 5). When the task execution is completed, -the third-party system is able to persist the task results and other information in the specific file path. - -        In order to facilitate the access of third-party systems, -DSS provides the SDK method and maven dependency is as follows. - -``` - - com.webank.wedatasphere.dss - dss-appjoint-core - ${dss.version} - -``` - -        The top-level interface of AppJoint is provided by the dss-appjoint-core module. -A Third-party system which wannas access the DSS system needs to implement the top-level interface. -This interface has the following methods that users need to implement. - -- 1.getSecurityService - -        SecurityService is used to solve the authentication problem between -DSS system and third-party systems. When a user logins to the DSS system and wants to submit a task to a third-party system, -the third-party system needs to be able to authenticate this user at first. - -- 2.getProjectSerivice - -        ProjectService is used to solve the problems of project management between DSS -system and third-party systems. -When a user adds, deletes, or modifies a project in the DSS system, the third-party system also needs to do the same -actions synchronously. This is to make projects unified. - -- 3.getNodeService - -        NodeService is used to solve the problem which is when a user submits a task -in DSS, third-party system needs to generate corresponding tasks at the same time. -For example, If a user adds a new workflow node and edits it, the third-party system needs to be aware of this action and -generates a corresponding task. - - - -- 4.getNodeExecution - -        NodeExecution is an interface used to submit -tasks to the third-party system for execution. There are two differnt types of NodeExecution. One is NodeExecution whtich -supports short-term tasks and the other one is LongTermNodeExecution which supports long-term tasks. For example, -for short-term tasks, such as email sending, you can directly implement the NodeExecution interface and rewrite - the execute method and the DSS system will wait for the task to finish. For the other long-term tasks, - such as data quality detection, you can implement the LongTermNodeExecution interface and rewrite the submit method and this method needs to return - a NodeExecutionAction. The DSS system can obtain task logs, statuses, etc. from third-party systems via this NodeExecutionAction. - - -#### 3. Implementation of Third Party System Access DSS (Take Visualis as an example) - -        DSS can be integrated with Visualis to obtain data visualization capabilities. The code of Visualis accessing the DSS system has been synchronized and open sourced in the DSS project. The following will take the open source code as an example to list and analyze the steps. -The steps for Visualis to access the DSS system are as follows: - -**3.1. Implementation of AppJoint interface in Visualis** - -        The implementation class of the AppJoint interface implemented by Visualis is VisualisAppjoint. -According to the code of VisualisAppjoint, it can be seen that in the `init` method, -VisualisAppjoint initializes the SecurityService, NodeService, and NodeExecution. - -**3.2. Implementation of SecureService interface in Visualis** - -        The class name of the SecurityService interface implemented by Visualis -is VisualisSecurityService. We can see the login method is overrided. In order to achieve login authorization, -Visualis uses a way of providing a token, and the DSS gateway authorizes the token so that the problem of login authorization -can be resolved; - -**3.3. Implementation of NodeService interface in Visualis** - -        The class of the NodeService interface implemented by Visualis is VisualisNodeService, -and it overrides the three methods which are `createNode`, `deleteNode`, and `updateNode`. These three methods -are to synchronize task metadata on the third-party system. -For example, the `createNode` method generates a Visualis task under the same project -in the Visualis system by sending a HTTP request to visualis to do the corresponding things. - -**3.4. Implementation of NodeExecution interface in Visualis** - -        The class of the NodeExecution interface implemented by Visualis is VisualisNodeExecution. It overrides the `execute` method. -The two parameters passed in to this method are Node and NodeContext. From the NodeContext, we can get -the gateway address of DSS and authrized tokens. Via these, we can encapsulate an HTTP request to -send to Visualis and get the response results from it. -The NodeContext provides a method for writing the result set. -For example, the result set of Visualis is usually displayed in the form of pictures. -So we can obtain a PictureResultSetWriter which supports persists picture result and write the result set in the proper path. - -**3.5. Database Operation (dss-application module)** - -        There is a dss-application module in the DSS system. This module is to be able to store some basic parameters -of the third-party system, so that the microservices in the DSS system can easily obtain the information of the third-party -system. -For example, when DSS needs to submit a request to Visualis, -it needs to know the URL of Visualis' request. -Therefore, it is necessary to insert the corresponding data into two tables `dss_application` and `dss_workflow_node` -in the dss-applition module. The table fields of dss_application are as follows. - -| name | meaning | remark | -| ------------ | ------------ | ------------ | -| id | primary key| auto increment | -| name | name of system | such as Visualis | -| url | url of system | such as http://127.0.0.1:8080 | -| is_user_need_init | needed to init | default false | -| user_init_url | inited url | defualt null | -| exists_project_service | if exists project service | | -| enhance_json | enhanced json which will be passed to appjoint while inited | | -| homepage_url | homepage url | | -| direct_url | redirect url | | - -| name | meaning | remark | -| ------------ | ------------ | ------------ | -| id | primary key| auto increment | -| node_type | task type | such as linkis.appjoint.visualis.display和linkis.appjoint.visualis.dashboard can be executed in Visualis | -| url | url of system | such as http://127.0.0.1:8080 | -| application_id | foreigh key of id in dss_application | not null | -| support_jump | can support jump | 1 is yes, 0 is no | -| enable_copy | can support copy | 1 is yes, 0 is no | -| jump_url | jump url of node | such as http://127.0.0.1:8080 | - -
- -![dss_application Table Demo](/images/zh_CN/chapter4/dss_application.png)
- -Figure3-1 dss_application table demo - -![dss_application Table Demo](/images/zh_CN/chapter4/dss_workflow_node.png)
- -Figure3-2 dss_workflow_node table demo
- -Figure 3-1 and Figure 3-2 are test data in the dss_application table -and dss_workflow_node table of visualis. You can insert the proper data that your -system needs to specify into the corresponding table. - - -**3.6. Front-end modification** - -- 3.6.1 Add Node Type -Modify the src / js / service / nodeType.js file to increase the Visualis node type - -- 3.6.2 Add node icon -Copy the node icon to the src / js / module / process / images / path. Currently, only the SVG format is supported. - -- 3.6.3 New Node Configuration -Modify the src / js / module / process / shape.js file to add Visualis's node configuration information. - -- 3.6.4 Modify the Home Click Node Event -Modify the src / js / module / process / index.vue file to add node click events and processing logic for click events. - -- 3.6.5 Modify double click event of workflow node -Modify src / js / view / process / index.vue and src / js / module / process / index.vue, add node double-click events and processing logic for double-click events. - -** 3.7. Compile and package into a jar package and place it in the specified location ** - -        After implementing the above interfaces, an AppJoint is comleted. After packaging using mvn or gradle, -it needs to be placed in the specified location. The jar package needs to be placed in directory `dss-appjoints`.The hierarchy of directory is shown in Figure 3-3. - -        Create a new visualis directory under the dss-appjoints directory. -The `visualis` directory requires a lib directory. - -![appjoints dir demo](/images/zh_CN/chapter4/appjoints.png)
-Figure3-3 appjoints dir demo - -The lib directory stores the jar package compiled by visualis to implement VisualisAppJoint. Of course, -if there is a jar package that is not included in the dss system , it needs to be placed in the lib directory. -In addition, some configuration parameters required by this AppJoint can be -written in appjoints.properties. The AppJointLoader provided by the DSS system will read these configuration parameters into -a Map and pass them in when AppJoint calls the init method. diff --git a/docs/en_US/ch4/Web Compilation.md b/docs/en_US/ch4/Web Compilation.md deleted file mode 100644 index 1f22f0a29..000000000 --- a/docs/en_US/ch4/Web Compilation.md +++ /dev/null @@ -1,102 +0,0 @@ -# Compilation - -## Getting Started - -### Prerequisites - -Install Node.js on your computer. Download Link: [http://nodejs.cn/download/](http://nodejs.cn/download/). Recommend using the latest stable version. - -**Only do this step at the first time.** - -### Installation - -Run the following commands in terminal: - -``` -git clone https://github.com/WeBankFinTech/Scriptis.git -cd DataSphereStudio/web -npm install -``` - - Commands explanation: - -1. Pull remote repository to local: `git clone https://github.com/WeBankFinTech/Scriptis.git` - -2. Change to the root directory of the project: `cd DataSphereStudio/web` - -3. Install all dependencies required for the project: `npm install` - -**Only do this step at the first time.** - -### Configuration - -You need to make some configurations in your code, such as port address of backend server and socket address of backend server in .env.development file in root directory. - -``` -// Port address of backend server -VUE_APP_MN_CONFIG_PREFIX=http://yourIp:yourPort/yourPath -// Socket address -VUE_APP_MN_CONFIG_SOCKET=/yourSocketPath -``` - -You can refer to the official documentation of vue-cli for detailed explanation. [Modes and environment variables](https://cli.vuejs.org/guide/mode-and-env.html#modes) - -### Building project - -You can run the following command in terminal to build the project: - -``` -npm run build -``` - -A folder named "dist" would appear in your project's root directory if the command has run successfully and you can directly put "dist" to your static server. - -### How to run - -You would need to run the following command in terminal if you want to run project on your local browser and see corresponding effects after making changes to the code. - -``` -npm run serve -``` - -Access the application in browser (Chrome recommended) via link: [http://localhost:8080/](http://localhost:8080/) . - -Changes you make to the code would dynamically reflect on the -effects shown on browser when using the method described above to run project. - -**Notes: Since frontend and backend are developed separately, when running on local browser you need to allow cross domain access in order to access the port of backend server.** - -e.g. Chrome browser: - -Configuration in Windows: - -1. Close all browser windows. - -2. Create a shortcut of chrome, right-click to choose "properties" , then go to "Shortcut" tab find "Target" and add`--args --disable-web-security --user-data-dir=C:\MyChromeDevUserData` to it . -3. Use shortcut to open the browser. - -Configuration in MacOS: - -Run the following command. (You need to replace "yourname" in the path. If it's not working, check the path of MyChromeDevUserData on your machine and copy its path to the place right after "--user-data-dir=") - -``` -open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/yourname/MyChromeDevUserData/ -``` - -### FAQ - -#### Failed installation when running npm install - -Try to use Taobao npm mirror: - -``` -npm install -g cnpm --registry=https://registry.npm.taobao.org -``` - -Next, run the following command instead of npm install: - -``` -cnpm install -``` - -Note that you can still use `npm run serve` and `npm run build` to run and build project. \ No newline at end of file diff --git "a/docs/zh_CN/ch1/DSS\345\256\211\350\243\205\345\270\270\350\247\201\351\227\256\351\242\230\345\210\227\350\241\250.md" "b/docs/zh_CN/ch1/DSS\345\256\211\350\243\205\345\270\270\350\247\201\351\227\256\351\242\230\345\210\227\350\241\250.md" deleted file mode 100644 index 78f6f1451..000000000 --- "a/docs/zh_CN/ch1/DSS\345\256\211\350\243\205\345\270\270\350\247\201\351\227\256\351\242\230\345\210\227\350\241\250.md" +++ /dev/null @@ -1,117 +0,0 @@ -## DSS安装常见问题列表 - -**本文档汇总DSS安装过程中所有问题列表及解决方式,为社区用户安装DSS提供参考。** - - -#### (1) 创建工程失败:add scheduler project用户token为空 - -``` -{"method":null,"status":1,"message":"error code(错误码): 90002, error message(错误信息): add scheduler project failederrCode: 90019 ,desc: errCode: 90020 ,desc: 用户token为空 ,ip: dss.com ,port: 9004 ,serviceKind: dss-server ,ip: dss.com ,port: 9004 ,serviceKind: dss-server.","data":{"errorMsg":{"serviceKind":"dss-server","level":2,"port":9004,"errCode":90002,"ip":"dss.com","desc":"add scheduler project failederrCode: 90019 ,desc: errCode: 90020 ,desc: 用户token为空 ,ip: dss.com ,port: 9004 ,serviceKind: dss-server ,ip: dss.com ,port: 9004 ,serviceKind: dss-server"}}} - -``` - -确保dss-server的token.properties中添加了此用户,并保持与 azkaban 的 azkaban-users.xml用户一致 -以hadoop用户为例: -1、在dss-server的token.properties添加 -hadoop=hadoop -2、在azkaban azkaban-users.xml 文件 添加 - - 0.9.1 - 0.9.4 - 2.11.8 - 1.8 - 3.3.3 - -``` - - (2) **如果您是本地第一次使用,必须在最外层工程pom.xml所在目录先执行以下命令**: - -```bash - mvn -N install -``` - - (3) 在最外层工程pom.xml所在目录执行以下命令 - -```bash - mvn clean install -``` - - (4) 获取安装包,在工程的assembly->target目录下: - -``` - wedatasphere-dss-x.x.x-dist.tar.gz -``` - -## 2.编译单个服务 - - 从git获取项目代码后,使用maven打包项目安装包。 - -(1) **如果您是本地第一次使用,必须在最外层工程pom.xml所在目录先执行以下命令**: - -```bash - mvn -N install -``` - -(2) 在terminal通过命令行跳转到对应的模块,比如 - -```bash - cd dss-server -``` - -(3) 执行该模块对应的pom.xml目录下执行编译命令: - -```bash - mvn clean install -``` - -(4) 获取安装包,在对应模块的->target目录下会有编译好的包: - -``` - dss-server.zip -``` \ No newline at end of file diff --git a/docs/zh_CN/ch2/Azkaban_LinkisJobType_Deployment_Manual.md b/docs/zh_CN/ch2/Azkaban_LinkisJobType_Deployment_Manual.md deleted file mode 100644 index adc075174..000000000 --- a/docs/zh_CN/ch2/Azkaban_LinkisJobType_Deployment_Manual.md +++ /dev/null @@ -1,44 +0,0 @@ -> 本文主要讲解Linkis的Azkaban的jobType自动化部署安装步骤,如果手动安装请参考Azkaban的jobType[安装步骤](https://azkaban.github.io/azkaban/docs/latest/#job-types) - - -## 1. 准备工作 -1.点击release 选择对应的安装包进行下载: - -- linkis-jobtype-$version.zip - -2.解压安装包 -``` -unzip linkis-jobtype-$version.zip -``` -## 2. 修改配置 -1.进入bin目录: - -``` -cd linkis/bin/ -``` -2.修改配置: -``` -##Linkis gateway url -LINKIS_GATEWAY_URL=http://127.0.0.1:9001 ## linkis的GateWay地址 - -##Linkis gateway token defaultWS-AUTH -LINKIS_GATEWAY_TOKEN=WS-AUTH ## Linkis的代理Token,该参数可以用默认值 - -##Azkaban executor host -AZKABAN_EXECUTOR_HOST=127.0.0.1 ## 如果Azkaban是单机安装则该IP就是机器IP,如果是分布式安装为Azkaban执行器机器IP, - -### SSH Port -SSH_PORT=22 ## SSH端口 - -##Azkaban executor dir -AZKABAN_EXECUTOR_DIR=/tmp/Install/AzkabanInstall/executor ## 如果Azkaban是单机安装则该目录是Azkaban的安装目录,如果是分布式安装为执行器的安装目录,注意:最后不需要带上/ - -##Azkaban executor plugin reload url -AZKABAN_EXECUTOR_URL=http://$AZKABAN_EXECUTOR_HOST:12321/executor?action=reloadJobTypePlugins ##这里只需要修改IP和端口即可,该地址为Azkaban重载插件的地址。 -``` -## 3. 执行安装脚本 -``` -sh install.sh -``` -如果安装成功最后会打印:```{"status":"success"}``` - diff --git "a/docs/zh_CN/ch2/DSS_0.9.0_\345\215\207\347\272\247\350\257\264\346\230\216.md" "b/docs/zh_CN/ch2/DSS_0.9.0_\345\215\207\347\272\247\350\257\264\346\230\216.md" deleted file mode 100644 index 738fbee67..000000000 --- "a/docs/zh_CN/ch2/DSS_0.9.0_\345\215\207\347\272\247\350\257\264\346\230\216.md" +++ /dev/null @@ -1,16 +0,0 @@ -# DSS-0.9.0升级说明 - -本次DSS-0.9.0版本新增用户工作空间(workspace)概念,如果您是从 DSS0.7 或 DSS0.8 升级到 DSS0.9.0,在完成平台部署后,需对数据库表做一些调整需作如下调整: -dss_workspace_menu_appconn表中的appconn_id字段默认为空,该字段与dss_application表的id字段关联,需根据用户业务系统的实际情况与dss_application表进行关联,将用户工作空间与各应用打通。例如: -``` --- 更新workflow应用对应的appconn_id -UPDATE dss_workspace_menu_appconn SET appconn_id = 2 WHERE id = 1; --- 更新Scriptis应用对应的appconn_id -UPDATE dss_workspace_menu_appconn SET appconn_id = 1 WHERE id = 4; -``` -此外,对于已部署DSS-0.8.0及以下版本的用户,还需做如下调整: -dss_project表新增workspace_id字段,该字段与dss_workspace表的id字段关联,需在数据库执行如下命令: -``` -ALTER TABLE dss_project ADD workspace_id bigint(20) DEFAULT 1; -``` -默认情况下,所有原有项目都将归属默认工作空间(workspace_id=1),用户可根据实际情况新增用户空间,并调整原有项目的所属工作空间。 \ No newline at end of file diff --git "a/docs/zh_CN/ch2/DSS_0.9.1_\345\215\207\347\272\247\350\257\264\346\230\216.md" "b/docs/zh_CN/ch2/DSS_0.9.1_\345\215\207\347\272\247\350\257\264\346\230\216.md" deleted file mode 100644 index 203b315f1..000000000 --- "a/docs/zh_CN/ch2/DSS_0.9.1_\345\215\207\347\272\247\350\257\264\346\230\216.md" +++ /dev/null @@ -1,72 +0,0 @@ -# DSS-0.9.1升级说明 - -## 环境说明 - -1. 安装DSS节点上部署DSS用户必须有hdfs创建目录的权限 - 1)如果hadoop集群采用kerberos认证机制,为防止票据过期,则需要在客户端执行 knit -kt命令,比如:kinit -kt /etc/security/keytabs/hdfs.keytab yarn/xxxxxxxx - 2)如果hadoop集群采用simple认证机制,则使用hdfs dfs chmod 授权,比如:hdfs dfs chmod 775 /user/hive/xx -2. 安装DSS节点上部署DSS的用户具有创建hive database权限问题: - 1)如果hadoop集群采用simple认证机制,可以尝试如下方式授权: - hive>set system:user:name=dss; - hive> grant all to user dss - 目前并未在脚本中自动授权,需要用户手动执行命令。 - 2)如果hadoop集群采用kerberos认证,在我们的脚本中自动执行了kinit命令以获取票据,不需要手工执行命令,用户只需要要配置kerberos相关的参数,具体配置见kerberos配置章节。 - 新建的用户要在 hive-site.xml 中hive.users.in.admin.role配置。 -3. 必须安装有LDAP(用户认证只支持LDAP),ldap中必须有ou=user和ou=group条目,比如:ou=user,dc=baidu,dc=com和ou=group,dc=baidu,dc=com。ldap版本支持2.4.x,其他版本的支持情况待验证 -4. 安装sshpass服务,yum -y install sshpass - -## 版本升级安装说明 - -本次改动涉及的的jar包:dss-server/lib目录下: dss-application-0.9.1.jar,dss-server-0.9.1.jar,dss-user-manager-0.9.1.jar -前端静态文件:web -将以上文件替换成最新的后,然后修改下面的配置文件 - -### 安装及配置文件说明 - -1. kerberos相关 - 功能说明:如果hadoop集群采用kerberos认证机制,则会给新建的用户授予kerberos权限 - 配置文件路径:dss-server/conf/linkis.properties - -``` - 参数: - wds.linkis.kerberos.enable.switch --集群是否采用kerberos认证机制,0-不采用kerberos 1-采用kerberos。如果hadoop集群不采用kerberos认证机制,则下面的参数都不需要配置。 - wds.linkis.kerberos.keytab.path --keytab在DSS安装节点上的存放位置,可以任意指定,比如 /etc/security/keytabs - wds.linkis.kerberos.kdc.node --部署KDC服务节点IP,比如192.168.1.1 - wds.linkis.kerberos.ssh.port --部署KDC服务节点SSH端口号,一般都是22 - wds.linkis.kerberos.kdc.user.name --部署KDC节点上的一个linux用户名,该用用户必须有sudo权限(重要,重要!!!),用于ssh操作 - wds.linkis.kerberos.kdc.user.password --上面提到的kdc节点用户的登录密码,用于ssh操作 - wds.linkis.kerberos.realm --kerberos管理hadoop集群的域名,请咨询集群运维人员。 - wds.linkis.kerberos.admin--kerberos上的一个被授予admin角色的用户(如hdfs,非常重要!!!!,否则无法完成授权) -``` - -1. metastore相关 - 功能说明:给新建用户hive库,并授予新建用户权限 - 参数配置文件:dss-server/conf/linkis.properties - -``` - 参数: - wds.linkis.metastore.hive.hdfs.base.path --hive仓库数据存储在在hdfs上的路径,比如 /user/hive/warehouse - wds.dss.deploy.path --dss_linkis安装包路径,比如 /usr/local/dss_linkis -``` - -3.ldap相关 -功能说明:在ldap的ou=user和ou=group下新建一个Entry,用于用户登录验证 -参数配置文件路径:安装包下的tools/bin/ldap_user.py - -``` -LDAP_HOST -- 安装ldap服务IP,比如192.168.11.11 -LDAP_BASEDN --ou=user或ou=group的上层dn,比如 dc=example,dc=com -LDAP_ADMIN -- 登录ldap服务的用户dn 比如 'cn=admin,dc=example,dc=cn' -LDAP_PASS --登录ldap服务的密码 -ldap_user.py文件中第一行 #!/usr/local/tools/venv/bin/python,将/user/local换成dss_linkis的安装路径 -``` - -## 使用说明 - -1. 访问地址 http://url:port/#/userManger,需要用超级用户(安装用户)登录 -2. 服务器配置: - 如果hadoop集群采用的是simple认证机制,则用户需要添加yarn集群各服务器的ip、登录用户名(具有sudo权限)、密码。其底层的原理是安装dss的服务器会ssh到yarn集群的各服务器,然后创建linux用户。 - 如果hadoop集群采用的kerberos认证机制,则随便添加一个ip(比如127.0.0.1),用户名,密码。如果不添加接口会报异常,后续版本会修复此bug -3. workspaceRootPath,hdfsRootPath,resultRootPath,schedulerPath,DSS安装目录,Azkaban安装目录。 - 其默认值和安装配置文件config.sh里配置的保持一致。其目录既可以是hdfs目录,以hdfs:///开头,也可以是linux目录,以file:///开头 -4. 底层会给用户创建hive库,库名:xx_default,并赋予增删改查权限 \ No newline at end of file diff --git a/docs/zh_CN/ch2/DSS_LINKIS_Quick_Install.md b/docs/zh_CN/ch2/DSS_LINKIS_Quick_Install.md deleted file mode 100644 index f16007791..000000000 --- a/docs/zh_CN/ch2/DSS_LINKIS_Quick_Install.md +++ /dev/null @@ -1,449 +0,0 @@ -# DataSphere Studio快速安装使用文档 - -由于DataSphere Studio依赖于[Linkis](https://github.com/WeBankFinTech/Linkis),本文档提供了以下两种部署方式供您选择: - -1. DSS & Linkis 一键部署 - -     该模式适合于DSS和Linkis都没有安装的情况。 - -     进入[DSS & Linkis安装环境准备](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS_LINKIS_Quick_Install.md#%E4%B8%80dss--linkis%E5%AE%89%E8%A3%85%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87) - -2. DSS 一键部署 - -     该模式适合于Linkis已经安装,需要安装DSS的情况。 - -     进入[DSS快速安装文档](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md) - -     **请根据实际情况,选择合理安装方式**。 - -## 一、DSS & Linkis安装环境准备 - -**根据安装难度,我们提供了以下两种环境准备方式,请根据需要选择:** - -1. **精简版** - -     没有任何安装难度,适合于调研和学习,10分钟即可部署起来。 - -     支持的功能有: - -- 数据开发IDE - Scriptis,仅支持:执行Python和JDBC脚本 -- Linkis管理台 - -**进入[DSS & Linkis精简版环境准备](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS_LINKIS_Quick_Install.md#%E4%BA%8Cdss--linkis%E7%B2%BE%E7%AE%80%E7%89%88%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87)** - -2. **标准版**: - -     有一定的安装难度,体现在Hadoop、Hive和Spark版本不同时,可能需要重新编译,可能会出现包冲突问题。 - -适合于试用和生产使用,2~3小时即可部署起来。 - -     支持的功能有: - -- 数据开发IDE - Scriptis - -- 工作流实时执行 - -- 信号功能和邮件功能 - -- 数据可视化 - Visualis - -- 数据质量 - Qualitis(**单机版**) - -- 工作流定时调度 - Azkaban(**单机版**) - -- Linkis管理台 - -**进入[DSS & Linkis标准版环境准备](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS_LINKIS_Quick_Install.md#%E4%B8%89dss--linkis%E6%A0%87%E5%87%86%E7%89%88%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87)** - ----- - -## 二、DSS & Linkis精简版环境准备 - -### a. 基础软件安装 - -        下面的软件必装: - -- MySQL (5.5+),[如何安装MySQL](https://www.runoob.com/mysql/mysql-install.html) -- JDK (1.8.0_141以上),[如何安装JDK](https://www.runoob.com/java/java-environment-setup.html) -- Python(2.x和3.x都支持),[如何安装Python](https://www.runoob.com/python/python-install.html) -- Nginx,[如何安装Nginx](https://www.tecmint.com/install-nginx-on-centos-7/) - -### b. 创建用户 - -        例如: **部署用户是hadoop账号** - -1. 在部署机器上创建部署用户,用于安装 - -```bash - sudo useradd hadoop -``` - -2. 因为Linkis的服务是以 sudo -u ${linux-user} 方式来切换引擎,从而执行作业,所以部署用户需要有 sudo 权限,而且是免密的。 - -```bash - vi /etc/sudoers -``` - - hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL - -3. **如果您的Python想拥有画图功能,则还需在安装节点,安装画图模块**。命令如下: - -```bash - python -m pip install matplotlib -``` - -### c. 安装包准备 - -**如果您想使用DSS & Linkis全家桶一键部署安装包(1.3GB)([点我进入下载页面](https://github.com/WeBankFinTech/DataSphereStudio/releases)),直接解压即可,以下步骤可忽略。** - -下列步骤为用户自行编译或者去各个组件release页面下载安装包: -1. 下载安装包 -- [wedatasphere-linkis-x.x.x-dist.tar.gz](https://github.com/WeBankFinTech/Linkis/releases) -- [wedatasphere-dss-x.x.x-dist.tar.gz](https://github.com/WeBankFinTech/DataSphereStudio/releases) -- [wedatasphere-dss-web-x.x.x-dist.zip](https://github.com/WeBankFinTech/DataSphereStudio/releases) -- [linkis-jobtype-x.x.x.zip](https://github.com/WeBankFinTech/DataSphereStudio/releases) -- azkaban-solo-server-x.x.x.tar.gz -- [wedatasphere-qualitis-x.x.x.zip](https://github.com/WeBankFinTech/Qualitis/releases) - -2. 下载DSS&LINKIS[一键部署脚本](https://share.weiyun.com/58yxh3n),并解压,再将上述所下载的安装包放置于该目录下,目录层级如下: - -```text -├── dss_linkis # 一键部署主目录 - ├── backup # 用于兼容Linkis老版本的安装启动脚本 - ├── bin # 用于一键安装启动DSS+Linkis - ├── conf # 一键部署的配置文件 - ├── azkaban-solo-server-x.x.x.tar.gz #azkaban安装包 - ├── linkis-jobtype-x.x.x.zip #linkis jobtype安装包 - ├── wedatasphere-dss-x.x.x-dist.tar.gz # DSS后台安装包 - ├── wedatasphere-dss-web-x.x.x-dist.zip # DSS前端安装包 - ├── wedatasphere-linkis-x.x.x-dist.tar.gz # Linkis安装包 - ├── wedatasphere-qualitis-x.x.x.zip # Qualitis安装包 -``` -**注意事项:** -1. Azkaban: 社区没有提供单独的release安装包,用户需要自行编译后的将安装包放置于安装目录下。 -2. DSS: 用户自行编译DSS安装包,会缺失visualis-server部分,因此,visualis-server也需要用户自行编译。从[visualis项目](https://github.com/WeBankFinTech/Visualis)编译打包后放置于wedatasphere-dss-x.x.x-dist.tar.gz的share/visualis-server目录下,否则dss安装时可能报找不到visualis安装包。 - -### d. 修改配置 - -将conf目录下的config.sh.lite.template,修改为config.sh - -```shell - cp conf/config.sh.lite.template conf/config.sh -``` - -**精简版可以不修改任何配置参数**,当然您也可以按需修改相关配置参数。 - -``` - vi conf/config.sh - - SSH_PORT=22 #ssh默认端口 - deployUser="`whoami`" #默认获取当前用户为部署用户 - WORKSPACE_USER_ROOT_PATH=file:///tmp/linkis/ ##工作空间路径,默认为本地路径,尽量提前创建并授于写权限 - RESULT_SET_ROOT_PATH=file:///tmp/linkis ##结果集路径,默认为本地路径,尽量提前创建并授于写权限 - DSS_NGINX_IP=127.0.0.1 #DSS Nginx访问IP - DSS_WEB_PORT=8088 #DSS Web页面访问端口 - -``` - -```properties - # 说明:通常情况下,精简版,上述参数默认情况均可不做修改,即可直接安装使用 - -``` - -### e. 修改数据库配置 - -```bash - vi conf/db.sh -``` - -```properties - # 设置数据库的连接信息 - MYSQL_HOST= - MYSQL_PORT= - MYSQL_DB= - MYSQL_USER= - MYSQL_PASSWORD= -``` - - -```properties - # 说明:此为必须配置参数,并确保可以从本机进行访问,验证方式: - mysql -h$MYSQL_HOST -P$MYSQL_PORT -u$MYSQL_USER -p$MYSQL_PASSWORD -``` - -精简版配置修改完毕,进入[安装和使用](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS_LINKIS_Quick_Install.md#%E5%9B%9B%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8) - -## 三、DSS & Linkis标准版环境准备 - -### a. 基础软件安装 - -        下面的软件必装: - -- MySQL (5.5+),[如何安装MySQL](https://www.runoob.com/mysql/mysql-install.html) - -- JDK (1.8.0_141以上),[如何安装JDK](https://www.runoob.com/java/java-environment-setup.html) - -- Python(2.x和3.x都支持),[如何安装Python](https://www.runoob.com/python/python-install.html) - -- Nginx,[如何安装Nginx](https://www.tecmint.com/install-nginx-on-centos-7/) - -        下面的服务必须可从本机访问: - -- Hadoop(**2.7.2,Hadoop其他版本需自行编译Linkis**) - -- Hive(**1.2.1,Hive其他版本需自行编译Linkis**) - -- Spark(**支持2.0以上所有版本**) - -### b. 创建用户 - -        例如: **部署用户是hadoop账号** - -1. 在所有需要部署的机器上创建部署用户,用于安装 - -```bash - sudo useradd hadoop -``` - -2. 因为Linkis的服务是以 sudo -u ${linux-user} 方式来切换引擎,从而执行作业,所以部署用户需要有 sudo 权限,而且是免密的。 - -```bash - vi /etc/sudoers -``` - -```properties - hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL -``` - -3. 确保部署 DSS 和 Linkis 的服务器可正常访问Hadoop、Hive和Spark。 - -        **部署DSS 和 Linkis 的服务器,不要求必须安装Hadoop,但要求hdfs命令必须可用,如:hdfs dfs -ls /**。 - -        **如果想使用Linkis的Spark,部署 Linkis 的服务器,要求spark-sql命令必须可以正常启动一个spark application**。 - -        **在每台安装节点设置如下的全局环境变量**,以便Linkis能正常读取Hadoop、Hive和Spark的配置文件,具备访问Hadoop、Hive和Spark的能力。 - -        修改安装用户hadoop的.bash_rc,命令如下: - -```bash - vim /home/hadoop/.bash_rc -``` - -        下方为环境变量示例: - -```bash - #JDK - export JAVA_HOME=/nemo/jdk1.8.0_141 - #HADOOP - export HADOOP_CONF_DIR=/appcom/config/hadoop-config - #Hive - export HIVE_CONF_DIR=/appcom/config/hive-config - #Spark - export SPARK_HOME=/appcom/Install/spark - export SPARK_CONF_DIR=/appcom/config/spark-config - export PYSPARK_ALLOW_INSECURE_GATEWAY=1 # Pyspark必须加的参数 -``` - -4. **如果您的Pyspark想拥有画图功能,则还需在所有安装节点,安装画图模块**。命令如下: - -```bash - python -m pip install matplotlib -``` - -### c. 安装包准备 - -**如果您想使用DSS & Linkis全家桶一键部署安装包(1.3GB)([点我进入下载页面](https://github.com/WeBankFinTech/DataSphereStudio/releases)),直接解压即可,以下步骤可忽略。** - -下列步骤为用户自行编译或者去各个组件release页面下载安装包: -1. 下载安装包 -- [wedatasphere-linkis-x.x.x-dist.tar.gz](https://github.com/WeBankFinTech/Linkis/releases) -- [wedatasphere-dss-x.x.x-dist.tar.gz](https://github.com/WeBankFinTech/DataSphereStudio/releases) -- [wedatasphere-dss-web-x.x.x-dist.zip](https://github.com/WeBankFinTech/DataSphereStudio/releases) -- [linkis-jobtype-x.x.x.zip](https://github.com/WeBankFinTech/DataSphereStudio/releases) -- azkaban-solo-server-x.x.x.tar.gz -- [wedatasphere-qualitis-x.x.x.zip](https://github.com/WeBankFinTech/Qualitis/releases) - -2. 下载DSS&LINKIS[一键部署脚本](https://share.weiyun.com/58yxh3n),并解压,再将上述所下载的安装包放置于该目录下,目录层级如下: - -```text -├── dss_linkis # 一键部署主目录 - ├── backup # 用于兼容Linkis老版本的安装启动脚本 - ├── bin # 用于一键安装启动DSS+Linkis - ├── conf # 一键部署的配置文件 - ├── azkaban-solo-server-x.x.x.tar.gz #azkaban安装包 - ├── linkis-jobtype-x.x.x.zip #linkis jobtype安装包 - ├── wedatasphere-dss-x.x.x-dist.tar.gz # DSS后台安装包 - ├── wedatasphere-dss-web-x.x.x-dist.zip # DSS前端安装包 - ├── wedatasphere-linkis-x.x.x-dist.tar.gz # Linkis安装包 - ├── wedatasphere-qualitis-x.x.x.zip # Qualitis安装包 -``` -**注意事项:** -1. Azkaban: 社区没有提供单独的release安装包,用户需要自行编译后的将安装包放置于安装目录下。 -2. DSS: 用户自行编译DSS安装包,会缺失visualis-server部分,因此,visualis-server也需要用户自行编译。从[visualis项目](https://github.com/WeBankFinTech/Visualis)编译打包后放置于wedatasphere-dss-x.x.x-dist.tar.gz的share/visualis-server目录下,否则安装时可能报找不到visualis安装包。 - -### d. 修改配置 - -将conf目录下的config.sh.stand.template,修改为config.sh - -```shell - cp conf/config.sh.stand.template conf/config.sh -``` - -您可以按需修改相关配置参数: - -``` - vi conf/config.sh -``` - -参数说明如下: -```properties - WORKSPACE_USER_ROOT_PATH=file:///tmp/linkis/ ##本地工作空间路径,默认为本地路径,尽量提前创建并授于写权限 - HDFS_USER_ROOT_PATH=hdfs:///tmp/linkis ##hdfs工作空间路径,默认为本地路径,尽量提前创建并授于写权限 - RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis ##结果集路径,默认为本地路径,尽量提前创建并授于写权限 - WDS_SCHEDULER_PATH=file:///appcom/tmp/wds/scheduler ##DSS工程转换为azkaban工程后的存储路径 - #DSS Web,注意distribution.sh中VISUALIS_NGINX的IP和端口必须和此处保持一致 - DSS_NGINX_IP=127.0.0.1 #DSS Nginx访问IP - DSS_WEB_PORT=8088 #DSS Web页面访问端口 - ##hive metastore的地址 - HIVE_META_URL=jdbc:mysql://127.0.0.1:3306/metastore?useUnicode=true - HIVE_META_USER=xxx - HIVE_META_PASSWORD=xxx - ###hadoop配置文件目录 - HADOOP_CONF_DIR=/appcom/config/hadoop-config - ###hive配置文件目录 - HIVE_CONF_DIR=/appcom/config/hive-config - ###spark配置文件目录 - SPARK_CONF_DIR=/appcom/config/spark-config - ###azkaban服务端IP地址及端口,单机版安装时请勿修改 - AZKABAN_ADRESS_IP=127.0.0.1 - AZKABAN_ADRESS_PORT=8081 - ####Qualitis服务端IP地址及端口,单机版安装时请勿修改 - QUALITIS_ADRESS_IP=127.0.0.1 - QUALITIS_ADRESS_PORT=8090 - -``` - -### e. 使用分布式模式 - -        如果您打算将DSS和Linkis都部署在同一台服务器上, 本步骤可以跳过。 - -        如果您打算将 DSS 和 Linkis 部署在多台服务器上,首先,您需要为这些服务器配置ssh免密登陆。 - -        [如何配置SSH免密登陆](https://www.jianshu.com/p/0922095f69f3) - -        同时,您还需要修改分布式部署模式下的distribution.sh配置文件,使分布式部署生效。 - -```shell script - vi conf/distribution.sh -``` - -```说明:IP地址和端口 - LINKIS和DSS的微服务IP地址和端口,可配置成远程地址,例如您想把LINKIS和DSS安装在不同的机器上,那么只需把linkis各项微服务的IP地址修改成与DSS不同的IP即可。 - -``` - -### f. 修改数据库配置 - -```bash - vi conf/db.sh -``` - -```properties - # 设置数据库的连接信息 - MYSQL_HOST= - MYSQL_PORT= - MYSQL_DB= - MYSQL_USER= - MYSQL_PASSWORD= -``` - -```properties - # 说明:此为必须配置参数,并确保可以从本机进行访问,验证方式: - mysql -h$MYSQL_HOST -P$MYSQL_PORT -u$MYSQL_USER -p$MYSQL_PASSWORD -``` - -标准版配置修改完毕,进入[安装和使用](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS_LINKIS_Quick_Install.md#%E5%9B%9B%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8) - ----- - - -## 四、安装和使用 - -### 1. 执行安装脚本: - -```bash - sh bin/install.sh -``` -注意:安装脚本有两处是相对路径,为了正确安装,请按照以上命令执行。 - -### 2. 安装步骤 - -- 该安装脚本会检查各项集成环境命令,如果没有请按照提示进行安装,以下命令为必须项: -_yum java mysql unzip expect telnet tar sed dos2unix nginx_ - -- 安装过程如果有很多cp 命令提示您是否覆盖安装,说明您的系统配置有别名,输入alias,如果有cp、mv、rm的别名,如果有可以去掉,就不会再有大量提示。 - -- install.sh脚本会询问您安装模式。 -安装模式分为精简版、标准版,请根据您准备的环境情况,选择合适的安装模式。 - -- install.sh脚本会询问您是否需要初始化数据库并导入元数据,linkis和dss 均会询问。 - -     **第一次安装**必须选是。 - -### 3. 是否安装成功: - -     通过查看控制台打印的日志信息查看是否安装成功。 - -     如果有错误信息,可以查看具体报错原因。 - -     您也可以通过查看我们的[安装常见问题](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch1/DSS%E5%AE%89%E8%A3%85%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%88%97%E8%A1%A8.md),获取问题的解答。 - -### 4. 启动服务 - -#### (1) 启动服务: - -     在安装目录执行以下命令,启动所有服务: - -```shell script - sh bin/start-all.sh > start.log 2>start_error.log -``` - -     如果启动产生了错误信息,可以查看具体报错原因。启动后,各项微服务都会进行**通信检测**,如果有异常则可以帮助用户定位异常日志和原因。 - -     您可以通过查看我们的[启动常见问题](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch1/DSS%E5%AE%89%E8%A3%85%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%88%97%E8%A1%A8.md),获取问题的解答。 - -#### (2) 查看是否启动成功 - -     可以在Eureka界面查看 Linkis & DSS 后台各微服务的启动情况。如下图,如您的Eureka主页**启动日志会打印此访问地址**,出现以下微服务,则表示服务都启动成功,可以正常对外提供服务了: - - ![Eureka](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/images/zh_CN/chapter2/quickInstallUse/quickInstall.png) - -#### (3) 谷歌浏览器访问: - -请使用**谷歌浏览器**访问以下前端地址: - -`http://DSS_NGINX_IP:DSS_WEB_PORT` **启动日志会打印此访问地址**。登陆时管理员的用户名和密码均为部署用户名,如部署用户为hadoop,则管理员的用户名/密码为:hadoop/hadoop。 - -如果您想支持更多用户登录,详见 [Linkis LDAP](https://github.com/WeBankFinTech/Linkis/wiki/%E9%83%A8%E7%BD%B2%E5%92%8C%E7%BC%96%E8%AF%91%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93) - -如何快速使用DSS, 点我进入 [DSS快速使用文档](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch3/DSS_User_Manual.md) - -【DSS用户手册】提供了更加详尽的使用方法,点我进入 [DSS用户手册](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch3/DSS_User_Manual.md) -#### (4) 停止服务: -     在安装目录执行以下命令,停止所有服务:sh bin/stop-all.sh - -**注意** -1. 如果用户想启动和停止**单个应用**,可修改启动脚本注释掉其他应用的启动和停止命令即可。 - -2. 如果用户想启动和停止**单个微服务**,则可进入该微服务安装目录下执行sh bin/start-微服务名称.sh或sh bin/stop-微服务名称.sh - - -**附Qualitis及Azkaban单机版安装包资源:** - -- 腾讯云链接:https://share.weiyun.com/5fBPVIV - -- 密码:cwnhgw - -- 百度云链接:https://pan.baidu.com/s/1DYvm_KTljQpbdk6ZPx6K9g - -- 密码:3lnk diff --git "a/docs/zh_CN/ch2/DSS\345\277\253\351\200\237\345\256\211\350\243\205\344\275\277\347\224\250\346\226\207\346\241\243.md" "b/docs/zh_CN/ch2/DSS\345\277\253\351\200\237\345\256\211\350\243\205\344\275\277\347\224\250\346\226\207\346\241\243.md" deleted file mode 100644 index a8fda0a9b..000000000 --- "a/docs/zh_CN/ch2/DSS\345\277\253\351\200\237\345\256\211\350\243\205\344\275\277\347\224\250\346\226\207\346\241\243.md" +++ /dev/null @@ -1,507 +0,0 @@ -## 如何快速安装使用DataSphereStudio - -### DataSphereStudio安装分为前端部分和后台部分,安装之前首先需要确定前、后端安装环境。 - -### 一、确定您的安装环境 - -####         DataSphereStudio根据组件丰富程度,安装环境略有差异,分为精简版、简单版和标准版,其区别如下: - ----- -1. **精简版**: - -      最少环境依赖,前后端基础环境部分仅需准备:[Linkis](https://github.com/WeBankFinTech/Linkis)、JAVA、MYSQL、[Nginx](https://www.nginx.com/) ,您即刻能享受到DSS已集成的数据开发Scriptis服务。 - -        点我进入[精简版DSS环境配置准备](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#%E4%BA%8C%E7%B2%BE%E7%AE%80%E7%89%88dss%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%87%86%E5%A4%87) - ----- -2. **简单版**: - -      较少环境依赖,前后端基础环境部分仅需准备:[Linkis](https://github.com/WeBankFinTech/Linkis)、JAVA、MYSQL、[Nginx](https://www.nginx.com/) ,您即刻能享受到DSS已集成的数据开发Scriptis、工作流实时执行,可视化,邮件发送,DATACHECK和EVENTCHECK服务。 - -        点我进入[简单版DSS环境配置准备](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#%E4%B8%89%E7%AE%80%E5%8D%95%E7%89%88dss%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%87%86%E5%A4%87) - ----- -3. **标准版** - -          DSS还实现了很多外部系统的集成,如[Qualitis](https://github.com/WeBankFinTech/Qualitis)和[Azkaban](https://github.com/azkaban/azkaban),如果您想使用这些外部系统,则需要在简单版的基础上,提前安装和启动好Qualitis和Azkaban服务,并确保其能够正常提供服务,并在配置中指定对应服务的IP和端口。 - -          点我进入[标准版DSS环境配置准备](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#%E5%9B%9B%E6%A0%87%E5%87%86%E7%89%88dss%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%87%86%E5%A4%87) - ----- - -## 二、精简版DSS环境配置准备 -DSS环境配置准备分为三部分,前后端基础软件安装、后端环境配置准备和前端环配置境准备,详细介绍如下: -### 2.1 前后端基础软件安装 -Linkis精简版(0.9.4及以上),[如何安装Linkis](https://github.com/WeBankFinTech/Linkis/wiki/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8Linkis) - -JDK (1.8.0_141以上),[如何安装JDK](https://www.runoob.com/java/java-environment-setup.html) - -MySQL (5.5+),[如何安装MySQL](https://www.runoob.com/mysql/mysql-install.html) - -Nginx,[如何安装Nginx](https://www.tecmint.com/install-nginx-on-centos-7/) - -### 2.2 后端环境配置准备 - -### a. 创建用户 - - 例如: **部署用户是hadoop账号** - -在部署机器上创建部署用户,使用该用户进行安装。 -``` - sudo useradd hadoop -``` - -##### 注意:用户需要有sudo权限,且可免密登陆本机。[如何配置SSH免密登陆](https://linuxconfig.org/passwordless-ssh) -``` - vi /etc/sudoers - - hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL -``` - -### b. 安装包准备 - -从DSS已发布的release中([点击这里进入下载页面](https://github.com/WeBankFinTech/DataSphereStudio/releases)),下载对应安装包。先解压安装包到安装目录,并对解压后的文件进行配置修改 - -``` - tar -xvf wedatasphere-dss-x.x.x-dist.tar.gz -``` - - -### c. 修改基础配置 - -``` - vi conf/config.sh -``` - -```properties - - - deployUser=hadoop #指定部署用户 - - DSS_INSTALL_HOME=$workDir #默认为上一级目录 - - WORKSPACE_USER_ROOT_PATH=file:///tmp/Linkis #指定用户根目录,存储用户的脚本文件和日志文件等,是用户的工作空间。 - - RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis # 结果集文件路径,用于存储Job的结果集文件 - -``` - -### d. 修改数据库配置 - -```bash - vi conf/db.sh -``` - -```properties - # 设置DSS-Server和Eventchecker AppJoint的数据库的连接信息,需要和linkis保持同库 - MYSQL_HOST= - MYSQL_PORT= - MYSQL_DB= - MYSQL_USER= - MYSQL_PASSWORD= -``` - -### 2.3 前端端环境配置准备 - -### a、下载安装包 - - 点击[release](https://github.com/WeBankFinTech/DataSphereStudio/releases) 下载对应安装包,并在安装目录进行解压: - -```bash - unzip wedatasphere-dss-web-x.x.x-dist.zip -``` - -##### 注意:如果DSS前端安装包是用户自行编译的,则需要把[visualis前端安装包](https://github.com/WeBankFinTech/Visualis/releases)复制到DSS前端安装目录的dss/visualis文件夹下,以供自动化安装使用 - -### b、配置修改 - -    进入前端工作目录,在该目录下编辑: - - -```bash - vi conf/config.sh -``` - -更改dss的前端端口和后端linkis的gateway的IP地址及端口 - -``` -# Configuring front-end ports -dss_port="8088" - -# URL of the backend linkis gateway -linkis_url="http://127.0.0.1:9001" - -# dss ip address -dss_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'|awk 'NR==1') -``` - - 环境准备完毕,点我进入 [五、安装和使用](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#%E4%BA%94%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8) - - ----- - -## 三、简单版DSS环境配置准备 -DSS环境配置准备分为三部分,前后端基础软件安装、后端环境配置准备和前端环配置境准备,详细介绍如下: -### 3.1 前后端基础软件安装 -Linkis简单版(0.9.4及以上),[如何安装Linkis](https://github.com/WeBankFinTech/Linkis/wiki/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8Linkis) - -JDK (1.8.0_141以上),[如何安装JDK](https://www.runoob.com/java/java-environment-setup.html) - -MySQL (5.5+),[如何安装MySQL](https://www.runoob.com/mysql/mysql-install.html) - -Nginx,[如何安装Nginx](https://www.tecmint.com/install-nginx-on-centos-7/) - -### 3.2 后端环境配置准备 - -### a. 创建用户 - - 例如: **部署用户是hadoop账号** - -在部署机器上创建部署用户,使用该用户进行安装。 -``` - sudo useradd hadoop -``` - -##### 注意:用户需要有sudo权限,且可免密登陆本机。[如何配置SSH免密登陆](https://linuxconfig.org/passwordless-ssh) -``` - vi /etc/sudoers - - hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL -``` - -### b. 安装包准备 - -从DSS已发布的release中([点击这里进入下载页面](https://github.com/WeBankFinTech/DataSphereStudio/releases)),下载对应安装包。先解压安装包到安装目录,并对解压后的文件进行配置修改 - -``` - tar -xvf wedatasphere-dss-x.x.x-dist.tar.gz -``` -##### 注意:如果安装包是用户自行编译的,则需要把[visualis-server安装包](https://github.com/WeBankFinTech/Visualis/releases)复制到DSS安装目录的share/visualis-server文件夹下,以供自动化安装使用 - -### c. 修改基础配置 - -``` - vi conf/config.sh -``` - -```properties - - - deployUser=hadoop #指定部署用户 - - DSS_INSTALL_HOME=$workDir #默认为上一级目录 - - WORKSPACE_USER_ROOT_PATH=file:///tmp/Linkis #指定用户根目录,存储用户的脚本文件和日志文件等,是用户的工作空间。 - - RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis # 结果集文件路径,用于存储Job的结果集文件 - - #用于DATACHECK校验 - HIVE_META_URL=jdbc:mysql://127.0.0.1:3306/hivemeta?characterEncoding=UTF-8 - HIVE_META_USER=xxx - HIVE_META_PASSWORD=xxx - -``` - -### d. 修改数据库配置 - -```bash - vi conf/db.sh -``` - -```properties - # 设置DSS-Server和Eventchecker AppJoint的数据库的连接信息,需要和linkis保持同库 - MYSQL_HOST= - MYSQL_PORT= - MYSQL_DB= - MYSQL_USER= - MYSQL_PASSWORD= -``` - -### 3.3 前端端环境配置准备 - -### a、下载安装包 - - 点击[release](https://github.com/WeBankFinTech/DataSphereStudio/releases) 下载对应安装包,并在安装目录进行解压: - ```bash - unzip wedatasphere-dss-web-x.x.x-dist.zip - ``` -##### 注意:如果DSS前端安装包是用户自行编译的,则需要把[visualis前端安装包](https://github.com/WeBankFinTech/Visualis/releases)复制到DSS前端安装目录的dss/visualis文件夹下,以供自动化安装使用 - -### b、配置修改 - -    进入前端工作目录,在该目录下编辑 -```bash - vi conf/config.sh -``` - -更改dss的前端端口和后端linkis的gateway的IP地址及端口 -``` -# Configuring front-end ports -dss_port="8088" - -# URL of the backend linkis gateway -linkis_url="http://127.0.0.1:9001" - -# dss ip address -dss_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'|awk 'NR==1') -``` - - 环境准备完毕,点我进入 [五、安装和使用](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#%E4%BA%94%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8) - -## 四、标准版DSS环境配置准备 -标准版DSS环境准备也分为三部分,前后端基础软件安装、后端环境准备和前端环境准备,详细介绍如下: -### 4.1 前后端基础软件安装 -Linkis标准版(0.9.4及以上),[如何安装Linkis](https://github.com/WeBankFinTech/Linkis/wiki/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8Linkis) - -JDK (1.8.0_141以上),[如何安装JDK](https://www.runoob.com/java/java-environment-setup.html) - -MySQL (5.5+),[如何安装MySQL](https://www.runoob.com/mysql/mysql-install.html) - -Nginx,[如何安装Nginx](https://www.tecmint.com/install-nginx-on-centos-7/) - -Qualitis [如何安装Qualitis](https://github.com/WeBankFinTech/Qualitis/blob/master/docs/zh_CN/ch1/%E5%BF%AB%E9%80%9F%E6%90%AD%E5%BB%BA%E6%89%8B%E5%86%8C.md) - -Azkaban [如何安装Azkaban](https://github.com/azkaban/azkaban) -##### 注意:支持Azkaban调度需要配套安装linkis-jobtype,请点击[Linkis jobType安装文档](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/Azkaban_LinkisJobType_Deployment_Manual.md) - -### 4.2 后端环境配置准备 - -### a. 创建用户 - - 例如: **部署用户是hadoop账号** - -在部署机器上创建部署用户,使用该用户进行安装。 -``` - sudo useradd hadoop -``` - -##### 注意:用户需要有sudo权限,且可免密登陆本机。[如何配置SSH免密登陆](https://linuxconfig.org/passwordless-ssh) -``` - vi /etc/sudoers - - hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL -``` - -### b. 安装包准备 - -从DSS已发布的release中([点击这里进入下载页面](https://github.com/WeBankFinTech/DataSphereStudio/releases)),下载对应安装包。先解压安装包到安装目录,并对解压后的文件进行配置修改 - -``` - tar -xvf wedatasphere-dss-x.x.x-dist.tar.gz -``` -##### 注意:如果安装包是用户自行编译的,则需要把[visualis-server安装包](https://github.com/WeBankFinTech/Visualis/releases)复制到DSS安装目录的share/visualis-server文件夹下,以供自动化安装使用 - -### c. 修改基础配置 - -``` - vi conf/config.sh -``` - -```properties - - - deployUser=hadoop #指定部署用户 - - DSS_INSTALL_HOME=$workDir #默认为上一级目录 - - WORKSPACE_USER_ROOT_PATH=file:///tmp/Linkis #指定用户根目录,存储用户的脚本文件和日志文件等,是用户的工作空间。 - - RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis # 结果集文件路径,用于存储Job的结果集文件 - - WDS_SCHEDULER_PATH=file:///appcom/tmp/wds/scheduler #DSS工程转换成Azkaban工程后zip包的存储路径 - - #1、用于DATACHECK - HIVE_META_URL=jdbc:mysql://127.0.0.1:3306/hivemeta?characterEncoding=UTF-8 - HIVE_META_USER=xxx - HIVE_META_PASSWORD=xxx - #2、用于Qualitis - QUALITIS_ADRESS_IP=127.0.0.1 #QUALITIS服务IP地址 - QUALITIS_ADRESS_PORT=8090 #QUALITIS服务端口号 - #3、用于AZKABAN - AZKABAN_ADRESS_IP=127.0.0.1 #AZKABAN服务IP地址 - AZKABAN_ADRESS_PORT=8091 #AZKABAN服务端口号 - -``` - -### d. 修改数据库配置 - -```bash - vi conf/db.sh -``` - -```properties - # 设置DSS-Server和Eventchecker AppJoint的数据库的连接信息,需要和linkis保持同库 - MYSQL_HOST= - MYSQL_PORT= - MYSQL_DB= - MYSQL_USER= - MYSQL_PASSWORD= -``` - -### 4.3 前端环境配置准备 - -### a、下载安装包 - - 点击[release](https://github.com/WeBankFinTech/DataSphereStudio/releases) 选择安装包下载,并在安装目录进行解压: - ```bash - unzip wedatasphere-dss-web-x.x.x-dist.zip - ``` -##### 注意:如果DSS前端安装包是用户自行编译的,则需要把[visualis前端安装包](https://github.com/WeBankFinTech/Visualis/releases)复制到DSS前端安装目录的dss/visualis文件夹下,以供自动化安装使用 - -### b、配置修改 - -    进入前端工作目录,在该目录下编辑 -```bash - vi conf/config.sh -``` - - -更改dss的前端端口和后端linkis的gateway的IP地址及端口 -``` -# Configuring front-end ports -dss_port="8088" - -# URL of the backend linkis gateway -linkis_url="http://127.0.0.1:9001" - -# dss ip address -dss_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'|awk 'NR==1') -``` - - 环境准备完毕,点我进入 [五、安装和使用](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/DSS%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#%E4%BA%94%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8) - -## 五、安装和使用 - -### 5.1. DataSphereStudio 后台安装: - -### a. 执行安装脚本: - -```bash - sh bin/install.sh -``` - -### b. 安装步骤 - -- install.sh脚本会询问您安装模式。 - -     安装模式就是简单模式或标准模式,请根据您准备的环境情况,选择合适的安装模式,精简版、简单模式和标准模式都会检查mysql服务,标准模式还会检测Qualitis服务和Azkaban外部server服务,如果检测失败会直接退出安装。 - -- 安装过程如果有很多cp 命令提示您是否覆盖安装,说明您的系统配置有别名,输入alias,如果有cp、mv、rm的别名,如果有可以去掉,就不会再有大量提示。 - -- install.sh脚本会询问您是否需要初始化数据库并导入元数据。 -     因为担心用户重复执行install.sh脚本,把数据库中的用户数据清空,所以在install.sh执行时,会询问用户是否需要初始化数据库并导入元数据。 -     **第一次安装**必须选是。 - - -### c. 是否安装成功: - -        通过查看控制台打印的日志信息查看是否安装成功。 - -        您也可以通过查看我们的[常见问题]([https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch1/DSS%E5%AE%89%E8%A3%85%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%88%97%E8%A1%A8.md](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch1/DSS%E5%AE%89%E8%A3%85%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%88%97%E8%A1%A8.md)),获取问题的解答。 - -### d. 启动DataSphereStudio后台服务 - -#### (1)、启动服务: - - 在安装目录执行以下命令,启动所有服务: - - ./bin/start-all.sh > start.log 2>start_error.log - -#### (2)、查看是否启动成功 - - 可以在Eureka界面查看服务启动成功情况,查看方法: - - 使用http://${EUREKA_INSTALL_IP}:${EUREKA_PORT}, 在浏览器中打开,查看服务是否注册成功。 - - 如果您没有在config.sh指定EUREKA_INSTALL_IP和EUREKA_INSTALL_IP,则HTTP地址为:http://127.0.0.1:20303 - - 如下图,如您的Eureka主页出现以下微服务,则表示服务都启动成功,可以正常对外提供服务了: - - ![Eureka](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/images/zh_CN/chapter2/quickInstallUse/quickInstall.png) - -### 5.2 DataSphereStudio前端安装 - -### a、部署 - -    进入前端工作目录,执行安装脚本 - - -```bash - sh bin/install.sh -``` - -执行完后可以直接通过在谷歌浏览器访问: - -```http://dss_ipaddr:dss_port``` - -其中dss_port为config.sh里面配置的端口,dss_ipaddr为安装机器的IP。 - -如果访问失败:可以通过查看 install.log的日志查看哪一步出错 - -#### b、如果您想手动安装前端,具体步骤如下: - -1.修改配置文件:sudo vi /etc/nginx/conf.d/dss.conf -添加如下内容: -``` -server { - listen 8088;# 访问端口 - server_name localhost; - #charset koi8-r; - #access_log /var/log/nginx/host.access.log main; - location /dss/visualis { - root /appcom/Install/DSS/FRONT; # visualis静态文件目录 - autoindex on; - } - location / { - root /appcom/Install/DSS/FRONT/dist; # 前端包解压的目录 - index index.html index.html; - } - location /ws {#webSocket配置支持 - proxy_pass http://192.168.xxx.xxx:9001;#linkis-gateway服务的ip端口 - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } - location /api { - proxy_pass http://192.168.xxx.xxx:9001; # linkis-gateway服务的ip端口 - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header x_real_ipP $remote_addr; - proxy_set_header remote_addr $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_http_version 1.1; - proxy_connect_timeout 4s; - proxy_read_timeout 600s; - proxy_send_timeout 12s; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection upgrade; - } - #error_page 404 /404.html; - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } - } - -``` - -### 2.将前端包拷贝到对应的目录: -```/appcom/Install/DSS/FRONT; # 前端包安装目录 ``` - -##### 注意: 手动安装DSS前端,则需要到DSS前端安装目录的dss/visualis文件夹下,解压visualis前端安装包,用于自动化安装visualis前端。 - -### 3.启动服务 -```sudo systemctl restart nginx``` - -### 4.谷歌浏览器访问: -```http://nginx_ip:nginx_port``` - -**DSS登录用户和登录密码都是部署DSS的Linux用户名,更多用户配置,详见** [Linkis LDAP](https://github.com/WeBankFinTech/Linkis/wiki/%E9%83%A8%E7%BD%B2%E5%92%8C%E7%BC%96%E8%AF%91%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93) - -如何详细使用DSS, 点我进入 [DSS快速使用文档](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch3/DSS_User_Manual.md) - -### 5.3、常见问题 - -[DSS安装常见问题](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch1/DSS%E5%AE%89%E8%A3%85%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%88%97%E8%A1%A8.md) diff --git a/docs/zh_CN/ch3/DSS_User_Manual.md b/docs/zh_CN/ch3/DSS_User_Manual.md deleted file mode 100644 index fbc742008..000000000 --- a/docs/zh_CN/ch3/DSS_User_Manual.md +++ /dev/null @@ -1,237 +0,0 @@ -## 快速登录 -      为了方便用户使用,系统默认通过使用Linkis的部署用户名进行登录,比如是hadoop部署的可以直接通过 用户:hadoop,密码:hadoop(密码就是用户名)来进行登录。 首先输入前端容器地址:192.168.xx.xx:8888 接着输入用户名密码:hadoop/hadoop -![quick_start00](/images/zh_CN/chapter3/quickstart/quick_start00.png) - -__注意:__ 如果要支持多用户登录,DSS的用户登录依赖Linkis,需要在linkis-GateWay的配置里面进行配置,Linkis-GateWay默认支持LDAP。 - -## 1 功能简介 -       DSS作为一站式数据应用开发门户,定位为闭环涵盖数据应用的全流程,满足从数据ETL、数据研发、可视化展现、数据治理、数据输出到工作流调度的数据应用全生命周期开发场景,现已经开源的组件包括如下图所示: - -![functions](/images/zh_CN/chapter3/manual/functions.png) - -- 工作流服务——Workflow: 支持工作流的托拉拽生成,支持实时执行,支持发布到调度服务 -- 数据研发———Scriptis:为DSS集成数据开发能力,支持各类型脚本语言的在线开发,详细介绍请点击[Scriptis使用手册](https://github.com/WeBankFinTech/Scriptis/blob/master/docs/zh_CN/ch4/Scriptis%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.md) -- 数据可视化——Visualis: 提供可视化能力,允许数据大屏和仪表盘作为DSS应用开发节点,详细介绍请点击[Visualis使用手册](https://github.com/WeBankFinTech/Visualis); -- 数据发送——SendEmail: 为DSS集成数据发送能力,支持table,DashBoard,文本等的发送; -- 数据质量——Qualitis: 为DSS集成数据校验能力,将数据质量系统集成到DSS工作流开发中,对数据完整性、正确性等进行校验[Qualitis使用手册](https://github.com/WeBankFinTech/Qualitis/blob/master/docs/zh_CN/ch1/%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C.md); -- 信号节点:事件节点(发送和接收),用于信号的传递,需要配对使用。DataChecker:用于检查Hive中的表是否准备好,如果准备后则开始执行下面的流程; -- 功能节点:连接节点(空节点),用于做连接用,子工作流,用于工作流嵌套。 - -下面将对这些组件的功能进行详细介绍 - -## 2 DSS首页介绍 -### 2.1 已经集成组件展示: -       首页对DSS集成的组件的全流程进行了展示和示意,其中每个组件的展示都支持直接跳转到对应的服务: - -![components](/images/zh_CN/chapter3/manual/components.png) - -如点击Scriptis图标会跳转到数据开发组件Scriptis的首页: - -![components02](/images/zh_CN/chapter3/manual/components02.png) - - -### 2.2 DSS 工程: -       DSS为用户构建了工程业务流程两层结构,当用户选择一个工程进行进入后,在所有组件中的操作都只与该工程相关,让用户更加清晰的去定义工程和业务的关系。 -- 工程:您可以通过将一个产品对应到一个工程,用来涵盖该产品下的多个业务流程 -- 工作流:对应一个业务流程,让您在开发的过程中以业务的视角来组织和系统开发 - -1. 现阶段工程支持版本控制,发布等功能,后续会对协同开发进行支持: - -![project](/images/zh_CN/chapter3/manual/project.png) - -2. 工程版本新建(回滚):可以通过设置当前版本作为源版本复制为最新版本。 - -3. 工程复制:以工程的最新版本为源工程,复制出新工程,初始版本工作流内容为源工程最新版本的工作流。注意:**工程名是唯一,不可重复** - -## 3工作流——workflow -### 3.1 工作流spark节点 -       spark节点分别支持sql、pyspark、scala三种方式执行spark任务,使用时只需将节点拖拽至工作台后编写代码即可。 -### 3.2 工作流hive节点 -       hive节点支持sql方式执行hive任务,使用时只需将节点拖拽至工作台后编写hivesql代码即可。 -### 3.3 工作流python节点 -       python节点支持执行python任务,使用时只需将节点拖拽至工作台后编写python代码即可。 -### 3.4 工作流shell节点 -       shell节点支持执行shell命令或者脚本运行,使用时只需将节点拖拽至工作台后编写shell命令即可。 -### 3.5 工作流jdbc节点 -       jdbc节点支持以jdbc方式运行sql命令,使用时只需将节点拖拽至工作台后编写sql即可,**注意需要提前在linkis console管理台配置jdbc连接信息。** -### 3.6 工作流编排 -       当点击一个对应的工程后,既可以进入工程首页,在工程首页可以做工作流的编排。 -1. 首先需要创建工作流 -![workflow01](/images/zh_CN/chapter3/manual/workflow01.png) -2. 建立好工作流好就可以进行组件节点的托拉拽了,支持第一章所提到的组件节点编排: -![workflow02](/images/zh_CN/chapter3/manual/workflow02.png) -3. 节点支持右键功能包括,删除、依赖选择、复制等基本功能,同时数据开发节点还支持脚本关联 -![workflow03](/images/zh_CN/chapter3/manual/workflow03.png) - -### 3.7 工作流节点打开 -节点支持双击打开: -1. 数据开发节点:点开后即可进入Scriptis进行脚本编辑 -![workflow04](/images/zh_CN/chapter3/manual/workflow04.png) -2. 子工作流节点:双击后跳转到子工作流编辑页面 -![workflow05](/images/zh_CN/chapter3/manual/workflow05.png) -3. 数据质量节点:跳转到数据质量规则配置页面 -![workflow06](/images/zh_CN/chapter3/manual/workflow06.png) -4. 数据可视化节点:跳转到对应的可视化编辑页面 -![workflow07](/images/zh_CN/chapter3/manual/workflow07.png) - -### 3.8 层级切换 -1. 支持多层级切换:支持快速工程切换、支持在工作流页面切换工作流、支持在单个工作流中切换节点 -![workflow08](/images/zh_CN/chapter3/manual/workflow08.png) - -2. 右上角支持多组件快速切换,在切换后进入的组件的内容都只与该工程相关,让用户更加清晰的去定义工程和业务的内容: -![functions](/images/zh_CN/chapter3/manual/functions.png) - -### 3.9 参数和资源设置 - -1. 工作流上下文信息设置,支持工作流参数、变量、代理用户等 - -![workflow_09](/images/zh_CN/chapter3/manual/workflow_09.png) - -2. 支持工作流资源文件设置 -![workflow10](/images/zh_CN/chapter3/manual/workflow10.png) -支持工程级别、工作流级别、节点级别资源文件使用,您只需要在脚本中指定对应的级别就好:比如有一个test.txt 在脚本python脚本打开一个文件: -``` -open("project://test.txt", encoding="utf-8") #工程级资源文件使用project://开头 -open("flow://test.txt", encoding="utf-8") #工作流级资源文件使用flow://开头 -open("node://test.txt", encoding="utf-8") #节点级资源文件使用node://开头 -``` - -### 3.10 工作流实时执行 -1. 除了功能节点中的subflow会跳过执行,连接节点会作为空节点运行,其他都支持实时执行 -![workflow11](/images/zh_CN/chapter3/manual/workflow11.png) -2. 用户编辑好工作流后点击执行就可以将工作流进行运行,您将看到实时的工作流运行起来可以看到现在运行节点的时间,同时可以右键节点打开节点的管理台去展示该节点的进度,运行结果,运行日志等。支持任务停止等功能 -![workflow12](/images/zh_CN/chapter3/manual/workflow12.png) - - -### 3.11 工作流调度执行 -1. DSS的工程支持发布调度,默认支持发布到Azkaban,同样DSS的调度部分做了深层次的抽象可以做到对其他的调度系统快速支持。发布前会对工作流进行解析,以确保工作流是可以调度运行的: -![workflow13](/images/zh_CN/chapter3/manual/workflow13.png) -2. 发布后即可到调度系统中进行查看,比如去Azkaban页面上进行查看: -![workflow14](/images/zh_CN/chapter3/manual/workflow14.png) -3. DSS如何对接调度系统可以参考:[]() - -### 3.12 工作流版本 -1. 工作流创建完成后,具有初始版本,版本号为v000001,直接点击工作流图标时,默认打开工作流的最新版本 -2. 可以查看工作流的版本,方便您进行历史版本查看: -![workflow15](/images/zh_CN/chapter3/manual/workflow15.png) - -### 3.13 工作流布局修改 -1. 工作流格式化:当工作流节点过多,界面太乱时。可以点击节点编辑页的右上方第四个“格式化”按钮。快速美化节点界面: -![workflow16](/images/zh_CN/chapter3/manual/workflow16.png) -如果格式化后不满意,可再次点击节点编辑页的右上方第五个“恢复”按钮,恢复到之前的状态: -![workflow17](/images/zh_CN/chapter3/manual/workflow17.png) - -2. 支持放大、缩小、全屏/取消全屏 按钮可调整界面大小比例 - -3. 多个节点移动: - - 第一种方式是按住键盘“shift”+鼠标拖动,完全包括住的节点为选中节点,选中的节点有一圈灰色轮廓色。此时即可进行移动了 - - 第二种方式为按住键盘“ctrl”+鼠标点击选中的节点,选中的节点有一圈灰色轮廓色。此时即可进行移动了 -![workflow18](/images/zh_CN/chapter3/manual/workflow18.png) - - - -## 4 信号节点的使用: - -### 4.1 eventSender节点: -       EventSender节点用于进行信息发送,将一段信息事件进行发送给eventReceiver。常见场景工程与工程间有依赖,工作流与工作流间有信息依赖。比如B任务依赖A任务的某些信息(A任务成功B节点才能开始执行),eventSender支持如下参数: -``` -1. msg.type: 用来指定Job的类型,SEND用于发送消息,RECEIVE用于接收消息。 - -2. msg.sender: 指定消息的发送者,需使用ProjectName@WFName@JobName的格式进行定义。 - -3. msg.topic: 指定消息的主题,建议使用如下格式: 一级分类编码+“”+二级分类编码+“”+三级分类编码。 - -4. msg.name: 指定消息名称,由用户自定义。 - -5. msg.body: 指定消息的内容,没有内容发送可以为空。 - -6. **注意:msg.type默认不可变为SEND,msg.sender、msg.topic、msg.name是必填。** -``` -![signal_01](/images/zh_CN/chapter3/manual/signal_01.png) - - -示例: -``` -msg.type=SEND - -msg.sender=project01@flow@job01 - -msg.topic=bdp_tac_test - -msg.name=TestDynamicReceive - -msg.body=${msg.mycontent} -``` - -### 4.2 eventReceiver节点: - -       EventReceiver节点用于接收eventSender发送过来的消息,并将接收过来的消息内容存放到工作流的上下文中,后续的节点会根据前缀去找该信息进行使用比如作为自定义变量进行使用,eventReceiver支持如下参数: -``` -1. msg.type: 用来指定Job的类型,SEND用于发送消息,RECEIVE用于接收消息。 - -2. msg.receiver: 指定消息的接收者,需使用projectname@jobname@rtxname的格式进行定义。 - -3. msg.topic: 指定消息的主题,建议使用如下格式: 一级分类编码+“”+二级分类编码+“”+三级分类编码。 - -4. msg.name: 指定消息名称,由用户自定义。 - -5. query.frequency: 由于接收消息使用的是主动轮询的方式,wait.time期间的查询次数,。 - -6. max.receive.hours: 最长的接收时长,以小时为单位,超过时长未接收到消息返回失败,。 - -7. msg.savekey: 用于保存消息内容key值,单个flow内多个接收job,需指定不同的msg.savekey保存消息内容,默认值为msg.body,后续Job可以使用该key值获取消息内容。 - -8. only.receive.today: 如果为true 有且只能接收job启动当天发来的消息 - -9. **注意:msg.type默认不可变为RECEIVE,msg.receiver、msg.topic、msg.name是必填。** -``` -示例使用4.1节的eventSender的信息: -1. 配置reveive接收对应的topic信息,并通过msg.savekey进行保存 -![signal02](/images/zh_CN/chapter3/manual/signal02.png) - -2. 在hql节点中使用receiver的msg.savekey作为自定义变量 -![signal03](/images/zh_CN/chapter3/manual/signal03.png) - -3. 通过上图的运行可以知道整个流程下来hql节点读取到了eventsender发送的信息。信号节点支持跨工程和工作流,这里只是示例使用 - - -### 4.3 dataCheck节点: -       DataCheck节点用于检测数据是否ready,可以判断hive库中某个表或者分区是否存在,如果存在则进行下游的执行,在有数据依赖的任务中扮演十分重要的作用替换掉以前口头约定好的时间开始运行。 -dataCheck支持如下参数: -``` -1. source.type: 依赖的数据来源,job表示是由其他job产生 - -2. check.object: 依赖数据的名称例如:data.object.1=dbname.tablename{partitionlist} - -3. max.check.hours: 描述任务的等待时间,单位是小时 - -4. job.desc: 追加多源信息配置。 -``` -![signal04](/images/zh_CN/chapter3/manual/signal04.png) - - -## 5.数据输出节点 -### 5.1 SendEmail节点 -       SendEmail节点一般作为工作流的最后一个节点,用于将工作流前面的结果信息进行发送,支持发送表格、文本、DashBoard、Display、图片等,用户在使用的时候直接选择发送的对应节点就行: -sendEmail支持如下参数: -``` -类型:支持节点、文字、文件、链接 -邮件标题:指定邮件表提 -发送项:发送的具体内容,例如:类型是节点则这里选择节点 -关联审批单:该邮件是否走过审批,如果未则不会进行发送 -其他邮件基本属性:收件人、抄送、秘密抄送 -``` -![sendemail01](/images/zh_CN/chapter3/manual/sendemail01.png) - -## 6.功能节点 -### 6.1 连接节点: -       Connector节点的作用是为了作为节点与节点的连接,让工作流更加好看: -![connector](/images/zh_CN/chapter3/manual/connector.png) - -### 6.2 子工作流: -       Subflow节点是您可以在一条工作流中嵌入一条子工作流,子工作流支持发布调度,但是在实时执行时父工作流的subflow节点会跳过执行,需要跳到子工作流编辑页面进行执行: -![subflow01](/images/zh_CN/chapter3/manual/subflow01.png) - - - - diff --git a/docs/zh_CN/ch3/DSS_User_Tests1_Scala.md b/docs/zh_CN/ch3/DSS_User_Tests1_Scala.md deleted file mode 100644 index 70c0b0331..000000000 --- a/docs/zh_CN/ch3/DSS_User_Tests1_Scala.md +++ /dev/null @@ -1,82 +0,0 @@ -# DSS用户测试样例1:Scala - -DSS用户测试样例的目的是为平台新用户提供一组测试样例,用于熟悉DSS的常见操作,并验证DSS平台的正确性 - -![image-20200408211243941](../../../images/zh_CN/chapter3/tests/home.png) - -## 1.1 Spark Core(入口函数sc) - -在Scriptis中,已经默认为您注册了SparkContext,所以直接使用sc即可: - -### 1.1.1 单Value算子(Map算子为例) - -```scala -val rddMap = sc.makeRDD(Array((1,"a"),(1,"d"),(2,"b"),(3,"c")),4) -val res = rddMap.mapValues(data=>{data+"||||"}) -res.collect().foreach(data=>println(data._1+","+data._2)) -``` - -### 1.1.2 双Value算子(union算子为例) - -```scala -val rdd1 = sc.makeRDD(1 to 5) -val rdd2 = sc.makeRDD(6 to 10) -val rddCustom = rdd1.union(rdd2) -rddCustom.collect().foreach(println) -``` - -### 1.1.3 K-V算子(reduceByKey算子为例子) - -```scala -val rdd1 = sc.makeRDD(List(("female",1),("male",2),("female",3),("male",4))) -val rdd2 = rdd1.reduceByKey((x,y)=>x+y) -rdd2.collect().foreach(println) -``` - -### 1.1.4 执行算子(以上collect算子为例) - -### 1.1.5 从hdfs上读取文件并做简单执行 - -```scala -case class Person(name:String,age:String) -val file = sc.textFile("/test.txt") -val person = file.map(line=>{ - val values=line.split(",") - - Person(values(0),values(1)) -}) -val df = person.toDF() -df.select($"name").show() -``` - - - -## 1.2 UDF函数测试 - -### 1.2.1 函数定义 - - - -```scala -def ScalaUDF3(str: String): String = "hello, " + str + "this is a third attempt" -``` - -### 1.2.2 注册函数 - -函数-》个人函数-》右击新增spark函数=》注册方式同常规spark开发 - -​ ![img](../../../images/zh_CN/chapter3/tests/udf1.png) - -## 1.3 UDAF函数测试 - -### 1.3.1 Jar包上传 - -​ idea上开发一个求平均值的udaf函数,打成jar(wordcount)包,上传dss jar文件夹。 - -​ ![img](../../../images/zh_CN/chapter3/tests/udf2.png) - -### 1.3.2 注册函数 - -函数-》个人函数-》右击新增普通函数=》注册方式同常规spark开发 - - ![img](../../../images/zh_CN/chapter3/tests/udf-3.png) \ No newline at end of file diff --git a/docs/zh_CN/ch3/DSS_User_Tests2_Hive.md b/docs/zh_CN/ch3/DSS_User_Tests2_Hive.md deleted file mode 100644 index 800277ca0..000000000 --- a/docs/zh_CN/ch3/DSS_User_Tests2_Hive.md +++ /dev/null @@ -1,148 +0,0 @@ -# DSS用户测试样例2:Hive - -DSS用户测试样例的目的是为平台新用户提供一组测试样例,用于熟悉DSS的常见操作,并验证DSS平台的正确性 - -![image-20200408211243941](../../../images/zh_CN/chapter3/tests/home.png) - -## 2.1 数仓建表 - -​ 进入“数据库”页面,点击“+”,依次输入表信息、表结构和分区信息即可创建数据库表: - -image-20200408212604929 - -​ ![img](../../../images/zh_CN/chapter3/tests/hive2.png) - -​ 通过以上流程,分别创建部门表dept、员工表emp和分区员工表emp_partition,建表语句如下: - -```sql -create external table if not exists default.dept( - deptno int, - dname string, - loc int -) -row format delimited fields terminated by '\t'; - -create external table if not exists default.emp( - empno int, - ename string, - job string, - mgr int, - hiredate string, - sal double, - comm double, - deptno int -) -row format delimited fields terminated by '\t'; - -create table if not exists emp_partition( - empno int, - ename string, - job string, - mgr int, - hiredate string, - sal double, - comm double, - deptno int -) -partitioned by (month string) -row format delimited fields terminated by '\t'; -``` - -**导入数据** - -目前需要通过后台手动批量导入数据,可以通过insert方法从页面插入数据 - -```sql -load data local inpath 'dept.txt' into table default.dept; -load data local inpath 'emp.txt' into table default.emp; -load data local inpath 'emp1.txt' into table default.emp_partition; -load data local inpath 'emp2.txt' into table default.emp_partition; -load data local inpath 'emp2.txt' into table default.emp_partition; -``` - -其它数据按照上述语句导入,样例数据文件路径在:`examples\ch3` - -## 2.2 基本SQL语法测试 - -### 2.2.1 简单查询 - -```sql -select * from dept; -``` - -### 2.2.2 Join连接 - -```sql -select * from emp -left join dept -on emp.deptno = dept.deptno; -``` - -### 2.2.3 聚合函数 - -```sql -select dept.dname, avg(sal) as avg_salary -from emp left join dept -on emp.deptno = dept.deptno -group by dept.dname; -``` - -### 2.2.4 内置函数 - -```sql -select ename, job,sal, -rank() over(partition by job order by sal desc) sal_rank -from emp; -``` - -### 2.2.5 分区表简单查询 - -```sql -show partitions emp_partition; -select * from emp_partition where month='202001'; -``` - -### 2.2.6 分区表联合查询 - -```sql -select * from emp_partition where month='202001' -union -select * from emp_partition where month='202002' -union -select * from emp_partition where month='202003' -``` - -## 2.3 UDF函数测试 - -### 2.3.1 Jar包上传 - -进入Scriptis页面后,右键目录路径上传jar包: - -​ ![img](../../../images/zh_CN/chapter3/tests/hive3.png) - -测试样例jar包在`examples\ch3\rename.jar` - -### 4.3.2 自定义函数 - -进入“UDF函数”选项(如1),右击“个人函数”目录,选择“新增函数”: - -image-20200408214033801 - -输入函数名称、选择jar包、并填写注册格式、输入输出格式即可创建函数: - - ![img](../../../images/zh_CN/chapter3/tests/hive5.png) - -image-20200409155418424 - -获得的函数如下: - -​ ![img](../../../images/zh_CN/chapter3/tests/hive7.png) - -### 4.3.3 利用自定义函数进行SQL查询 - -完成函数注册后,可进入工作空间页面创建.hql文件使用函数: - -```sql -select deptno,ename, rename(ename) as new_name -from emp; -``` diff --git a/docs/zh_CN/ch3/DSS_User_Tests3_SparkSQL.md b/docs/zh_CN/ch3/DSS_User_Tests3_SparkSQL.md deleted file mode 100644 index aaf2fb44d..000000000 --- a/docs/zh_CN/ch3/DSS_User_Tests3_SparkSQL.md +++ /dev/null @@ -1,61 +0,0 @@ -# DSS用户测试样例3:SparkSQL - -DSS用户测试样例的目的是为平台新用户提供一组测试样例,用于熟悉DSS的常见操作,并验证DSS平台的正确性 - -![image-20200408211243941](../../../images/zh_CN/chapter3/tests/home.png) - -## 3.1RDD与DataFrame转换 - -### 3.1.1 RDD转为DataFrame - -```scala -case class MyList(id:Int) - -val lis = List(1,2,3,4) - -val listRdd = sc.makeRDD(lis) -import spark.implicits._ -val df = listRdd.map(value => MyList(value)).toDF() - -df.show() -``` - -### 3.1.2 DataFrame转为RDD - -```scala -case class MyList(id:Int) - -val lis = List(1,2,3,4) -val listRdd = sc.makeRDD(lis) -import spark.implicits._ -val df = listRdd.map(value => MyList(value)).toDF() -println("------------------") - -val dfToRdd = df.rdd - -dfToRdd.collect().foreach(print(_)) -``` - -## 3.2 DSL语法风格实现 - -```scala -val df = df1.union(df2) -val dfSelect = df.select($"department") -dfSelect.show() -``` - -## 3.3 SQL语法风格实现(入口函数sqlContext) - -```scala -val df = df1.union(df2) - -df.createOrReplaceTempView("dfTable") -val innerSql = """ - SELECT department - FROM dfTable - """ -val sqlDF = sqlContext.sql(innerSql) -sqlDF.show() -``` - -​ \ No newline at end of file diff --git a/docs/zh_CN/ch3/DataSphere_Studio_QuickStart.md b/docs/zh_CN/ch3/DataSphere_Studio_QuickStart.md deleted file mode 100644 index 9eebaa59c..000000000 --- a/docs/zh_CN/ch3/DataSphere_Studio_QuickStart.md +++ /dev/null @@ -1,36 +0,0 @@ -DataSphere Studio快速使用手册 -- -## 快速登录 -      为了方便用户使用,系统默认通过使用Linkis的部署用户名进行登录,比如是hadoop部署的可以直接通过 用户:hadoop,密码:hadoop(密码就是用户名)来进行登录。 首先输入前端容器地址:192.168.xx.xx:8888 接着输入用户名密码:hadoop/hadoop -![quick_start00](/images/zh_CN/chapter3/quickstart/quick_start00.png) - -__注意:__ 如果要支持多用户登录,DSS的用户登录依赖Linkis,需要在linkis-GateWay的配置里面进行配置,Linkis-GateWay默认支持LDAP。 - -## 创建工程 -      点击创建工程,填写关键信息即可创建: -![quick_start01](/images/zh_CN/chapter3/quickstart/quick_start01.png) - -## 创建工作流 -      点击创建工作流,填写关键信息即可创建: -![quick_start02](/images/zh_CN/chapter3/quickstart/quick_start02.png) - -## 工作流编辑 -       -1. 点击左边的对应的节点拖入到编辑框 -2. 点击节点右边会弹出该节点的配置信息: -![quick_start03](/images/zh_CN/chapter3/quickstart/quick_start03.png) -3. 双击节点,可以跳转对应节点系统的编辑页面: -![quick_start04](/images/zh_CN/chapter3/quickstart/quick_start04.png) - - -## 工作流运行 - -      点击执行按钮,工作流即可开始运行: -![quick_start05](/images/zh_CN/chapter3/quickstart/quick_start05.png) -## 工作流调度 - -      在DSS首页的工程展示区域,可以将工程发布到调度系统进行 -运行: -![quick_start06](/images/zh_CN/chapter3/quickstart/quick_start06.png) - -详细的使用手册建:[使用手册文档](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch3/DSS_User_Manual.md) \ No newline at end of file diff --git "a/docs/zh_CN/ch4/DSS\345\267\245\347\250\213\345\217\221\345\270\203\350\260\203\345\272\246\347\263\273\347\273\237\346\236\266\346\236\204\350\256\276\350\256\241.md" "b/docs/zh_CN/ch4/DSS\345\267\245\347\250\213\345\217\221\345\270\203\350\260\203\345\272\246\347\263\273\347\273\237\346\236\266\346\236\204\350\256\276\350\256\241.md" deleted file mode 100644 index 1dc37857d..000000000 --- "a/docs/zh_CN/ch4/DSS\345\267\245\347\250\213\345\217\221\345\270\203\350\260\203\345\272\246\347\263\273\347\273\237\346\236\266\346\236\204\350\256\276\350\256\241.md" +++ /dev/null @@ -1,30 +0,0 @@ -# DataSphere Studio发布调度系统架构设计 - - - -## 一、背景 - - 目前在大数据领域存在许多种批量定时调度系统,如Azkaban、Airflow、EasyScheduler等,DSS支持将设计好的DAG工作流 -发布到不同的调度系统,系统默认支持了发布到Azkaban的实现。在DSS中主要完工作流的编排设计,节点的参数设置, -脚本代码编写,图表设计等需要交互式的操作,还可以在DSS中实时执行,并调试好所有节点的可执行代码。发布到调度系统后 -,由调度系统根据定时任务的配置,定时调度执行。 - -## 二、架构设计 - -![发布调度架构图](../../../images/zh_CN/charpter3/publish/publichtoscheduling.png) - -## 三、发布流程 - -(1)从数据库读取最新版本的工程、工作流信息,获取所有的保存在BML库工作流JSON文件。 - -(2)将上面的数据库内容,JSON文件内容分别转成DSS中的DSSProject,DSSFlow,如果存在子flow,则需要一并设置到flow中,保持原来的层级关系和依赖关系,构建好DSSProject,其中包含了工程下所有的DSSFlow。 - 一个工作流JSON包含了所有节点的定义,并存储了节点之间的依赖关系,以及工作流自身的属性信息。 - -(3)将DSSProject经过工程转换器转成SchedulerProject,转成SchedulerProject的过程中,同时完成了DSSJSONFlow到SchedulerFlow的转换,也完成了DSSNode到SchedulerNode的转换。 - -(4)使用ProjectTuning对整个SchedulerProject工程进行tuning操作,用于完成工程发布前的整体调整操作,在Azkaban的实现中主要完成了工程的路径设置和工作流的存储路径设置。 - -(5)ProjectPublishHook操作,hook可以根据不同的调度系统进行实现,且可分为发布前的hook和发布后的hook,这些都会被统一执行。 - 发布前的hook包含对工程的解析,工作流的解析,节点的解析,以及生成对应的资源文件,属性文件,节点描述文件等。这个需要根据不同的调度系统进行实现。 - -(6)发布工程,打包好经过转换、解析生成的工程目录文件,并上传到对应的调度系统。 diff --git "a/docs/zh_CN/ch4/\345\211\215\347\253\257\347\274\226\350\257\221\346\226\207\346\241\243.md" "b/docs/zh_CN/ch4/\345\211\215\347\253\257\347\274\226\350\257\221\346\226\207\346\241\243.md" deleted file mode 100644 index ee447703a..000000000 --- "a/docs/zh_CN/ch4/\345\211\215\347\253\257\347\274\226\350\257\221\346\226\207\346\241\243.md" +++ /dev/null @@ -1,86 +0,0 @@ -# 编译文档中文版 - -## 启动流程 - -### 一、安装Node.js -将Node.js下载到电脑本地,安装即可。下载地址:[http://nodejs.cn/download/](http://nodejs.cn/download/) (建议使用最新的稳定版本) -**该步骤仅第一次使用时需要执行。** - -### 二、安装项目 -在终端命令行中执行以下指令: - -``` -git clone ${ipAddress} -cd DataSphereStudio/web -npm install -``` - -指令简介: -1. 将项目包从远程仓库拉取到电脑本地:git clone ${ipAddress} -2. 进入项目包根目录:cd DataSphereStudio/web -3. 安装项目所需依赖:npm install - -**该步骤仅第一次使用时需要执行。** - -### 三、配置 -您需要在代码中进行一些配置,如后端接口地址,后端socket地址等,如根目录下的.env.development文件: - -``` -// 后端接口地址 -VUE_APP_MN_CONFIG_PREFIX=http://yourIp:yourPort/yourPath -// 后端socket地址 -VUE_APP_MN_CONFIG_SOCKET=/yourSocketPath -``` - -配置的具体解释可参考vue-cli官方文档:[环境变量和模式](https://cli.vuejs.org/zh/guide/mode-and-env.html#%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%92%8C%E6%A8%A1%E5%BC%8F) - -### 打包项目 -您可以通过在终端命令行执行以下指令对项目进行打包,生成压缩后的代码: - -``` -npm run build -``` - -该指令成功执行后,项目根目录下会出现一个名叫 “dist” 的文件夹,该文件夹即为打包好的代码。您可以直接将该文件夹放进您的静态服务器中。 - -### 运行项目 -如果您想在本地浏览器上运行该项目并且改动代码查看效果,需要在终端命令行中执行以下指令: - -``` -npm run serve -``` - -在浏览器中(建议Chrome浏览器)通过链接访问应用:[http://localhost:8080/](http://localhost:8080/) . -当您使用该方式运行项目时,您对代码的改动产生的效果,会动态体现在浏览器上。 - -**注意:因为项目采用前后端分离开发,所以在本地浏览器上运行时,需要对浏览器进行设置跨域才能访问后端接口:** - -比如chrome浏览器: -windows系统下的配置方式: -1. 关闭所有的chrome浏览器。 -2. 新建一个chrome快捷方式,右键“属性”,“快捷方式”选项卡里选择“目标”,添加  --args --disable-web-security --user-data-dir=C:\MyChromeDevUserData -3. 通过快捷方式打开chrome浏览器 -mac系统下的配置方式: -在终端命令行执行以下命令(需要替换路径中的yourname,若还不生效请检查您机器上MyChromeDevUserData文件夹的位置并将路径复制到下面指令的“--user-data-dir=”后面) - -``` -open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/yourname/MyChromeDevUserData/ -``` - - -### 常见问题 - -#### npm install无法成功 -如果遇到该情况,可以使用国内的淘宝npm镜像: - -``` -npm install -g cnpm --registry=https://registry.npm.taobao.org -``` - -接着,通过执行以下指令代替npm install指令 - -``` -cnpm install -``` - -注意,项目启动和打包时,仍然可以使用npm run build和npm run serve指令 \ No newline at end of file diff --git "a/docs/zh_CN/ch4/\345\246\202\344\275\225\346\216\245\345\205\245\350\260\203\345\272\246\347\263\273\347\273\237Azkaban.md" "b/docs/zh_CN/ch4/\345\246\202\344\275\225\346\216\245\345\205\245\350\260\203\345\272\246\347\263\273\347\273\237Azkaban.md" deleted file mode 100644 index a6e307784..000000000 --- "a/docs/zh_CN/ch4/\345\246\202\344\275\225\346\216\245\345\205\245\350\260\203\345\272\246\347\263\273\347\273\237Azkaban.md" +++ /dev/null @@ -1,42 +0,0 @@ -## DSS如何手动安装接入调度系统Azkaban -           Azkaban目前是作为一个SchedulerAppJoint在DSS-SERVER中使用,通过AzkabanSchedulerAppJoint实现了Azkaban的工程服务和安全认证服务, - 主要提供了工程的创建、更新、发布、删除,以及安全认证服务相关的代理登录,Cookie保存等。 - - **前提条件:用户已经安装部署好社区版Azkaban-3.X以上版本。**[如何安装Azkaban](https://github.com/azkaban/azkaban) -#### **步骤:** -**1、Azkaban APPJoint安装及配置** - - 进入DSS安装包解压目录,复制share/appjoints/schedulis/dss-azkaban-appjoint.zip到DSS安装目录的dss-appjoints/schedulis文件夹下,解压即可。 - -**2、修改dss-server配置目录中linkis.properties配置,增加如下参数:** - -``` -wds.dss.appjoint.scheduler.azkaban.address=http://IP地址:端口 #Azkaban的http地址 -wds.dss.appjoint.scheduler.project.store.dir=file:///appcom/tmp/wds/scheduler #Azkaban发布包临时存储目录 -``` - -**3、数据库中dss_application表修改** - - 修改DSS数据库dss_application表中schedulis记录行,修改url的连接IP地址和端口,保持与Azkaban Server实际地址一致。 - 示例SQL: - -``` -INSERT INTO `dss_application` (`id`, `name`, `url`, `is_user_need_init`, `level`, `user_init_url`, `exists_project_service`, `project_url`, `enhance_json`, `if_iframe`, `homepage_url`, `redirect_url`) VALUES (NULL, 'schedulis', NULL, '0', '1', NULL, '0', NULL, NULL, '1', NULL, NULL); - -UPDATE `dss_application` SET url = 'http://IP地址:端口', project_url = 'http://IP地址:端口/manager?project=${projectName}',homepage_url = 'http://IP地址:端口/homepage' WHERE `name` in - ('schedulis'); -``` - -**4、Azkaban JobType插件安装** - -您还需为Azkaban安装一个JobType插件: linkis-jobtype,请点击[Linkis jobType安装文档](https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch2/Azkaban_LinkisJobType_Deployment_Manual.md) - -**5、用户token配置** - -##### 请在DSS-SERVER服务conf目录的token.properties文件中,配置用户名和密码信息,关联DSS和Azkaban用户,因为用户通过DSS创建工程后,要发布到azkaban,用户必须保持一致。示例: - -``` - 用户名=密码 -``` - -说明:由于每个公司都有各自的登录认证系统,这里只提供简单实现,用户可以实现SchedulerSecurityService定义自己的登录认证方法。azkaban用户管理可参考[Azkaban-3.x 用户管理](https://cloud.tencent.com/developer/article/1492734)及[官网](https://azkaban.readthedocs.io/en/latest/userManager.html) diff --git "a/docs/zh_CN/ch4/\347\254\254\344\270\211\346\226\271\347\263\273\347\273\237\346\216\245\345\205\245DSS\346\214\207\345\215\227.md" "b/docs/zh_CN/ch4/\347\254\254\344\270\211\346\226\271\347\263\273\347\273\237\346\216\245\345\205\245DSS\346\214\207\345\215\227.md" deleted file mode 100644 index 690682aab..000000000 --- "a/docs/zh_CN/ch4/\347\254\254\344\270\211\346\226\271\347\263\273\347\273\237\346\216\245\345\205\245DSS\346\214\207\345\215\227.md" +++ /dev/null @@ -1,235 +0,0 @@ -### 第三方系统接入DSS指南 -#### 1.指南介绍 -        本指南用于介绍第三方系统接入DSS系统的设计方案、具体实现以及举例进行说明。本指南适合于希望将自己的第三方系统接入DSS的用户阅读。 -#### 2.第三方系统接入DSS的设计方案 -        DSS(DataSphere Studio)从一开始就被设计成为一个开放的、具有强扩展能力的系统。DSS系统希望第三方系统是能以插拔式的方式接入,为了实现上述的理念,DSS提出了AppJoint(应用关节)的概念。AppJoint从作用上来说是连接两个系统,并为两个系统的协调运行提供服务。 -任务提交到DSS系统,并由DSS系统转发给第三方外部系统进行执行,必须要考虑并实现下面的几点功能。 -- 1).解决双方系统用户的鉴权问题。 -- 2).双方系统都需要对用户提交任务的元数据进行正确处理 -- 3).DSS系统要能以同步或者异步的方式正确地提交任务给第三方系统进行执行 -- 4).任务提交到第三方系统之后,外部系统需要能将日志、状态等信息返回给DSS系统 -- 5).第三方系统在任务执行完毕之后,将可能产生的任务结果等信息持久化到执行的路径 - -为了方便外部系统的接入,DSS提供了SDK的方式,maven依赖引入如下 -``` - - com.webank.wedatasphere.dss - dss-appjoint-core - ${dss.version} - -``` - -        dss-appjoint-core提供了的AppJoint的顶级接口,想要接入DSS系统的第三方系统都需要实现该顶层接口,此接口有以下方法需要用户进行实现 -- 1.getSecurityService - -        SecurityService是用来进行解决DSS系统与第三方系统的鉴权问题。用户在DSS系统进行登录之后,并希望提交任务到第三方系统,首先第三方系统需要能够将这个用户进行鉴权。 -- 2.getProjectSerivice - -        ProjectService是用来进行解决DSS系统与第三方系统的工程管理问题。用户在DSS系统进行新增、删除、修改工程的时候,第三方系统也需要进行同步进行相同的动作,这样的目的是为了双方系统能够在工程层面实现统一。 -- 3.getNodeService - -        NodeService是用来解决用户在DSS提交的任务在第三方系统生成相应的任务的问题。用户如果在DSS系统的工作流中新建了一个工作流节点并进行任务的编辑,第三方系统需要同步感知到 -- 4.getNodeExecution - -        NodeExecution接口是用来将任务提交到第三方系统进行执行的接口,NodeExecution -接口有支持短时间任务的NodeExecution和支持长时间任务的LongTermNodeExecution。一般短时间任务,如邮件发送等,可以直接实现NodeExecution接口,并重写execute方法,DSS系统同步等待任务结束。另外的长时间任务,如数据质量检测等,可以实现LongTermNodeExecution接口,并重写submit方法,返回一个NodeExecutionAction,DSS系统通过这个NodeExecutionAction可以向第三方系统获取任务的日志、状态等。 - -#### 3.第三方系统接入DSS的实现(以Visualis为例) - -        Visualis是微众银行WeDataSphere开源的一款商业BI工具,DSS集成Visualis系统之后可以获得数据可视化的能力。 -Visualis接入DSS系统的代码在DSS项目中已经同步开源,下面将以开源代码为例,对步骤进行罗列分析。 -Visualis接入的DSS系统的步骤如下: - -**3.1.Visualis实现AppJoint接口** - -        Visualis实现的 AppJoint接口的实现类是VisualisAppjoint。查看VisualisAppjoint的代码可知,它在init方法时候, -初始化了自己实现的SecurityService、 NodeService以及NodeExecution。 -```java - public void init(String baseUrl, Map params) { - securityService = new VisualisSecurityService(); - securityService.setBaseUrl(baseUrl); - nodeExecution = new VisualisNodeExecution(); - nodeExecution.setBaseUrl(baseUrl); - nodeService = new VisualisNodeService(); - nodeService.setBaseUrl(baseUrl); - } -``` - -**3.2.Visualis实现SecurtyService接口** - -        Visualis实现的SecurityService接口的类名是VisualisSecurityService, -并重写了login方法,为了能够进行授权登陆,Visualis采用了提供token的方式,DSS的网关对该token进行授权,这样就能够做到用户鉴权。 - -```java -public class VisualisSecurityService extends AppJointUrlImpl implements SecurityService { - @Override - public Session login(String user) throws AppJointErrorException { - VisualisSession visualisSession = new VisualisSession(); - visualisSession.setUser(user); - visualisSession.getParameters().put("Token-User",user); - visualisSession.getParameters().put("Token-Code","WS-AUTH"); - return visualisSession; - } - - @Override - public void logout(String user) { - - } -} -``` - -**3.3.Visualis实现的NodeService接口** - -        Visualis实现的NodeService接口的类是VisualisNodeService,并重写了createNode, -deleteNode和updateNode三个方法,这三个方法是进行在第三方系统同步生成任务元数据。例如createNode方法是通过调用visualis的HTTP接口在Visualis系统生成同一工程下面的Visualis任务。 - -```java - @Override - public Map createNode(Session session, AppJointNode node, - Map requestBody) throws AppJointErrorException { - if (DisplayNodeService.getNodeType().equals(node.getNodeType())) { - return DisplayNodeService.createNode(session, getBaseUrl(), String.valueOf(node.getProjectId()), node.getNodeType(), requestBody); - } else if (DashboardNodeService.getNodeType().equals(node.getNodeType())) { - return DashboardNodeService.createNode(session, getBaseUrl(), String.valueOf(node.getProjectId()), node.getNodeType(), requestBody); - } else { - throw new AppJointErrorException(42002, "cannot recognize the nodeType " + node.getNodeType()); - } - } - - @Override - public void deleteNode(Session session, AppJointNode node) throws AppJointErrorException { - if (DisplayNodeService.getNodeType().equals(node.getNodeType())) { - DisplayNodeService.deleteNode(session, getBaseUrl(), String.valueOf(node.getProjectId()), node.getNodeType(), node.getJobContent()); - } else if (DashboardNodeService.getNodeType().equals(node.getNodeType())) { - DashboardNodeService.deleteNode(session, getBaseUrl(), String.valueOf(node.getProjectId()), node.getNodeType(), node.getJobContent()); - } else { - throw new AppJointErrorException(42002, "cannot recognize the nodeType " + node.getNodeType()); - } - } - - @Override - public Map updateNode(Session session, AppJointNode node, - Map requestBody) throws AppJointErrorException { - if (DisplayNodeService.getNodeType().equals(node.getNodeType())) { - return DisplayNodeService.updateNode(session, getBaseUrl(), node.getProjectId(), node.getNodeType(), requestBody); - } else if (DashboardNodeService.getNodeType().equals(node.getNodeType())) { - return DashboardNodeService.updateNode(session, getBaseUrl(), node.getProjectId(), node.getNodeType(), requestBody); - } else { - throw new AppJointErrorException(42002, "cannot recognize the nodeType " + node.getNodeType()); - } - } -``` - -**3.4.Visualis实现NodeExecution接口** - -        Visualis实现的NodeExecution接口的类是VisualisNodeExecution,并重写了execute方法, -该方法传入的两个参数为Node和NodeContext,从NodeContext中我们可以拿到用户、DSS的网关地址,还有网关验证的Token。 -通过这些,我们可以封装成一个HTTP的请求发送到第三方系统Visualis并从Visualis获取响应结果,NodeContext提供写入结果集的方法, -如Visualis的结果集一般是以图片的形式展示,在execute方法的最后,Visualis通过nodeContext获取到一个支持图片写入的PictureResultSetWriter方法,并将结果集进行写入。 -```scala - override def execute(node: AppJointNode, nodeContext: NodeContext, session: Session): NodeExecutionResponse = node match { - case commonAppJointNode: CommonAppJointNode => - val appJointResponse = new CompletedNodeExecutionResponse() - val idMap = commonAppJointNode.getJobContent - val id = idMap.values().iterator().next().toString - val url = if(commonAppJointNode.getNodeType.toLowerCase.contains(DISPLAY)) getDisplayPreviewUrl(nodeContext.getGatewayUrl, id) - else if(commonAppJointNode.getNodeType.toLowerCase.contains(DASHBOARD)) getDashboardPreviewUrl(nodeContext.getGatewayUrl, id) - else { - appJointResponse.setIsSucceed(false) - appJointResponse.setErrorMsg("不支持的appJoint类型:" + node.getNodeType) - return appJointResponse - } - var response = "" - val headers = nodeContext.getTokenHeader(nodeContext.getUser) - nodeContext.appendLog(LogUtils.generateInfo(s"Ready to download preview picture from $url.")) - Utils.tryCatch(download(url, null, headers.toMap, - input => Utils.tryFinally{ - val os = new ByteArrayOutputStream() - IOUtils.copy(input, os) - response = new String(Base64.getEncoder.encode(os.toByteArray)) - //response = IOUtils.toString(input, ServerConfiguration.BDP_SERVER_ENCODING.getValue) - }(IOUtils.closeQuietly(input)))){ t => - val errException = new ErrorException(70063, "failed to do visualis request") - errException.initCause(t) - appJointResponse.setException(errException) - appJointResponse.setIsSucceed(false) - appJointResponse.setErrorMsg(s"用户${nodeContext.getUser}请求Visualis失败!URL为: " + url) - return appJointResponse - } - nodeContext.appendLog(LogUtils.generateInfo("Preview picture downloaded, now ready to write results.")) - val imagesBytes = response - val resultSetWriter = nodeContext.createPictureResultSetWriter() - Utils.tryFinally{ - resultSetWriter.addMetaData(new LineMetaData()) - resultSetWriter.addRecord(new LineRecord(imagesBytes)) - }(IOUtils.closeQuietly(resultSetWriter)) - appJointResponse.setIsSucceed(true) - appJointResponse - } -``` - -**3.5.数据库内容的更新(dss-application模块)** - -        DSS系统中有一个dss-application模块,该模块是为了能够将第三方系统的一些基本参数进行存储,例如持久化到数据库中,以方便DSS系统的中的微服务获取第三方系统的信息。 -例如DSS要向Visualis进行提交请求的时候需要知道Visualis的请求的url,所以需要在dss-applition模块中的两张表dss_application和dss_workflow_node中插入相应的数据,dss_application的表字段为 - -| 字段名 | 字段意义 | 备注 | -| ------------ | ------------ | ------------ | -| id | 主键| 自增主键 | -| name | 20 | 如Visualis | -| url | 10 | 如 http://127.0.0.1:8080 | -| is_user_need_init | 是否需要用户初始化 | 默认否 | -| user_init_url | 用户初始化url | 默认空 | -| exists_project_service | 是否存在自己的projectService服务, 存在的话要自己写appjoint实现projectService | | -| enhance_json | 加强json,在appjoint初始化的时候会作为map进行传入 | | -| homepage_url | 接入的系统主页url | | -| direct_url | 接入的系统重定向url | | -表3-1 dss_application表 - -| 字段名 | 字段意义 | 备注 | -| ------------ | ------------ | ------------ | -| id | 主键| 自增主键 | -| node_type | 接入的系统可以运行的任务类型 | 如visualis可以支持执行linkis.appjoint.visualis.display和linkis.appjoint.visualis.dashboard | -| url | 10 | 如 http://127.0.0.1:8080 | -| application_id | dss_application表id字段的外键 | 默认否 | -| support_jump | 是否支持跳转页面 | 1表示支持,0表示不支持 | -| enable_copy | 是否支持复制该节点 | 1表示支持,0表示不支持 | -| jump_url | 双击工作流节点跳转的url | 如 http://127.0.0.1:8080 | -
-表3-2 dss_workflow_node表 - -![dss_application表示例](/images/zh_CN/chapter4/dss_application.png)
- -图3-1 dss_application表示例图 - -![dss_application表示例](/images/zh_CN/chapter4/dss_workflow_node.png)
- -图3-2 dss_workflow_node表示例图 - -图3-1以及图3-2是visualis中插入dss_application表和dss_workflow_node 两个表中的测试数据。您可以将您系统需要指定的参数插入到对应的表中 - -**3.6.前端的修改** - -- 3.6.1 增加节点类型 -修改src/js/service/nodeType.js文件,增加Visualis节点类型 -- 3.6.2 增加节点图标 -将节点图标复制到src/js/module/process/images/路径下,目前只支持SVG格式。 -- 3.6.3 新增节点配置 -修改src/js/module/process/shape.js文件,增加Visualis的节点配置信息。 -- 3.6.4 修改首页单击节点事件 -修改src/js/module/process/index.vue文件,增加节点单击事件以及单击事件的处理逻辑。 -- 3.6.5 修改工作流节点双击事件 -修改src/js/view/process/index.vue以及src/js/module/process/index.vue,增加节点双击事件以及双击事件的处理逻辑。 - -**3.7.编译打包成jar包放置到指定位置** - -        实现了上述的接口之后,一个AppJoint就已经实现了。打包之后,需要放置到指定的位置。 -jar包需要放置到dss-server和linkis-appjoint-entrance两个微服务中,以linkis-appjoint-entrance 为例(dss-server与linkis-appjoint-entrance一致), -在linkis-appjont-entrance下面的lib的同级目录有一个appjoints目录,目录下面层次如图3-3所示。 -![appjoints目录示例](/images/zh_CN/chapter4/appjoints.png)
-图3-3 appjoints目录示例 -        在appjoints目录下面新建一个visualis目录。 -visualis目录下面要求有lib目录,lib目录存放的是visualis在实现VisualisAppJoint的编译的jar包, -当然如果有引入dss系统没有带入的jar包,也需要放置到lib目录中,如sendemail Appjoint需要发送邮件功能的依赖包, -所以需要将这些依赖包和已经实现的jar包统一放置到lib目录中。 -另外可以将本AppJoint所需要的一些配置参数放置到appjoints.properties,DSS系统提供的AppJointLoader会将这些配置的参数读取,放置到一个Map中,在AppJoint调用init方法的时候传入。 diff --git a/examples/ch3/WordCount.jar b/examples/ch3/WordCount.jar deleted file mode 100644 index cbcf5803c..000000000 Binary files a/examples/ch3/WordCount.jar and /dev/null differ diff --git a/examples/ch3/dept.txt b/examples/ch3/dept.txt deleted file mode 100644 index fe587aa7d..000000000 --- a/examples/ch3/dept.txt +++ /dev/null @@ -1,4 +0,0 @@ -10 ACCOUNTING 1700 -20 RESEARCH 1800 -30 SALES 1900 -40 OPERATIONS 1700 \ No newline at end of file diff --git a/examples/ch3/emp.txt b/examples/ch3/emp.txt deleted file mode 100644 index f8c77cd40..000000000 --- a/examples/ch3/emp.txt +++ /dev/null @@ -1,14 +0,0 @@ -7369 SMITH CLERK 7902 1980-12-17 800.00 20 -7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30 -7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30 -7566 JONES MANAGER 7839 1981-4-2 2975.00 20 -7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30 -7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30 -7782 CLARK MANAGER 7839 1981-6-9 2450.00 10 -7788 SCOTT ANALYST 7566 1987-4-19 3000.00 20 -7839 KING PRESIDENT 1981-11-17 5000.00 10 -7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30 -7876 ADAMS CLERK 7788 1987-5-23 1100.00 20 -7900 JAMES CLERK 7698 1981-12-3 950.00 30 -7902 FORD ANALYST 7566 1981-12-3 3000.00 20 -7934 MILLER CLERK 7782 1982-1-23 1300.00 10 \ No newline at end of file diff --git a/examples/ch3/emp1.txt b/examples/ch3/emp1.txt deleted file mode 100644 index 92d107a17..000000000 --- a/examples/ch3/emp1.txt +++ /dev/null @@ -1,5 +0,0 @@ -7369 SMITH CLERK 7902 2020-1-17 800.00 20 -7499 ALLEN SALESMAN 7698 2020-1-20 1600.00 300.00 30 -7521 WARD SALESMAN 7698 2020-1-22 1250.00 500.00 30 -7566 JONES MANAGER 7839 2020-1-2 2975.00 20 -7654 MARTIN SALESMAN 7698 2020-1-28 1250.00 1400.00 30 \ No newline at end of file diff --git a/examples/ch3/emp2.txt b/examples/ch3/emp2.txt deleted file mode 100644 index d00a23876..000000000 --- a/examples/ch3/emp2.txt +++ /dev/null @@ -1,5 +0,0 @@ -7698 BLAKE MANAGER 7839 2020-2-1 2850.00 30 -7782 CLARK MANAGER 7839 2020-2-9 2450.00 10 -7788 SCOTT ANALYST 7566 2020-2-19 3000.00 20 -7839 KING PRESIDENT 2020-2-17 5000.00 10 -7844 TURNER SALESMAN 7698 2020-2-8 1500.00 0.00 30 \ No newline at end of file diff --git a/examples/ch3/emp3.txt b/examples/ch3/emp3.txt deleted file mode 100644 index 8f62853f2..000000000 --- a/examples/ch3/emp3.txt +++ /dev/null @@ -1,4 +0,0 @@ -7876 ADAMS CLERK 7788 2020-3-23 1100.00 20 -7900 JAMES CLERK 7698 2020-3-3 950.00 30 -7902 FORD ANALYST 7566 2020-3-3 3000.00 20 -7934 MILLER CLERK 7782 2020-3-23 1300.00 10 \ No newline at end of file diff --git a/examples/ch3/rename.jar b/examples/ch3/rename.jar deleted file mode 100644 index 738483a21..000000000 Binary files a/examples/ch3/rename.jar and /dev/null differ diff --git a/images/en_US/chapter3/quickstart/quick_start00.png b/images/en_US/chapter3/quickstart/quick_start00.png deleted file mode 100644 index add555fd8..000000000 Binary files a/images/en_US/chapter3/quickstart/quick_start00.png and /dev/null differ diff --git a/images/en_US/chapter3/quickstart/quick_start01.png b/images/en_US/chapter3/quickstart/quick_start01.png deleted file mode 100644 index 43a0064eb..000000000 Binary files a/images/en_US/chapter3/quickstart/quick_start01.png and /dev/null differ diff --git a/images/en_US/chapter3/quickstart/quick_start02.png b/images/en_US/chapter3/quickstart/quick_start02.png deleted file mode 100644 index 3519d2287..000000000 Binary files a/images/en_US/chapter3/quickstart/quick_start02.png and /dev/null differ diff --git a/images/en_US/chapter3/quickstart/quick_start03.png b/images/en_US/chapter3/quickstart/quick_start03.png deleted file mode 100644 index 958001e20..000000000 Binary files a/images/en_US/chapter3/quickstart/quick_start03.png and /dev/null differ diff --git a/images/en_US/chapter3/quickstart/quick_start04.png b/images/en_US/chapter3/quickstart/quick_start04.png deleted file mode 100644 index b9ff9c507..000000000 Binary files a/images/en_US/chapter3/quickstart/quick_start04.png and /dev/null differ diff --git a/images/en_US/chapter3/quickstart/quick_start05.png b/images/en_US/chapter3/quickstart/quick_start05.png deleted file mode 100644 index 8c140dd74..000000000 Binary files a/images/en_US/chapter3/quickstart/quick_start05.png and /dev/null differ diff --git a/images/en_US/chapter3/quickstart/quick_start06.png b/images/en_US/chapter3/quickstart/quick_start06.png deleted file mode 100644 index f9d04ceb5..000000000 Binary files a/images/en_US/chapter3/quickstart/quick_start06.png and /dev/null differ diff --git a/images/zh_CN/chapter2/quickInstallUse/quickInstall.png b/images/zh_CN/chapter2/quickInstallUse/quickInstall.png deleted file mode 100644 index b66aa722c..000000000 Binary files a/images/zh_CN/chapter2/quickInstallUse/quickInstall.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/components.png b/images/zh_CN/chapter3/manual/components.png deleted file mode 100644 index bc5612f56..000000000 Binary files a/images/zh_CN/chapter3/manual/components.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/components02.png b/images/zh_CN/chapter3/manual/components02.png deleted file mode 100644 index a58185ed4..000000000 Binary files a/images/zh_CN/chapter3/manual/components02.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/connector.png b/images/zh_CN/chapter3/manual/connector.png deleted file mode 100644 index 0d51ab482..000000000 Binary files a/images/zh_CN/chapter3/manual/connector.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/functions.png b/images/zh_CN/chapter3/manual/functions.png deleted file mode 100644 index 677bc552d..000000000 Binary files a/images/zh_CN/chapter3/manual/functions.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/project.png b/images/zh_CN/chapter3/manual/project.png deleted file mode 100644 index 86866b2d7..000000000 Binary files a/images/zh_CN/chapter3/manual/project.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/project01.png b/images/zh_CN/chapter3/manual/project01.png deleted file mode 100644 index abbeb18dd..000000000 Binary files a/images/zh_CN/chapter3/manual/project01.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/project02.png b/images/zh_CN/chapter3/manual/project02.png deleted file mode 100644 index cc7ac6a54..000000000 Binary files a/images/zh_CN/chapter3/manual/project02.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/sendemail01.png b/images/zh_CN/chapter3/manual/sendemail01.png deleted file mode 100644 index ebd319a78..000000000 Binary files a/images/zh_CN/chapter3/manual/sendemail01.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/signal02.png b/images/zh_CN/chapter3/manual/signal02.png deleted file mode 100644 index 7386576fc..000000000 Binary files a/images/zh_CN/chapter3/manual/signal02.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/signal03.png b/images/zh_CN/chapter3/manual/signal03.png deleted file mode 100644 index 42479659d..000000000 Binary files a/images/zh_CN/chapter3/manual/signal03.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/signal04.png b/images/zh_CN/chapter3/manual/signal04.png deleted file mode 100644 index f02df77aa..000000000 Binary files a/images/zh_CN/chapter3/manual/signal04.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/signal_01.png b/images/zh_CN/chapter3/manual/signal_01.png deleted file mode 100644 index 20936d9f1..000000000 Binary files a/images/zh_CN/chapter3/manual/signal_01.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/subflow01.png b/images/zh_CN/chapter3/manual/subflow01.png deleted file mode 100644 index ef7b6689f..000000000 Binary files a/images/zh_CN/chapter3/manual/subflow01.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow01.png b/images/zh_CN/chapter3/manual/workflow01.png deleted file mode 100644 index 736cdadb0..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow01.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow02.png b/images/zh_CN/chapter3/manual/workflow02.png deleted file mode 100644 index 1acc1b611..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow02.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow03.png b/images/zh_CN/chapter3/manual/workflow03.png deleted file mode 100644 index a4dd43695..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow03.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow04.png b/images/zh_CN/chapter3/manual/workflow04.png deleted file mode 100644 index d1f22bdae..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow04.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow05.png b/images/zh_CN/chapter3/manual/workflow05.png deleted file mode 100644 index fa22bd5f5..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow05.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow06.png b/images/zh_CN/chapter3/manual/workflow06.png deleted file mode 100644 index 095d6e2cc..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow06.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow07.png b/images/zh_CN/chapter3/manual/workflow07.png deleted file mode 100644 index 7c02b6936..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow07.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow08.png b/images/zh_CN/chapter3/manual/workflow08.png deleted file mode 100644 index 66d1efa9e..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow08.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow10.png b/images/zh_CN/chapter3/manual/workflow10.png deleted file mode 100644 index 0e8783394..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow10.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow11.png b/images/zh_CN/chapter3/manual/workflow11.png deleted file mode 100644 index 7ebe6f70c..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow11.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow12.png b/images/zh_CN/chapter3/manual/workflow12.png deleted file mode 100644 index 640c1640b..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow12.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow13.png b/images/zh_CN/chapter3/manual/workflow13.png deleted file mode 100644 index c152f2634..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow13.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow14.png b/images/zh_CN/chapter3/manual/workflow14.png deleted file mode 100644 index 052073bfe..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow14.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow15.png b/images/zh_CN/chapter3/manual/workflow15.png deleted file mode 100644 index ab0439005..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow15.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow16.png b/images/zh_CN/chapter3/manual/workflow16.png deleted file mode 100644 index 2661bacf0..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow16.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow17.png b/images/zh_CN/chapter3/manual/workflow17.png deleted file mode 100644 index 3e1ddb7cf..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow17.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow18.png b/images/zh_CN/chapter3/manual/workflow18.png deleted file mode 100644 index b2621c874..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow18.png and /dev/null differ diff --git a/images/zh_CN/chapter3/manual/workflow_09.png b/images/zh_CN/chapter3/manual/workflow_09.png deleted file mode 100644 index 3fdd8322e..000000000 Binary files a/images/zh_CN/chapter3/manual/workflow_09.png and /dev/null differ diff --git a/images/zh_CN/chapter3/quickstart/quick_start00.png b/images/zh_CN/chapter3/quickstart/quick_start00.png deleted file mode 100644 index 8020d6378..000000000 Binary files a/images/zh_CN/chapter3/quickstart/quick_start00.png and /dev/null differ diff --git a/images/zh_CN/chapter3/quickstart/quick_start01.png b/images/zh_CN/chapter3/quickstart/quick_start01.png deleted file mode 100644 index e3fb880c9..000000000 Binary files a/images/zh_CN/chapter3/quickstart/quick_start01.png and /dev/null differ diff --git a/images/zh_CN/chapter3/quickstart/quick_start02.png b/images/zh_CN/chapter3/quickstart/quick_start02.png deleted file mode 100644 index 7b3887134..000000000 Binary files a/images/zh_CN/chapter3/quickstart/quick_start02.png and /dev/null differ diff --git a/images/zh_CN/chapter3/quickstart/quick_start03.png b/images/zh_CN/chapter3/quickstart/quick_start03.png deleted file mode 100644 index 4e2dea412..000000000 Binary files a/images/zh_CN/chapter3/quickstart/quick_start03.png and /dev/null differ diff --git a/images/zh_CN/chapter3/quickstart/quick_start04.png b/images/zh_CN/chapter3/quickstart/quick_start04.png deleted file mode 100644 index e84fb2857..000000000 Binary files a/images/zh_CN/chapter3/quickstart/quick_start04.png and /dev/null differ diff --git a/images/zh_CN/chapter3/quickstart/quick_start05.png b/images/zh_CN/chapter3/quickstart/quick_start05.png deleted file mode 100644 index 9522089ec..000000000 Binary files a/images/zh_CN/chapter3/quickstart/quick_start05.png and /dev/null differ diff --git a/images/zh_CN/chapter3/quickstart/quick_start06.png b/images/zh_CN/chapter3/quickstart/quick_start06.png deleted file mode 100644 index c152f2634..000000000 Binary files a/images/zh_CN/chapter3/quickstart/quick_start06.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/hive-6.png b/images/zh_CN/chapter3/tests/hive-6.png deleted file mode 100644 index f1cb9d661..000000000 Binary files a/images/zh_CN/chapter3/tests/hive-6.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/hive1.png b/images/zh_CN/chapter3/tests/hive1.png deleted file mode 100644 index 19322869c..000000000 Binary files a/images/zh_CN/chapter3/tests/hive1.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/hive2.png b/images/zh_CN/chapter3/tests/hive2.png deleted file mode 100644 index 8232e3b46..000000000 Binary files a/images/zh_CN/chapter3/tests/hive2.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/hive3.png b/images/zh_CN/chapter3/tests/hive3.png deleted file mode 100644 index 523f1e13c..000000000 Binary files a/images/zh_CN/chapter3/tests/hive3.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/hive4.png b/images/zh_CN/chapter3/tests/hive4.png deleted file mode 100644 index 77e26589e..000000000 Binary files a/images/zh_CN/chapter3/tests/hive4.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/hive5.png b/images/zh_CN/chapter3/tests/hive5.png deleted file mode 100644 index f2ecae301..000000000 Binary files a/images/zh_CN/chapter3/tests/hive5.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/hive7.png b/images/zh_CN/chapter3/tests/hive7.png deleted file mode 100644 index efe714107..000000000 Binary files a/images/zh_CN/chapter3/tests/hive7.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/home.png b/images/zh_CN/chapter3/tests/home.png deleted file mode 100644 index 1564c5150..000000000 Binary files a/images/zh_CN/chapter3/tests/home.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/udf-3.png b/images/zh_CN/chapter3/tests/udf-3.png deleted file mode 100644 index 64bad9b7c..000000000 Binary files a/images/zh_CN/chapter3/tests/udf-3.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/udf1.png b/images/zh_CN/chapter3/tests/udf1.png deleted file mode 100644 index 0866f3845..000000000 Binary files a/images/zh_CN/chapter3/tests/udf1.png and /dev/null differ diff --git a/images/zh_CN/chapter3/tests/udf2.png b/images/zh_CN/chapter3/tests/udf2.png deleted file mode 100644 index 8bb046f7b..000000000 Binary files a/images/zh_CN/chapter3/tests/udf2.png and /dev/null differ diff --git a/images/zh_CN/chapter4/appjoints.png b/images/zh_CN/chapter4/appjoints.png deleted file mode 100644 index 5efa8607d..000000000 Binary files a/images/zh_CN/chapter4/appjoints.png and /dev/null differ diff --git a/images/zh_CN/chapter4/dss_application.png b/images/zh_CN/chapter4/dss_application.png deleted file mode 100644 index 6d0a9323d..000000000 Binary files a/images/zh_CN/chapter4/dss_application.png and /dev/null differ diff --git a/images/zh_CN/chapter4/dss_workflow_node.png b/images/zh_CN/chapter4/dss_workflow_node.png deleted file mode 100644 index 31853d089..000000000 Binary files a/images/zh_CN/chapter4/dss_workflow_node.png and /dev/null differ