Skip to content

Commit bda9335

Browse files
committed
first commit
0 parents  commit bda9335

File tree

2 files changed

+207
-0
lines changed

2 files changed

+207
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# setup_hadoop

setup_hadoop.sh

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
#!/bin/bash
2+
3+
#~ make this script executable by using chmod +x setup_hadoop.sh
4+
5+
#~ feel free to change and adjust to your liking.
6+
#~ The author is not responsible for the damage that has been
7+
#~ inflicted due to any misconfiguration or other mishaps
8+
#~ in short if it breaks you are on your own.. Sorry about that
9+
10+
#title :setup_hadoop.sh
11+
#description :This script helps to configure hadoop
12+
#date :20180112
13+
#usage :bash setup_hadoop.sh or ./setup_hadoop.sh
14+
#notes :Install Vim and Emacs to use this script.
15+
#==============================================================================
16+
me=`basename "$0"`
17+
18+
#~ #XML CONFIG FILE LIST
19+
ENV_JAVA_HOME="hadoop-env.sh"
20+
CORE_SITE_XML="core-site.xml"
21+
HDFS_SITE_XML="hdfs-site.xml"
22+
YARN_SITE_XML="yarn-site.xml"
23+
MAPRED_SITE_XML_TEMPLATE="mapred-site.xml.template"
24+
MAPRED_SITE_XML="mapred-site.xml"
25+
#~ #XML CONFIG FILE LIST
26+
27+
#~ #XML CONFIL CONTENTS
28+
#~ WARNING EDITING THIS FILE MIGHT RENDER THE APPLICATION INTO AN UNSTABLE STATE OR WORSE
29+
CORE_SITE_INFO="<property>\n<name>fs.default.name</name>\n<value>hdfs://localhost:9000</value>\n</property>"
30+
HDFS_SITE_INFO="<property>\n<name>dfs.replication</name>\n<value>1</value>\n</property>\n<property>\n<name>dfs.name.dir</name>\n<value>file:///hadoop/hadoopinfra/hdfs/namenode</value>\n</property>\n<property>\n<name>dfs.data.dir</name>\n<value>file:///hadoop/hadoopinfra/hdfs/datanode</value>\n</property>"
31+
YARN_SITE_INFO="<property>\n<name>yarn.nodemanager.aux-service</name>\n<value>mapreduce_shuffle</value>\n</property>"
32+
MAPRED_SITE_INFO="<property>\n<name>mapreduce.framework.name</name>\n<value>yarn</value>\n</property>"
33+
#~ #XML CONFIG CONTENTS
34+
35+
#~ #STRING MATCHERS
36+
#~ DO NOT EDIT THESE MATCH STRINGS.
37+
XML_CONFIGURATION_MATCH_STRING="<configuration>"
38+
JAVA_HOME_MATCH_STRING="\${JAVA_HOME}"
39+
#~ #STRING MATHCERS
40+
41+
42+
#Install ssh if not found
43+
if (dpkg -l figlet >/dev/null) ; then echo "Already installed"; else sudo apt-get update; sudo apt-get install figlet; fi
44+
clear;
45+
46+
47+
function createUser(){
48+
USERNAME="hadoop";
49+
PASSWORD="hadoop";
50+
51+
sudo adduser "$USERNAME";
52+
sudo usermod -aG sudo $USERNAME;
53+
}
54+
function installJava(){
55+
sudo apt-add-repository ppa:webupd8team/java;
56+
sudo apt-get update;
57+
sudo apt install oracle-java8-installer;
58+
java -version;
59+
DEF_JAVA_PATH="\"$(dirname $(dirname $(readlink -f $(which javac))))\""
60+
clear;
61+
}
62+
function unzipHadoop(){
63+
destination=/home/$USER/hadoop/;
64+
echo "cop and paste the hadoop compressed file to decompress"
65+
read custom;
66+
echo "Where do u want to save the decompressed files?[default: $destination]]"
67+
read destination;
68+
[[ -z "$destination" ]] && destination=/home/$USER/hadoop/ || $destination ;
69+
tar zxf "${custom#*//}" --directory $destination;
70+
71+
}
72+
HADOOP_HOME="";
73+
XML_PATH=$HADOOP_HOME/etc/hadoop;
74+
DEF_JAVA_PATH=""
75+
function setBashRC(){
76+
echo "copy and paste hadoop folder"
77+
read HADOOP_HOME;
78+
HADOOP_HOME="${HADOOP_HOME#*//}";
79+
echo "
80+
#HADOOP ENVIRONMENT VARIABLES
81+
export HADOOP_HOME=$HADOOP_HOME
82+
export HADOOP_MAPRED_HOME=\$HADOOP_HOME
83+
export HADOOP_COMMON_HOME=\$HADOOP_HOME
84+
export HADOOP_HDFS_HOME=\$HADOOP_HOME
85+
export YARN_HOME=\$HADOOP_HOME
86+
export HADOOP_COMMON_LIB_NATIVE=\$HADOOP_HOME/lib/native
87+
export PATH=\$PATH:\$HADOOP_HOME/sbin:\$HADOOP_HOME/bin
88+
export HADOOP_INSTALL=\$HADOOP_HOME" >> ~/.bashrc
89+
90+
91+
92+
setJavaHome $JAVA_HOME_MATCH_STRING $ENV_JAVA_HOME
93+
94+
setXMLValues $XML_CONFIGURATION_MATCH_STRING $CORE_SITE_INFO $CORE_SITE_XML
95+
setXMLValues $XML_CONFIGURATION_MATCH_STRING $HDFS_SITE_INFO $HDFS_SITE_XML
96+
setXMLValues $XML_CONFIGURATION_MATCH_STRING $YARN_SITE_INFO $YARN_SITE_XML
97+
98+
cp $HADOOP_HOME$XML_PATH/$MAPRED_SITE_XML_TEMPLATE $HADOOP_HOME$XML_PATH/$MAPRED_SITE_XML
99+
setXMLValues $XML_CONFIGURATION_MATCH_STRING $MAPRED_SITE_INFO $MAPRED_SITE_XML
100+
. ~/.bashrc
101+
}
102+
103+
function sshConfig(){
104+
ssh-keygen -t rsa
105+
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
106+
chmod 0600 ~/.ssh/authorized_keys
107+
echo "Done"
108+
109+
}
110+
111+
function setXMLValues(){
112+
#~
113+
matchString=$1
114+
replaceString=$2
115+
sed -i "/$matchString/a ${replaceString}" $HADOOP_HOME/etc/hadoop/$3
116+
117+
}
118+
119+
function setJavaHome(){
120+
121+
matchString=$1
122+
replaceString="\"$(dirname $(dirname $(readlink -f $(which javac))))\""
123+
sed -i "s@${matchString}@${replaceString}@g" $HADOOP_HOME/etc/hadoop/$2
124+
}
125+
126+
function setJavaHome(){
127+
128+
matchString=$1
129+
replaceString="\"$(dirname $(dirname $(readlink -f $(which javac))))\""
130+
sed -i "s@${matchString}@${replaceString}@g" $HADOOP_HOME/etc/hadoop/$2
131+
}
132+
function formateNameNode(){
133+
hdfs namenode -format
134+
}
135+
function startHadoopServices(){
136+
exec $HADOOP_HOME/sbin/start-dfs.sh
137+
exec $HADOOP_HOME/sbin/start-yarn.sh
138+
139+
}
140+
function stopHadoopServices(){
141+
exec $HADOOP_HOME/sbin/stop-dfs.sh
142+
exec $HADOOP_HOME/sbin/stop-yarn.sh
143+
144+
}
145+
function main()
146+
{
147+
148+
while :
149+
do
150+
clear
151+
echo "Default Path: /home/$USER/hadoop"
152+
echo "1. Create User"
153+
echo "2. Configure SSH"
154+
echo "3. Install Oracle Java"
155+
echo "4. Unzip Hadoop"
156+
echo "5. Set Hadoop Environment"
157+
echo "6. Format Namenode"
158+
echo "7. Start Hadoop Services"
159+
echo "8. Stop Hadoop Services"
160+
echo "9. Exit"
161+
echo -n "Please enter option [1 - 9]"
162+
read opt
163+
case $opt in
164+
165+
1) echo "createUser";
166+
createUser
167+
;;
168+
2) echo "Config SSH";
169+
sshConfig
170+
;;
171+
3) echo "installJava";
172+
installJava
173+
;;
174+
4) echo "unzipHadoop";
175+
unzipHadoop
176+
;;
177+
5) echo "setBashRC";
178+
setBashRC
179+
;;
180+
6) echo "Format Namenode";
181+
formateNameNode
182+
;;
183+
7) echo "Strart Hadoop Services";
184+
startHadoopServices
185+
;;
186+
8) echo "Stop Hadoop Services";
187+
stopHadoopServices
188+
;;
189+
190+
9) echo "Good bye";
191+
. ~/.bashrc
192+
exit
193+
;;
194+
*) echo "$opt is an invaild option. Please select option between 1-9 only";
195+
echo "Press [enter] key to continue. . .";
196+
read enterKey;;
197+
esac
198+
done;
199+
200+
}
201+
main;
202+
203+
204+
205+
206+

0 commit comments

Comments
 (0)