我正在Azure上设置Hortonworks Data Platform集群。在azure中,群集中的所有计算机都具有相同的PUBLIC VIRTUAL IP(VIP)地址和唯一的内部IP地址。
在集群的虚拟机上,如果我想打开某个端口,我将通过Azure管理门户为虚拟机添加end points。我在端点为VM添加了端口8080,并将其配置为可访问。 (并且我能够成功地从Web浏览器访问在8080上运行的服务)。
对于在集群的所有节点上运行的某些服务(例如Hadoop情况下的数据节点),我无法配置它,因为它们位于相同的公共虚拟IP之后。了解到我们需要创建网络安全组。我使用azure blog作为参考。
以下是在PowerShell中执行以打开端口50070的步骤和命令
创建安全组:
New-AzureNetworkSecurityGroup -Name "sectest1-sg" -Location "West Europe"
将规则添加到安全组以打开端口50070:
Get-AzureNetworkSecurityGroup -Name "sectest1-sg" | Set-AzureNetworkSecurityRule -Name NNUI -Type Inbound -Priority 100 -Action Allow -SourceAddressPrefix '*' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange "50070" -Protocol TCP
将NSG与VM关联:
Get-AzureVM -ServiceName "clusterServiceName" -Name "VMOnWhichPortNeedsToBeOpened" | Set-AzureNetworkSecurityGroupConfig -NetworkSecurityGroupName "sectest1-sg" | Update-AzureVM
在完成执行后的powershell中,我看到了成功消息,如:
VERBOSE: 7:04:38 PM - Completed Operation: Get Deployment
VERBOSE: 7:04:40 PM - Completed Operation: Get Deployment
VERBOSE: 7:04:40 PM - Begin Operation: Update-AzureVM
OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM 8587690e-f8ea-0614-ad79-a44615f7cas2 Succeeded
VERBOSE: 7:05:43 PM - Completed Operation: Update-AzureVM
但是,当我尝试通过门户网站访问端口50070 时,我看到"此网页不可用"错误消息。
我不确定我是否错过了这里或某些其他需要做的事情。 如果你能提供一些有用的建议/指示来解决这个问题,我会很高兴。
JE