编译并运行程序
操作场景
在程序代码完成开发后,您可以在Windows环境中运行应用。本地和集群业务平面网络互通时,您可以直接在本地进行调测。
- 如果Windows运行环境中使用IBM JDK,不支持在Windows环境中直接运行应用程序。
- 在MapReduce任务运行过程中禁止重启HDFS服务,否则可能会导致任务失败。
前提条件
- 已将准备连接集群配置文件获取的配置文件放置到MapReduce样例工程的“../src/mapreduce-example-security/conf”路径下。
- 已参考规划MapReduce统计样例程序数据将待处理数据上传至HDFS。
运行统计样例程序
- 确保样例工程依赖的所有jar包已正常获取。
- 在IntelliJ IDEA开发环境中,打开样例工程中“LocalRunner.java”工程,右键工程,选择 运行应用工程。
运行多组件样例程序
- 在放置MapReduce工程样例的“../src/mapreduce-example-security/conf”目录下创建“jaas_mr.conf”文件并添加如下内容:
Client { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="user.keytab" principal="test@<系统域名>" useTicketCache=false storeKey=true debug=true; };
- test:为准备集群认证用户信息创建的用户名称,例如developuser。
- 系统域名:登录FusionInsight Manager后,选择“系统 > 权限 > 域和互信”,查看“本端域”参数,即为当前系统域名。
- 确保样例工程依赖的所有Hive、HBase相关jar包已正常获取。
- 在IntelliJ IDEA开发环境中,选中“MultiComponentLocalRunner.java”工程,单击运行对应的应用程序工程。或者右键工程,选择 运行应用工程。
如果集群开启了ZooKeeper SSL,则运行该样例前需要在下图所示位置增加“-Dzookeeper.client.secure=true -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty”参数。