dockerfile
ORIGIN_PATH="/home/admin/jstorm"
JSTORM_PATH="/export/servers/jstorm"
HOST_IP=`/sbin/ip -4 addr|grep inet |grep -v '127.0.0.1'|grep -E "192.|172.|10."|awk '{print $2}'|cut -d / -f1|head -1`
function init_env()
{
useradd adsop
source /home/admin/tags
echo "$__ADSOP_PAWD__"|passwd --stdin adsop
echo "$__ROOT_PASSWORD__"|passwd --stdin root
echo "$__ADMIN_PASSWORD__"|passwd --stdin admin
sed -i '/net.ipv4.ip_local_port_range/d' /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 32768 65535" >> /etc/sysctl.conf
sysctl -p
}
function execshell()
{
echo "[execshell]$@ begin."
eval $@
[[ $? != 0 ]] && {
echo "[execshell]$@ failed."
exit 1
}
echo "[execshell]$@ success."
return 0
}
function abnormal_exit()
{
echo "[FATAL]$@"
exit 1
}
function jstorm_release()
{
execshell "install_java"
cd /export/servers/
wget -T30 -t2 ftp://mfs.jd.com:/mnt/mfs/release/software/jstorm/jstorm-2.2.1.zip -O jstorm-2.2.1.zip &>/dev/null
[[ $? -ne 0 ]] && abnormal_exit "wget jstorm-2.2.1.zip fail"
/bin/rm -rf jstorm-2.2.1 jstorm ~/.jstorm
unzip jstorm-2.2.1.zip &>/dev/null
[[ $? -ne 0 ]] && abnormal_exit "unzip jstorm-2.2.1.zip fail"
/bin/rm -rf jstorm-2.2.1.zip
ln -s jstorm-2.2.1 jstorm
mv ./jstorm/conf/storm.yaml ./jstorm/conf/storm.yaml.bak
cp -f $ORIGIN_PATH/storm.yaml ./jstorm/conf/
cp -f $ORIGIN_PATH/jstorm.logback.xml ./jstorm/conf/
sed -i "s/cluster.name:.*/cluster.name: \"$__CLUSTER_NAME__\"/g" /export/servers/jstorm/conf/storm.yaml
sed -i "s/^worker.memory.size:.*/worker.memory.size: $__WORKER_MEM__/g" /export/servers/jstorm/conf/storm.yaml
sed -ri '/^supervisor.slots.ports:/,${/^ +- [0-9]+$/d}' /export/servers/jstorm/conf/storm.yaml
for((i=$[__SUPERVISOR_SLOTS__-1];i>=0;i--))
do
port=$[6800+i]
sed -ri "/^supervisor.slots.ports:/a\ - $port" /export/servers/jstorm/conf/storm.yaml
done
local zoo_num=`grep -Eoc '^\s+- "[0-9.]+"$' /export/servers/jstorm/conf/storm.yaml`
sed -ri "/^storm.zookeeper.servers/,+$zoo_num{/^\s+- \"[0-9.]+\"$/d}" /export/servers/jstorm/conf