install_slave.sh
3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/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