
# 在Windows中调测Presto应用开发
1. 申请一台Windows的ECS访问MRS集群操作Presto。申请ECS访问MRS集群的步骤如下： 
   1. 在"现有集群"列表中，单击已创建的集群名称。 记录集群的"可用分区"、"虚拟私有云"，以及Master节点的"默认安全组"。
      
   
   2. 在弹性云服务管理控制台，创建一个新的弹性云服务器。 弹性云服务器的"可用分区"、"虚拟私有云"、"安全组"，需要和待访问集群的配置相同。
      选择一个Windows系统的公共镜像。
      其他配置参数详细信息，请参见"弹性云服务器 \> 快速入门 \> 购买并登录Windows弹性云服务器"。
      
   
   
   
   
2. 开启Kerberos认证集群需要在Windows上配置集群的ip与主机名映射关系。登录集群后台，执行命令**cat /etc/hosts**后，把hosts文件中的ip与hostname映射关系拷贝到ECS的"C:\\Windows\\System32\\drivers\\etc\\hosts"中。未开启Kerberos认证集群无需执行此步骤。
3. 在Windows下操作Presto集群时，JDK版本需为jdk1.8.0_60及以上版本。开启Kerberos认证集群需要拷贝MRS集群主节点"/opt/Bigdata/om-0.0.1/packaged-distributables/client_packet/ca.crt"到Windows的ECS上，在jdk/bin目录打开cmd命令行执行如下命令，并修改样例代码中conf目录下的presto.properties文件的配置。 
   jdk1.8.0_242以上版本需要删除krb5.conf中\[libdefaults\]的renew_lifetime = 0m。
   未开启Kerberos认证集群无需执行此步骤。
   keytool -import -v -trustcacerts -alias presto_trust -file <ca.crt_path> -keystore <keystore_path>/truststore.jks –keypass <password>
   其中，\<ca.crt_path\>为拷贝的ca.crt文件路径，\<keystore_path\>为truststore.jks文件生成路径，\<password\>为truststore密码，可根据需要指定。命令中如果携带认证密码信息可能存在安全风险，在执行命令前建议关闭系统的history命令记录功能，避免信息泄露。
   表1presto.properties参数说明 
   | 参数                    | 说明                                                                                                 |
   |:---|:---|
   | user                  | 用于Kerberos认证的用户名，即[准备开发用户](https://support.huaweicloud.com/devg-mrs/mrs_06_0342.html)中创建的开发用户的用户名。 |
   | KerberosPrincipal     | 用于认证的名字，即认证[准备开发用户](https://support.huaweicloud.com/devg-mrs/mrs_06_0342.html)中创建的开发用户的用户名。        |
   | KerberosConfigPath    | krb5.conf的路径。 注意转义"\\"                                                  |
   | KerberosKeytabPath    | user.keytab的路径。 注意转义"\\"                                              |
   | SSLTrustStorePath     | truststore.jks的路径。 注意转义"\\"                                           |
   | SSLTrustStorePassword | truststore的密码。                                                                                     |
      
   
   
4. 修改并运行样例。 
   1. 在开发环境中（例如Eclipse中），修改样例代码example_ip、端口号和krbsEnabled配置。
   
   2. 右键单击"PrestoJDBCExample.java"。
   
   3. 单击"Run as \> Java Application"运行对应的应用程序工程。
   
   
   
   
5. 查看结果。运行成功结果会有如下信息： 
   ```
   NY Metro : 2
   Mid Atlantic : 6
   Mid Atlantic : 6
   North Midwest : 1
   North Midwest : 3
   North Midwest : 7
   ```
   
   
 
