Changeset 195 for nutchez-0.2/src/test/install_func.sh
- Timestamp:
- Jun 17, 2010, 10:28:36 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
nutchez-0.2/src/test/install_func.sh
r173 r195 12 12 ####### garbage end ############### 13 13 14 ####### fafa code here ###########15 16 17 14 # shell檔及壓縮檔在同一目錄中 18 19 15 20 16 ####### 環境變數section########### … … 31 27 ######function section section####### 32 28 33 29 ########## echo function ########## 34 30 function debug_info () { 35 31 if [ $? -eq 0 ]; then … … 44 40 fi 45 41 } 46 42 ##########end echo function ########## 43 44 function choose_lang(){ 45 46 lang=$(locale | grep 'LANG=' | cut -d "=" -f2) 47 48 # Default: source english 49 . $Work_Path/install_lang.en 50 # if locale is zh then source chinese 51 echo $lang | grep 'zh' >> /dev/null && source $Work_Path/install_lang.zh 52 53 # Ask language 54 echo -e "\n$choose_lang_1" 55 read -p "$choose_lang_2 " langChoice 56 57 if [ $langChoice == "2" ]; then 58 source $Work_Path/install_lang.zh 59 else 60 source $Work_Path/install_lang.en 61 fi 62 } 63 64 function check_root(){ 65 debug_info "check_root" 66 if [ $USER != "root" ]; then 67 show_info "$check_root_1" 68 exit 69 fi 70 show_info "$check_root_2" 71 } 72 73 function check_systemInfo(){ 74 debug_info "$check_sys_1" 75 show_info "$check_sys_2" 76 Linux_Distribution=$(lsb_release -a 2> /dev/null | grep "Distributor ID:" | awk '{print $3}') 77 Linux_Version=$(lsb_release -a 2> /dev/null | grep "Release" | awk '{print $2}') 78 show_info "$Linux_Distribution , $Linux_Version" 79 } 80 81 function install_packages(){ 82 # deb 系列系統 83 debug_info "$install_pack_1" 84 debug_info "$install_pack_2" 85 if [ "$Linux_Distribution" == "Ubuntu" ] || [ "$Linux_Distribution" == "Debian" ] ;then 86 echo -e "\n$install_pack_if_1\n" 87 aptitude install -y expect ssh dialog 88 # rpm 系列系統 89 elif [ "$Linux_Distribution" == "Fedora" ] || [ "$Linux_Distribution" == "CentOS" ] ;then 90 show_info "$install_pack_if_2" 91 else 92 show_info "$install_pack_if_2" 93 fi 94 } 95 96 function check_nez_installed(){ 97 debug_info "$check_nez_1" 98 if [ -d "opt/nutchez" ]; then 99 show_info "$check_nez_2" 100 exit 101 else 102 show_info "$check_nez_3" 103 fi 104 } 105 106 function check_sunJava(){ 107 debug_info "$check_sunJava_1" 108 debug_info "$check_sunJava_2" 109 110 javaPath="/usr" 111 yesno="no" 112 choice="3" 113 114 if [ -e $javaPath/bin/java ]; then 115 JAVA_org=$($javaPath/bin/java -version 2>&1 | grep "Java(TM)") 116 JAVA_version=$($javaPath/bin/java -version 2>&1 | grep "java version" | \ 117 awk '{print $3}' | cut -d "." -f1-2 | cut -d "\"" -f2) 118 119 if [ "$JAVA_org" == "" ]; then 120 show_info "$check_sunJava_if_1" 121 show_info "$check_sunJava_if_2" 122 show_info "$check_sunJava_if_3" 123 read -p "$check_sunJava_if_4" choice 124 case $choice in 125 "1") 126 show_info "$check_sunJava_if_5" 127 exit 128 ;; 129 "2") 130 read -p "$check_sunJava_if_6" javaPath 131 ;; 132 "*") 133 exit 134 ;; 135 esac 136 137 if [ $choice == "2" ]; then 138 JAVA_org=$($javaPath/bin/java -version 2>&1 | grep "Java(TM)") 139 JAVA_version=$($javaPath/bin/java -version 2>&1 | grep "java version" | \ 140 awk '{print $3}' | cut -d "." -f1-2 | cut -d "\"" -f2) 141 142 if [ "$JAVA_org" == "" ]; then 143 show_info "$check_sunJava_if_7" 144 exit 145 fi 146 fi 147 fi 148 149 large16=$(echo "$JAVA_version >= 1.6" | bc) 150 if [ "${large16}" == 0 ]; then 151 show_info "$check_sunJava_if_8" 152 exit 153 fi 154 155 show_info "$check_sunJava_if_9" 156 else 157 show_info "$check_sunJava_if_10" 158 exit 159 fi 160 161 unset JAVA_org 162 unset JAVA_version 163 } 164 165 # 檢查是否有安裝openssh, openssh-server 166 function check_ssh(){ 167 debug_info "$check_ssh_1" 168 if [ -e /usr/bin/ssh ]; then 169 show_info "$check_ssh_2" 170 else 171 show_info "$check_ssh_3" 172 exit 173 fi 174 175 if [ -e /usr/sbin/sshd ]; then 176 show_info "$check_ssh_4" 177 else 178 show_info "$check_ssh_5" 179 exit 180 fi 181 } 182 183 184 # 檢查是否有安裝dialog 185 function check_dialog(){ 186 debug_info "$check_dialog_1" 187 if [ -e /usr/bin/dialog ]; then 188 show_info "$check_dialog_2" 189 else 190 show_info "$check_dialog_3" 191 exit 192 fi 193 } 47 194 48 195 check_info () { … … 63 210 64 211 function set_nutchuser_passwd () { 65 read -sp "Please enter nutchuser's password : " Nutchuser_Passwd 212 read -sp "$set_nutchuser_passwd_echo_1" Nutchuser_Passwd 213 # read -sp "Please enter nutchuser's password : " Nutchuser_Passwd 66 214 echo -e "\n" 67 read -sp "Please enter nutchuser's password again: " Nutchuser_Passwd2 215 read -sp "$set_nutchuser_passwd_echo_2" Nutchuser_Passwd2 216 # read -sp "Please enter nutchuser's password again: " Nutchuser_Passwd2 68 217 echo -e "\n" 69 218 if [ $Nutchuser_Passwd != $Nutchuser_Passwd2 ]; then … … 79 228 # 若只有一個 eth 時 80 229 if [ "$net_nu" == "1" ]; then 81 #ifconfig $net_interfaces | grep "inet addr:" | sed 's/^.*inet addr://g' | cut -d " " -f182 230 net_address=$(ifconfig $net_interfaces | grep "inet addr:" | sed 's/^.*inet addr://g' | cut -d " " -f1) 83 231 net_MacAddr=$(ifconfig $net_interfaces | grep 'HW' | sed 's/^.*HWaddr //g') 84 #echo "net_address is $net_address"85 #echo "net_MacAddr is $net_MacAddr"86 232 87 233 # 若有多個 eth 時 88 234 else 89 235 declare -i i=1 90 show_info "\nSystem have multiple network device, which network use for this machine: " 236 show_info $select_eth_echo_1 237 # show_info "\nSystem have multiple network device, which network use for this machine: " 91 238 92 239 for net in $net_interfaces … … 95 242 i=i+1 96 243 done 97 98 244 read -p "$select_eth_echo_2 " net_choice 245 # read -p "Please choice(1/2/3...): " net_choice 99 246 if [ -z $net_choice ]; then 100 247 net_choice=1 101 248 fi 102 249 103 show_info "Your choice is $net_choice" 250 show_info $select_eth_echo_3 251 # show_info "Your choice is $net_choice" 104 252 net_interface=$(echo $net_interfaces | cut -d " " -f $net_choice) 105 253 #ifconfig $net_interface | grep "inet addr:" | sed 's/^.*inet addr://g' | cut -d " " -f1 106 254 net_address=$(ifconfig $net_interface | grep "inet addr:" | sed 's/^.*inet addr://g' | cut -d " " -f1) 107 255 net_MacAddr=$(ifconfig $net_interface | grep 'HW' | sed 's/^.*HWaddr //g') 108 show_info "net_address is $net_address" 109 show_info "net_MacAddr is $net_MacAddr" 110 fi 111 } 112 113 114 function show_info () { 115 show_info "The Master IP Address is $MasterIP_Address" 116 show_info "The Master MacAddr is $net_MacAddr" 117 } 118 119 function confirm_install_information () { 120 read -p "Please confirm your install infomation: 1.Yes 2.No " confirm 121 } 256 257 show_info $select_eth_echo_4 258 # show_info "net_address is $net_address" 259 show_info $select_eth_echo_5 260 # show_info "net_MacAddr is $net_MacAddr" 261 fi 262 } 263 264 265 #function show_master_info () { 266 # show_info "The Master IP Address is $MasterIP_Address" 267 # show_info "The Master MacAddr is $net_MacAddr" 268 #} 122 269 123 270 function make_ssh_key () { 124 debug_info "Make ssh key(begin...)" 271 debug_info $make_ssh_key_echo_1 272 # debug_info "Make ssh key(begin...)" 125 273 su nutchuser -c 'ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""' 126 274 su nutchuser -c "cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys" 127 275 su nutchuser -c "ssh-add /home/nutchuser/.ssh/id_rsa" 128 debug_info "Make ssh key(done!)" 276 debug_info $make_ssh_key_echo_2 277 # debug_info "Make ssh key(done!)" 129 278 } 130 279 131 280 132 281 function set_haoop-site () { 133 debug_info "set hadoop-site.xml(begin...)" 282 debug_info $set_haoop_site_echo_1 283 # debug_info "set hadoop-site.xml(begin...)" 134 284 cd $Nutch_HOME/conf/ 135 285 cat > hadoop-site.xml << EOF … … 149 299 </configuration> 150 300 EOF 151 debug_info "set hadoop-site.xml(done!)" 301 debug_info $set_haoop_site_echo_2 302 # debug_info "set hadoop-site.xml(done!)" 152 303 } 153 304 154 305 # 修改nutch-site.xml中-http.agent.url, http.agent.email 155 306 function set_nutch-site () { 156 debug_info "set nutch-site.xml(begin...)" 307 debug_info $set_haoop_site_echo_1 308 # debug_info "set nutch-site.xml(begin...)" 157 309 Line_NO=`cat $Nutch_HOME'/conf/nutch-site.xml' | grep -n 'http.agent.url' | sed 's/:.*//g'` 158 debug_info "debug...http.agent.url line number = $Line_NO..." 310 debug_info $set_haoop_site_echo_2 311 # debug_info "debug...http.agent.url line number = $Line_NO..." 159 312 sed -i ''$((Line_NO+1))'d' $Nutch_HOME/conf/nutch-site.xml 160 debug_info "debug...edit http.agent.url delete line $((Line_NO+1))..." 313 debug_info $set_haoop_site_echo_3 314 # debug_info "debug...edit http.agent.url delete line $((Line_NO+1))..." 161 315 sed -i ''$Line_NO'a <value>'$MasterIP_Address'</value>' $Nutch_HOME/conf/nutch-site.xml 162 debug_info "debug...edit http.agent.url done..." 316 debug_info $set_haoop_site_echo_4 317 # debug_info "debug...edit http.agent.url done..." 163 318 164 319 Line_NO=`cat $Nutch_HOME'/conf/nutch-site.xml' | grep -n 'http.agent.email' | sed 's/:.*//g'` 165 debug_info "debug...http.agent.email line number = $Line_NO..." 320 debug_info $set_haoop_site_echo_5 321 # debug_info "debug...http.agent.email line number = $Line_NO..." 166 322 167 323 sed -i ''$((Line_NO+1))'d' $Nutch_HOME/conf/nutch-site.xml 168 debug_info "debug...edit http.agent.email delete line $((Line_NO+1))..." 324 debug_info $set_haoop_site_echo_6 325 # debug_info "debug...edit http.agent.email delete line $((Line_NO+1))..." 169 326 sed -i ''$Line_NO'a <value>'$Admin_email'</value>' $Nutch_HOME/conf/nutch-site.xml 170 debug_info "debug...edit http.agent.email done..." 171 debug_info "set nutch-site.xml(done!)" 327 debug_info $set_haoop_site_echo_7 328 # debug_info "debug...edit http.agent.email done..." 329 debug_info $set_haoop_site_echo_8 330 # debug_info "set nutch-site.xml(done!)" 172 331 } 173 332 174 333 function format_HDFS () { 175 debug_info "format HDFS..."334 debug_info $format_HDFS_echo_1 176 335 su nutchuser -c "$Nutch_HOME/bin/hadoop namenode -format" 336 debug_info $format_HDFS_echo_2 177 337 } 178 338 179 339 function start_up_NutchEZ (){ 180 debug_info "start up NutchEZ..." 340 debug_info $start_up_NutchEZ_echo_1 341 # debug_info "start up NutchEZ..." 181 342 su nutchuser -c "$Nutch_HOME/bin/start-all.sh" 182 343 } … … 184 345 185 346 function set_hosts () { 347 debug_info $set_hosts_echo_1 186 348 Line_NO=`cat /etc/hosts | grep -n $(hostname) | sed 's/:.*//g'` 187 349 content=$(cat /etc/hosts | awk 'NR=='$Line_NO'{printf "# " ; print}' ) … … 191 353 192 354 function Install_Nutch () { 193 debug_info "MasterIP_Address=$MasterIP_Address" 194 debug_info "Master_Hostname=$(hostname)" 355 debug_info $install_Nutch_echo_1 356 # debug_info "MasterIP_Address=$MasterIP_Address" 357 debug_info $install_Nutch_echo_2 358 # debug_info "Master_Hostname=$(hostname)" 195 359 su nutchuser -c "echo $net_address $(hostname) $net_MacAddr \>\> ~/nutchez/system/nutch_nodes" 196 360 set_hosts … … 203 367 cd $Start_PATH 204 368 Line_NO=`cat client_install | grep -n '# Master IP here' | sed 's/:.*//g'` 205 debug_info "debug...Master IP here line number = $Line_NO..." 369 debug_info $client_PassMasterIPAddr_echo_1 370 # debug_info "debug...Master IP here line number = $Line_NO..." 206 371 sed -i ''$((Line_NO+1))'d' client_install 207 debug_info "debug...edit Master IP at line $((Line_NO+1))..." 372 debug_info $client_PassMasterIPAddr_echo_2 373 # debug_info "debug...edit Master IP at line $((Line_NO+1))..." 208 374 sed -i ''$Line_NO'a Master_IP_Address='$MasterIP_Address'' client_install 209 debug_info "edit client_install done..." 375 debug_info $client_PassMasterIPAddr_echo_3 376 # debug_info "edit client_install done..." 210 377 } 211 378 … … 214 381 cd $Start_PATH 215 382 Line_NO=`cat client_install | grep -n '# Master Hostname here' | sed 's/:.*//g'` 216 debug_info "debug...Master hostname here line number = $Line_NO..." 383 debug_info $client_PassMaster_Hostname_echo_1 384 # debug_info "debug...Master hostname here line number = $Line_NO..." 217 385 sed -i ''$((Line_NO+1))'d' client_install 218 debug_info "debug...edit Master Hostname at line $((Line_NO+1))..." 386 debug_info $client_PassMaster_Hostname_echo_2 387 # debug_info "debug...edit Master Hostname at line $((Line_NO+1))..." 219 388 sed -i ''$Line_NO'a Master_Hostname='$(hostname)'' client_install 220 debug_info "edit client_install done..." 389 debug_info $client_PassMaster_Hostname_echo_3 390 # debug_info "edit client_install done..." 221 391 } 222 392 … … 228 398 # 將Master_IP_Address給client 229 399 # 打包安裝目錄(不含tomcat) 230 debug_info "function make_client_install..." 400 401 debug_info $make_client_install_echo_1 402 # debug_info "function make_client_install..." 403 231 404 client_PassMasterIPAddr 232 405 client_PassMaster_Hostname … … 240 413 241 414 function start_up_tomcat () { 242 debug_info "start up tomcat..." 415 debug_info $start_up_tomcat_echo_1 416 # debug_info "start up tomcat..." 417 243 418 i=10 244 419 until [ $i -lt 1 ] 245 420 do 246 421 sleep 1s 247 debug_info "wait $i sec..." 422 debug_info $start_up_tomcat_echo_2 423 # debug_info "wait $i sec..." 248 424 i=`expr $i - 1` 249 425 done 250 426 su nutchuser -c "$Tomcat_HOME/bin/startup.sh" 251 debug_info "tomcat has been started..." 427 debug_info $start_up_tomcat_echo_3 428 # debug_info "tomcat has been started..." 252 429 } 253 430 254 431 ###最後再整理### 255 432 # client簡易步驟 256 function client_install_command () { 257 show_info "Client Install Command as Follows:" 258 show_info "cd ~" 259 show_info "mkdir nutchez_client_install" 260 show_info "cd nutchez_client_install" 261 show_info "scp nutchuser@$MasterIP_Address:/home/nutchuser/nutchez/source/* ." 262 show_info "sudo su" 263 show_info "./client_install" 264 } 433 function client_install_commands () { 434 show_info $client_install_commands_echo_1 435 show_info $client_install_commands_echo_2 436 show_info $client_install_commands_echo_3 437 show_info $client_install_commands_echo_4 438 show_info $client_install_commands_echo_5 439 show_info $client_install_commands_echo_6 440 show_info $client_install_commands_echo_7 441 442 443 # show_info "Client Install Command as Follows:" 444 # show_info "cd ~" 445 # show_info "mkdir nutchez_client_install" 446 # show_info "cd nutchez_client_install" 447 # show_info "scp nutchuser@$MasterIP_Address:/home/nutchuser/nutchez/source/* ." 448 # show_info "sudo su" 449 # show_info "./client_install" 450 }
Note: See TracChangeset
for help on using the changeset viewer.