Windows Azure HDInsight 使用技巧
Windows Azure HDInsight是一个面向大数据的PaaS服务,是PaaS版本的Hadoop。HDInsight是微软与Hortonworks合作的产物。可以理解为Hortonworks针对Windows Azure的一个发行版。
国际版的HDInsight支持Windows和Linux实例,而中国版目前只支持Windows实例,即中国版的HDInsight是运行在Windows Server操作系统上的。
1、虚拟网络支持
HDInsight是支持虚拟网络的,用户可以将HDInsight集群创建在已经存在的虚拟网络中。这样用户就可以在Windows Azure虚拟机上使用内网地址来访问HDInsight集群。在HDInsight集群创建向导的第二步,点击“区域和虚拟网络”下拉框就可以选择现有的虚拟网络。
2、远程登陆(RDP)HDInsight头节点和Hive元数据存储。用户在创建HDInsight集群的过程中可以开启头节点的远程登陆(RDP)功能。处于安全目的,远程登陆用户和HTTP用户(web控制台用户)需要设置不同的用户名,而且要求使用高强度的密码。远程登陆还需要设置有效期。不过别担心,这个有效期是可以通过管理界面进行修改的;用户可以选择将Hive和Oozie的元数据保存在SQL Database (SQL Azure)中,这样即便是用户删除并重建集群,元数据也不会丢失。
3、执行自定义脚本。默认情况下,所有节点上的管理员用户都被禁用了。用于远程登陆的用户也只是一个普通的Windows本地用户,不在Administrator组中,不能执行需要管理员权限的软件安装和设置等操作。针对有自定义需求的高级用户,HDInsight非常周到的提供了自定义脚本动作执行功能——在集群provisioning结束之前,以管理员权限执行用户自定义脚本。
- 用PowerShell写用户自定义脚本,保存为[.ps1]文件。
- 将[.ps1]文件上传到Windows Azure的Blob Storage上具有public访问权限的Container中。
- 在HDInsight集群创建向导的最后一步引用Blob Storage上的[.ps1]文件并为其指定参数(如果[.ps1]文件需要参数的话)。
附上一段示例脚本,用于关闭HDInsight实例的Windows防火墙,并创建一个具有管理员权限的新用户。
#关闭Windows Server防火墙
Get-NetFirewallProfile | Set-NetFirewallProfile –Enabled False #创建新用户,用户名:co-admin,密码:Admin#c0 net user /add co-admin Admin#c0 #将用户添加至管理员组 net localgroup Administrators /add co-admin