install_slave.sh 3.09 KB
#!/bin/bash
HADOOP_USER_NAME='hadoop'
PACKAGE_PATH="/home/${HADOOP_USER_NAME}/source/"
PROGRAMS_PATH="/home/${HADOOP_USER_NAME}/Programs/"
PROGRAMS_LIB_PATH="/home/${HADOOP_USER_NAME}/Programs/lib/"
JAVA_INSTALL_PATH="/usr/lib/"

#SCALA_INSTALL_PATH=
REPORT ()
{   
    echo -e "[`date +%F-%H-%M-%S`] $1"
	[ $# -eq 2 ] && exit 1 || return 0
}

#Extension of REPORT,报错 & 退出
 REPORTWARN ()
{
	REPORT "[WARNING] $1" 1
}

#Extension of REPORT,提示信息
 REPORTINFO ()
{
	REPORT "[INFO] $1"
}


INSTALL_PYTHON27()
{
	yum -y update
	yum groupinstall -y development
	yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel
	tar xvf Python-2.7.8.tar.xz
	pushd Python-2.7.8
	./configure --enable-shared
	make && make install

	#echo 'export PATH=/usr/local/bin:$PATH
	#export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> /home/${HADOOP_USER_NAME}/.bashrc
	echo '/usr/local/lib' >> /etc/ld.so.conf.d/python27.conf

	ldconfig
	popd
	python get-pip.py
	
}

[ -d ${PACKAGE_PATH} ] || mkdir -p ${PACKAGE_PATH}
pushd ${PACKAGE_PATH}
[ -f "Python-2.7.8.tar.xz" ] || REPORTWARN 'python2.7 tar not exists'
INSTALL_PYTHON27
#############################@todo get-pip.py   i forgot what to deal with get-pip.py

#Java
[ -d "jdk1.7.0_79" ] || REPORTWARN 'jdk folder not found'
cp -R jdk1.7.0_79/ ${JAVA_INSTALL_PATH}

#ant
[ -d "apache-ant-1.9.6" ] || REPORTWARN 'apache ant not found!'
cp -R apache-ant-1.9.6/ ${PROGRAMS_PATH}

#maven
[ -d "apache-maven-3.2.5" ] || REPORTWARN 'apache-maven folder not found !'
cp -R apache-maven-3.2.5/ ${PROGRAMS_LIB_PATH}
ln -s ${PROGRAMS_LIB_PATH}apache-maven-3.2.5/ ${PROGRAMS_LIB_PATH}/apache-maven

#hbase
cp -R hbase-0.98.8-hadoop2/ ${PROGRAMS_LIB_PATH}
ln -s ${PROGRAMS_LIB_PATH}hbase-0.98.8-hadoop2/ ${PROGRAMS_LIB_PATH}/hbase

#hadoop
cp -R hadoop-2.5.1/ ${PROGRAMS_LIB_PATH}
ln -s ${PROGRAMS_LIB_PATH}hadoop-2.5.1/ ${PROGRAMS_LIB_PATH}/hadoop

#spark
cp -R spark-1.2.2/ ${PROGRAMS_LIB_PATH}
ln -s ${PROGRAMS_LIB_PATH}spark-1.2.2/ ${PROGRAMS_LIB_PATH}/spark

#zookeeper
cp -R zookeeper-3.4.6/ ${PROGRAMS_LIB_PATH}
ln -s ${PROGRAMS_LIB_PATH}zookeeper-3.4.6/ ${PROGRAMS_LIB_PATH}/zookeeper

#scala
cp -R scala-2.11.4/ ${PROGRAMS_LIB_PATH}
ln -s ${PROGRAMS_LIB_PATH}scala-2.11.4/ ${PROGRAMS_LIB_PATH}/scala
#!!!!!!!!!!!!!!!!!!!!!!hbase ,hadoop,zookeeper,scala,spark same with maven , omit

#zookeeper myid
echo 'please echo zookeeper myid:'
read -a ans
mkdir -p /home/${HADOOP_USER_NAME}/zookeeper/export
echo ${ans} >  /home/${HADOOP_USER_NAME}/zookeeper/export/myid
chown -R ${HADOOP_USER_NAME}.${HADOOP_USER_NAME} /home/${HADOOP_USER_NAME}/zookeeper
#.bashrc file
[ -f ".bashrc" ] || REPORTWARN 'bashrc file not found'
cp .bashrc /home/${HADOOP_USER_NAME}/.bashrc

cp .aliasrc /home/hadoop/
# change the owner of Programs dirctory
chown -R ${HADOOP_USER_NAME}.${HADOOP_USER_NAME} ${PROGRAMS_PATH}

# give sh a+x
find ${PROGRAMS_PATH} -name '*.sh' | xargs chmod a+x

# install pdsh
yum install pdsh

pushd /home/hadoop/source/
tar zxvf jpegsrc.v8d.tar.gz
pushd jpeg-8d/
./configure
make && make install
ldconfig
cp jpegint.h /usr/local/include/
popd
popd
# install virtualenvwrapper
pip install virtualenvwrapper