Preparing Development and Running Environments
Preparing Development Environment
This section describes the development and running environment to be prepared for application development, as listed in Table 1.
Item |
Description |
---|---|
OS |
|
JDK installation |
Basic configuration of the development and running environment. The version requirements are as follows: The server and client support only the built-in OpenJDK. Other JDKs cannot be used. If the JAR packages of the SDK classes that need to be referenced by the customer applications run in the application process, the JDK requirements are as follows:
NOTE:
|
Installation and configuration of IntelliJ IDEA |
It is the basic configuration for the development environment. The version must be 2019.1 or other compatible version.
NOTE:
|
Maven installation |
Basic configuration of the development environment for project management throughout the lifecycle of software development. |
User development preparation |
See Preparing MRS Application Development User for configuration. |
7-zip |
Used to decompress .zip and .rar packages. The 7-Zip 16.04 is supported. |
Item |
Description |
---|---|
Python3 (for MRS 3.3.0 or later) |
Tool used to develop HetuEngine Python applications. The version must range from 3.6 to 3.9. |
Setuptools |
Basic configuration of the Python3 development environment. Version: 47.3.1 |
jaydebeapi |
Basic configuration of the Python3 development environment. You can use this module to connect to the database using Java JDBC. |
Preparing an Operating Environment
During application development, you need to prepare the code running and commissioning environment to verify that the application is running properly.
- If the local Windows development environment can communicate with the cluster service plane network, download the cluster client to the local host; obtain the cluster configuration file required by the commissioning program; configure the network connection, and commission the program in Windows.
- Log in to the FusionInsight Manager portal and choose Cluster > Dashboard > More > Download Client. Set Select Client Type to Complete Client. Select the platform type based on the type of the node where the client is to be installed (select x86_64 for the x86 architecture and aarch64 for the Arm architecture) and click OK. After the client files are packaged and generated, download the client to the local PC as prompted and decompress it.
For example, if the client file package is FusionInsight_Cluster_1_Services_Client.tar, decompress it to obtain FusionInsight_Cluster_1_Services_ClientConfig.tar file. Then, decompress FusionInsight_Cluster_1_Services_ClientConfig.tar file to the D:\FusionInsight_Cluster_1_Services_ClientConfig directory on the local PC. The directory name cannot contain spaces.
- Go to the client decompression path FusionInsight_Cluster_1_Services_ClientConfig\HetuEngine\config, place the configuration file in the resources directory of the HetuEngine sample project.
The keytab file obtained during the Preparing MRS Application Development User is also stored in this directory.
Log in to the node where the HSBroker role is deployed as user omm, go to the ${BIGDATA_HOME}/FusionInsight_Hetu_XXX/XXX_HSBroker/etc/ directory, download the hetuserver.jks file, and place the file to the resources directory. For details about the configuration files, see Table 3. (Obtain the corresponding files as required.)
Table 3 Configuration files File
Function
hdfs-site.xml
Configures HDFS parameters.
hetuserver-client.properties
Configures connection parameters for the HetuEngine client.
hetuserver-client-logging.properties
Configures log parameters for the HetuEngine client.
user.keytab
Provides HetuEngine user information for Kerberos security authentication.
krb5.conf
Contains Kerberos server configuration information.
hetuserver.jks
Java TrustStore file
- During application development, if you need to commission the application in the local Windows system, copy the content in the hosts file in the decompression directory to the hosts file of the node where the client is located. Ensure that the local host can communicate correctly with the hosts listed in the hosts file in the decompression directory.
- If the host where the client is installed is not a node in the cluster, configure network connections for the client to prevent errors when you run commands on the client.
- The local hosts file in a Windows environment is stored in, for example, C:\WINDOWS\system32\drivers\etc\hosts.
- Log in to the FusionInsight Manager portal and choose Cluster > Dashboard > More > Download Client. Set Select Client Type to Complete Client. Select the platform type based on the type of the node where the client is to be installed (select x86_64 for the x86 architecture and aarch64 for the Arm architecture) and click OK. After the client files are packaged and generated, download the client to the local PC as prompted and decompress it.
- If you use the Linux environment for commissioning, you need to prepare the Linux node where the cluster client is to be installed and obtain related configuration files.
- Install the client on the node. For example, the client installation directory is /opt/client.
Ensure that the difference between the client time and the cluster time is less than 5 minutes.
For details about how to use the client on a Master or Core node in the cluster, see Using an MRS Client on Nodes Inside a Cluster. For details about how to install the client outside the MRS cluster, see Using an MRS Client on Nodes Outside a Cluster.
- Log in to the FusionInsight Manager portal. Download the cluster client software package to the active management node and decompress it. Then, log in to the active management node as user root. Go to the decompression path of the cluster client and copy all configuration files in the FusionInsight_Cluster_1_Services_ClientConfig/HetuEngine/config directory to the conf directory where the compiled JAR package is stored for subsequent commissioning, for example, /opt/client/conf.
For example, if the client software package is FusionInsight_Cluster_1_Services_Client.tar and the download path is /tmp/FusionInsight-Client on the active management node, run the following command:
cd /tmp/FusionInsight-Client
tar -xvf FusionInsight_Cluster_1_Services_Client.tar
tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar
cd FusionInsight_Cluster_1_Services_ClientConfig
scp HetuEngine/config/* root@IP address of the client node:/opt/client/conf
Log in to the node where the HSBroker role is deployed as user omm, go to the ${BIGDATA_HOME}/FusionInsight_Hetu_xxx/xxx_HSBroker/etc/ directory, download the hetuserver.jks file, and place the file to the this directory
The keytab file obtained during the Preparing MRS Application Development User is also stored in this directory. Table 4 describes the main configuration files (Obtain required files as required).
Table 4 Configuration files File
Function
hdfs-site.xml
Configures HDFS parameters.
hetuserver-client.properties
Configures connection parameters for the HetuEngine client.
hetuserver-client-logging.properties
Configures log parameters for the HetuEngine client.
user.keytab
Provides HetuEngine user information for Kerberos security authentication.
krb5.conf
Contains Kerberos server configuration information.
hetuserver.jks
Java TrustStore file
- Check the network connection of the client node.
During the client installation, the system automatically configures the hosts file on the client node. You are advised to check whether the /etc/hosts file contains the host names of the nodes in the cluster. If no, manually copy the content in the hosts file in the decompression directory to the hosts file on the node where the client resides, to ensure that the local host can communicate with each host in the cluster.
- Install the client on the node. For example, the client installation directory is /opt/client.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot