瀏覽代碼

HADOOP-4126. Allow access to HDFS web UI on EC2 (tomwhite via omalley)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/trunk@713872 13f79535-47bb-0310-9956-ffa450edef68
Owen O'Malley 16 年之前
父節點
當前提交
e60585e650

+ 2 - 0
CHANGES.txt

@@ -103,6 +103,8 @@ Trunk (unreleased changes)
     HADOOP-4645. Package HdfsProxy contrib project without the extra level
     of directories. (Kan Zhang via omalley)
 
+    HADOOP-4126. Allow access to HDFS web UI on EC2 (tomwhite via omalley)
+
   OPTIMIZATIONS
 
   BUG FIXES

+ 58 - 0
src/contrib/ec2/bin/delete-hadoop-cluster

@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Delete the groups an local files associated with a cluster.
+
+if [ -z $1 ]; then
+  echo "Cluster name required!"
+  exit -1
+fi
+
+CLUSTER=$1
+
+# Finding Hadoop clusters
+CLUSTERS=`ec2-describe-instances | \
+  awk '"RESERVATION" == $1 && $4 ~ /-master$/, "INSTANCE" == $1' | tr '\n' '\t' | \
+  grep "$CLUSTER" | grep running | cut -f4 | rev | cut -d'-' -f2- | rev`
+  
+if [ -n "$CLUSTERS" ]; then
+  echo "Cluster $CLUSTER has running instances. Please terminate them first."
+  exit 0
+fi
+
+# Import variables
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+. "$bin"/hadoop-ec2-env.sh
+
+rm -f $MASTER_IP_PATH
+rm -f $MASTER_PRIVATE_IP_PATH
+
+ec2-describe-group | egrep "[[:space:]]$CLUSTER_MASTER[[:space:]]" > /dev/null
+if [ $? -eq 0 ]; then
+  echo "Deleting group $CLUSTER_MASTER"
+  ec2-revoke $CLUSTER_MASTER -o $CLUSTER -u $AWS_ACCOUNT_ID
+fi
+
+ec2-describe-group | egrep "[[:space:]]$CLUSTER[[:space:]]" > /dev/null
+if [ $? -eq 0 ]; then
+  echo "Deleting group $CLUSTER"
+  ec2-revoke $CLUSTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
+fi
+
+ec2-delete-group $CLUSTER_MASTER
+ec2-delete-group $CLUSTER

+ 3 - 0
src/contrib/ec2/bin/hadoop-ec2

@@ -27,6 +27,7 @@ if [ $# = 0 ]; then
   echo "  launch-master  <group>               launch or find a cluster master"
   echo "  launch-slaves  <group> <num slaves>  launch the cluster slaves"
   echo "  terminate-cluster  <group>           terminate all Hadoop EC2 instances"
+  echo "  delete-cluster <group>               delete the group information for a terminated cluster"
   echo "  login  <group|instance id>           login to the master node of the Hadoop EC2 cluster"
   echo "  screen <group|instance id>           start or attach 'screen' on the master node of the Hadoop EC2 cluster"
   echo "  proxy  <group|instance id>           start a socks proxy on localhost:6666 (use w/foxyproxy)"
@@ -48,6 +49,8 @@ elif [ "$COMMAND" = "launch-master" ] ; then
   . "$bin"/launch-hadoop-master $*
 elif [ "$COMMAND" = "launch-slaves" ] ; then
   . "$bin"/launch-hadoop-slaves $*
+elif [ "$COMMAND" = "delete-cluster" ] ; then
+  . "$bin"/delete-hadoop-cluster $*
 elif [ "$COMMAND" = "terminate-cluster" ] ; then
   . "$bin"/terminate-hadoop-cluster $*
 elif [ "$COMMAND" = "list" ] ; then

+ 4 - 0
src/contrib/ec2/bin/launch-hadoop-master

@@ -56,6 +56,8 @@ if [ ! $? -eq 0 ]; then
   if [ $ENABLE_WEB_PORTS == "true" ]; then
     ec2-authorize $CLUSTER_MASTER -p 50030 # JobTracker web interface
     ec2-authorize $CLUSTER_MASTER -p 50060 # TaskTracker web interface
+    ec2-authorize $CLUSTER_MASTER -p 50070 # NameNode web interface
+    ec2-authorize $CLUSTER_MASTER -p 50075 # DataNode web interface
   fi
 fi
 
@@ -69,6 +71,8 @@ if [ ! $? -eq 0 ]; then
   if [ $ENABLE_WEB_PORTS == "true" ]; then
     ec2-authorize $CLUSTER -p 50030 # JobTracker web interface
     ec2-authorize $CLUSTER -p 50060 # TaskTracker web interface
+    ec2-authorize $CLUSTER -p 50070 # NameNode web interface
+    ec2-authorize $CLUSTER -p 50075 # DataNode web interface
   fi
 
   ec2-authorize $CLUSTER_MASTER -o $CLUSTER -u $AWS_ACCOUNT_ID

+ 1 - 1
src/contrib/ec2/bin/list-hadoop-clusters

@@ -15,7 +15,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Terminate a cluster.
+# List running clusters.
 
 # Import variables
 bin=`dirname "$0"`