init ubuntu lucid image: set ip address

#/bin/sh

echo "running cloud-init..."

HOSTNAME=`hostname`

IP_TAG=`echo $HOSTNAME | awk -F "-" '{print $1}'`
if [ IP_TAG != "ip" ]
 then
        echo "not a eucalyptus image, exit"
        exit 1;
fi

IP=`echo $HOSTNAME | awk -F "-" '{print $2"."$3"."$4"."$5}'`
#echo -e "\n$IP $HOSTNAME\n"

IP_EXISTS=`grep -c "$IP" /etc/hosts`

if [ $IP_EXISTS = "0" ]
 then
        sudo sh -c "echo '$IP $HOSTNAME' >> /etc/hosts"
        echo "$IP added to /etc/hosts file"
fi

 When we want to run hadoop on eucalyptus image, it need set ip address to the hostname first. The image default hostname is like ip-172.18.1.3, which carry ip address information.

So the above script will resolve hostname and set ip address in the  host file.

猜你喜欢

转载自fishyych.iteye.com/blog/1166814
今日推荐