准备Windows运行环境
操作场景
本开发指南提供了HDFS组件的样例代码和常用接口,便于开发者快速熟悉HDFS系统。为了在Windows环境上运行HDFS组件的样例代码,需要完成下面的操作。
HDFS的客户端支持Linux系统的安装和运行,HDFS的应用开发支持Windows系统。以下操作步骤介绍了Windows开发、运行环境的准备。
操作步骤
- 确认服务端HDFS组件已经安装,并正常运行。
- 调试客户端的Windows环境中已安装1.7或1.8版本的JDK。
客户端机器的时间与FusionInsight HD集群的时间要保持一致,时间差小于5分钟。
FusionInsight HD集群的时间可通过登录主管理节点(集群管理IP地址所在节点)运行date命令查询。下载集群客户端程序到本地电脑中。
- 登录FusionInsight Manager系统。
在浏览器地址栏中输入访问地址,地址格式为“http://FusionInsight Manager系统的WebService浮动IP地址:8080/web”。
例如在IE浏览器地址栏中,输入“http://10.10.10.172:8080/web”。
- 单击“服务管理>下载客户端>完整客户端”,下载客户端程序到本地。
说明: 下载客户端程序到本地电脑的存储路径不可出现空格字符或者中文,例如:“D:/FusionInsight/client”。
- 登录FusionInsight Manager系统。
解压缩客户端文件包。
下载的客户端程序文件包为tar格式,解压两次,生成文件夹“FusionInsight_V100R002C60U10_Services_ClientConfig”。进入“FusionInsight_V100R002C60U10_Services_ClientConfig”文件夹,运行脚本“install.bat”,自动导入工程依赖包到“lib”目录下,同时自动将配置文件导入到“hdfs-example-security”工程的“conf”目录下。
在客户端增加服务端的ip和主机名对应关系。
说明:
客户端配置文件中存放的服务端节点信息,均是主机名,需要在客户端增加服务端的ip和主机名对应关系,才能让客户端转换识别到正确的服务端IP、避免调试客户端代码时出现错误。- 确认客户端与服务端各个主机网络上互通。可通过ping命令检查网络是否连接,在执行ping命令之前,需开启客户端的防火墙。
- 拷贝解压目录下的“hosts”文件中的内容到客户端所在系统的hosts文件中。 特别指出,Windows环境下本地hosts文件存放路径为“客户端解压目录\FusionInsight_HDFS_ClientConfig”。
登录FusionInsight Manager页面,单击“系统设置>用户管理>添加用户”,新建一个HDFS用户(“机机”或“人机”,例如“hdfstest”用户,此用户要对HDFS的“/user”目录具有读、写和执行权限),单击该用户右侧的下载按钮获取keytab文件(解压后可得到user.keytab和krb5.conf文件)。
说明:
“人机”用户新创建后,需要使用新建的用户登录一次FusionInsight Manager并按照界面提示修改密码后,才可以正常使用keytab文件。拷贝user.keytab和krb5.conf文件到节点的“客户端解压目录\HDFS\hdfs-example-security\conf”下面,用于登录FusionInsight HD平台及认证。
说明:
要成功创建对HDFS的“/user”目录具有读、写和执行权限的“hdfstest”用户,需经过创建HDFS角色、创建用户组绑定该角色、创建用户绑定用户组3步,具体如下:创建HDFS角色,请参见“管理员指南>业务操作指南>HDFS>创建HDFS角色”章节。
设置HDFS角色“Rights”时,单击“HDFS > File System”,对“hdfs://hacluster/”勾选“Execute”权限,然后单击“hdfs://hacluster/”,对“user”勾选“Read”,“Write”,“Execute”即可。创建用户组,请参见“管理员指南>安全管理>账户管理>创建用户>创建用户组”。
创建用户,请参见“管理员指南>安全管理>账户管理>创建用户>创建用户”。 在运行Colocation工程时,需要将HDFS用户绑定supergroup用户组。