AzureStack是Azure的私有云解决方案。AzureStack可以帮助用户实现混合云的部署模式。
本文将介绍混合云的模式下,Azure作为计算资源,AzureStack作为存储资源。如下图:
在Azure上我们创建Hadoop的计算资源,在AzureStack上创建存储账户,把需要分析的数据存储在Azure Stack上。把Hadoop的存储采用wasb协议指向AzureStack的存储账号。
具体部署过程如下:
一 在AzureStack上创建存储账户
在AzureStack的portal页面上创建一个存储账户:hdisa
二 在Azure上创建Hadoop集群
1 选择HDInsight Clusters
2 选择Linux Hadoop集群
3 选择创建一个新的Storage Account,在创建完成后,这个账户会被替换掉
4 验证,并创建
三 更改hadoop的存储账户
1 登录Hadoop的头节点
Portal上获取登录信息:
2 下载更改hadoop存储账户的脚本
wget https://hdiconfigactions.blob.core.windows.net/linuxaddstorageaccountv01/add-storage-account-v01.sh
3 把global的存储的endpoint改成AzureStack的endpoint
打开add-storage-account-v01.sh文件,进行更改:
:%s/blob.windows.net/blob.shanghai.xxxx.com/gc
共有6个需要更改,另外还有一个是链接地址,不需要更改。
另外Storage Validate的部分注释掉,55行到59行:
108-115行的怪字符也删除掉:
运行这个脚本:
…………
存储账户就加好了。
4 把这个存储账户设置为默认账户
vim /etc/hadoop/conf/core-site.xml
5 重启服务
打开HDInsight的Ambari Views:
可以用命令行查看存储的情况:
可以看到container内的文件:
查看文件内容:
四 总结
通过在Azure上创建Hadoop的集群,挂载AzureStack上的存储账户,可以实现敏感数据不出数据中心的混合云部署模式。