Running the JDBC Client and Viewing Results
Running the JDBC Client Using CLI
- Run the sample project.
After you import and modify the sample project according to Preparing a JDBC Client Development Environment, download the hiveclient.properties file from the /opt/client/Hive/config/hiveclient.properties directory of any master node in the cluster, and save the file to the conf directory of the sample project, that is, hive-examples/conf. Then, you can right-click JDBCExample.java in the development environment, for example, Eclipse, and choose Run as > Java Application to run the corresponding application project.
You can use either of the following method to access an MRS cluster to operate Hive on Windows.
- Apply for a Windows ECS to access the MRS cluster to operate Hive. This method provides high availability because it obtains dynamic HiveServer address by connecting to ZooKeeper to operate Hive.
- Use the local host to access the MRS cluster to operate Hive. Because the network between the local host and MRS cluster is disconnected, Hive can be operated only by directly connecting to HiveServer.
Method 1: Apply for a Windows ECS to access the MRS cluster to operate Hive. Run the sample code after the development environment is installed. To apply for ECS to access the MRS cluster, perform the following steps:- On the Active Clusters page, click the name of an existing cluster.
On the cluster details page, record the AZ, VPC, Cluster Manager IP Address of the cluster, and Default Security Group of the Master node.
- On the ECS management console, create a new ECS.
The AZ, VPC, and security group of ECS must be the same as those of the cluster to be accessed.
Select a Windows public image.
For details about other configuration parameters, see Elastic Cloud Server > Quick Start > Purchasing and Logging In to a Windows ECS.
Method 2: Use the local host to access the MRS cluster to operate Hive. After installing the development environment and completing the following steps, run the sample code.
- Bind an EIP to the HiveServer or ZooKeeper node that will use the Hive service in the MRS cluster. To bind an EIP, perform the following steps:
- On the VPC management console, apply for an EIP and bind it to ECS.
- Open security group rules for the MRS cluster.
Add security group rules to a security group of the Master and Core nodes in the cluster to enable the ECS to access the cluster. If the cluster is a security cluster, you need to enable UDP ports 21731 and 21732 and TCP ports 21730, 21731, and 21732. Add the HiveServer instance port and ZooKeeper service port of Hive to the inbound rule of the security group. For details, see .
- Modify the imported hiveclient.properties file to make the zk.quorum parameter correspond to the EIP bound to HiveServer and the ZooKeeper port. Modify the URL combination for connecting to the JDBC in the sample code. For details about how to directly connect to HiveServer, see Sample Program Guide.
- Change the IP addresses of the kdc, admin_server, kpasswd_server, kdc_listen, kadmind_listen, and kpasswd_listen parameters in the krb5.conf file of the import example (if the cluster has only one master node, you do not need to modify the last three parameters). Map it to the EIP of the KrbServer service (skip this step if the Kerberos function is not enabled for the common cluster). Save the modified krb5.conf and user.keytab file to the conf directory of the sample project.
- If you access Hive using ZooKeeper, add the mapping between the EIPs bound to the nodes in 1 and host names in the local hosts file.
- If error message "Message stream modified (41)" is displayed, the JDK version may be incorrect. Change the JDK version in the sample code to a version earlier than 8u_242 or delete the renew_lifetime = 0m configuration item from the krb5.conf configuration file.
- View the execution result.
View the HiveQL query results in the sample code. If the following information is displayed, the execution is successful.
Result:
Create table success! _c0 0 Delete table success!
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.