• hadoop -- 搭建集群小工具


      1 #!/bin/bash
      2 
      3 # 创建必备文件夹
      4 if [ ! -e /home/soft/ ];then mkdir -p /home/soft/;fi
      5 
      6 # 修改主机映射
      7 sethosts(){
      8 names=()
      9 ips=()
     10 x=0
     11 while [ 1 -eq 1 ]
     12 do
     13 read -p "输入0结束,请输入第$[$x+1]个ip --> " ip
     14 if [ "$ip" == "0" ];then break;fi
     15 ips[$x]=$ip
     16 let x++
     17 done
     18 
     19 
     20 for (( i=0;i<${#ips[*]};i++ ))
     21 do
     22 read -p "请输入${ips[$i]}对应的主机名 --> " name
     23 echo -e "${ips[$i]}	${name}" >> /etc/hosts
     24 done
     25 
     26 echo ------------------------------------
     27 cat /etc/hosts
     28 echo -----------------------------------
     29 
     30 }
     31 
     32 # 卸载软件
     33 uninstall(){
     34  rpm -qa | grep "$1" > /home/soft/"$1".tmp.txt
     35         while [ 1 -eq 1 ]
     36         do
     37                 a=`head -n 1 /home/soft/"$1".tmp.txt`
     38                 if [ "$a" == "" ];then break;rm -rf /home/soft/"$1".tmp.txt;fi
     39                 rpm -e --nodeps "$a"
     40                 sed -i '/'"$a"'/d' /home/soft/"$1".tmp.txt
     41         done
     42     rm -rf /home/soft/"$1".tmp.txt
     43         echo "-------uninstall--${1}--OK.--------"
     44 
     45 }
     46 
     47 # 设置环境变量
     48 setprofile(){
     49 read -p "Enter your java-home --> " JAVA_HOME
     50 read -p "Enter your hadoop-home --> " HADOOP_HOME
     51 read -p "Enter your zookeeper-home --> " ZOOKEEPER_HOME
     52 echo '
     53 export JAVA_HOME='"${JAVA_HOME}"'
     54 export JRE_HOME='"${JAVA_HOME}/jre"'
     55 export HADOOP_HOME='"${HADOOP_HOME}"'
     56 export ZOOKEEPER_HOME='"${ZOOKEEPER_HOME}"'
     57 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$PATH
     58 export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH' >> /etc/profile
     59 
     60 }
     61 
     62 # 设置ip
     63 setip(){
     64 
     65 grep 'eth1' /etc/udev/rules.d/70-persistent-net.rules
     66 if [ $? -eq 0 ];then
     67         sed -i '/eth0/d;/^$/d;/#/d'  /etc/udev/rules.d/70-persistent-net.rules
     68         sed -i 's/eth1/eth0/' /etc/udev/rules.d/70-persistent-net.rules
     69 fi
     70 
     71 mac=`awk -F"," '{print $4}' /etc/udev/rules.d/70-persistent-net.rules | awk -F""" '{print $2}'`
     72 sed -i 's/HWADDR=.*/'"HWADDR=${mac}"'/' /etc/sysconfig/network-scripts/ifcfg-eth0
     73 
     74 read -p "请输入ip --> " ip
     75 sed -i 's/IPADDR=.*/IPADDR='"$ip"'/' /etc/sysconfig/network-scripts/ifcfg-eth0
     76 echo -------------------------------------------
     77 cat /etc/sysconfig/network-scripts/ifcfg-eth0
     78 echo ------------------------------------------
     79 }
     80 
     81 # 设置 mac
     82 setmac(){
     83 
     84 grep 'eth1' /etc/udev/rules.d/70-persistent-net.rules
     85 if [ $? -eq 0 ];then
     86     sed -i '/eth0/d;/^$/d;/#/d'  /etc/udev/rules.d/70-persistent-net.rules
     87         sed -i 's/eth1/eth0/' /etc/udev/rules.d/70-persistent-net.rules
     88 fi
     89 cat /etc/udev/rules.d/70-persistent-net.rules
     90 }
     91 
     92 # 主菜单
     93 main(){
     94 while [ 1 -eq 1 ]
     95 do
     96 read -p "
     97 
     98 +-------------------------------------------------------+-----------------------+
     99 |                      Linux--Tools            by:curry                   |
    100 +-----------------------------+-------------------------+-----------------------+
    101 | 1. 修改主机名             | a1. 卸载--jdk        | b1. 格式化 hdfs    |
    102 | 2. 修改ip                 | a2. see--jdk        | b2. 开启 hdfs        |
    103 | 3. 修改mac            | a3. 卸载--mysql            | b3. 开启 yarn        |
    104 | 4. 修改主机映射        | a4. see--mysql        | b4. 开启 zookeeper    |
    105 | 5. 关闭防火墙及开机自启   | a5. set--环境变量        | b5. 开启 journalnode    |
    106 | 6. 网络服务及开机自启     | a6. set--ssh免密        | b6. 格式化 zookeeper    |
    107 | 7. reboot                | a7. test--安装mysql    |            |
    108 +-----------------------------+-------------------------+-----------------------+
    109 | e1. edit--ip            | f1. 发送--ssh授权文件    | g1. 查--yum        |
    110 | e2. edit--mac            | f2. 发送--hosts        | g2. 查--rpm        |
    111 | e3. edit--hosts        | f3. 发送--profile        | g3. 安装--yum        |
    112 | e4. edit--hostname        | f4. 追加ssh-->授权文件    | g4. 卸载--rpm        |
    113 | e5. edit--profile        |                 |             |
    114 +-----------------------------+-------------------------+-----------------------+
    115 | 0. 退出    e. 编辑本文件                         |            |
    116 +-----------------------------+-------------------------+-----------------------+
    117 
    118  " flag
    119 case $flag in
    120 f4)
    121     cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    122 ;;
    123 g4)
    124     read -p "请输入程序名 --> " word
    125     rpm -e --nodeps "${word}"
    126 ;;
    127 g3)
    128     read -p "请输入安装包名称 --> " priword
    129     yum install -y "${priword}"
    130 ;;
    131 g2)
    132     
    133     read -p "请输入关键字 --> " priword
    134     rpm -qa | grep "${priword}"
    135 ;;
    136 g1)
    137     read -p "请输入关键字 --> " priword
    138     yum search ${priword} | grep "${priword}" --color
    139 ;;
    140 f3)
    141     read -p "请输入接受主机名或主机ip --> " flag
    142     scp -r /etc/profile ${flag}:/etc/
    143 ;;
    144 f2)
    145     read -p "请输入接受主机名或主机ip --> " flag
    146     scp -r /etc/hosts ${flag}:/etc/
    147 ;;
    148 f1)
    149     read -p "请输入接受主机名或主机ip --> " flag
    150     scp -r ~/.ssh/authorized_keys ${flag}:~/.ssh/
    151 ;;
    152 e5)
    153     vim /etc/profile
    154 ;;
    155 e4)
    156     vim /etc/sysconfig/network
    157 ;;
    158 e3)
    159     vim /etc/hosts
    160 ;;
    161 e2)
    162     vim /etc/udev/rules.d/70-persistent-net.rules
    163 ;;
    164 e1)
    165     vim /etc/sysconfig/network-scripts/ifcfg-eth0
    166 ;;
    167 e)
    168     vim /home/tools/curry.sh
    169 ;;
    170 b6)
    171     hdfs zkfc -formatZK
    172 ;;
    173 b5)
    174     hadoop-daemon.sh start journalnode
    175 ;;
    176 b4)
    177     zkServer.sh start
    178 ;;
    179 b3)
    180     start-yarn.sh
    181 ;;
    182 b2)
    183     start-dfs.sh
    184 ;;
    185 b1)
    186     hdfs namenode -format
    187 ;;
    188 a7)
    189     yum install -y mysql.x86_64
    190 ;;
    191 a6)
    192     rm -rf ~/.ssh/*
    193     ssh-keygen -t rsa;
    194     cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
    195     echo -----------------------------
    196     cat /root/.ssh/authorized_keys
    197     echo ----------------------------
    198 ;;
    199 a5)
    200     setprofile
    201 ;;
    202 a4)
    203     rpm -qa | grep "mysql"    
    204 ;;
    205 a3)
    206     uninstall "mysql"
    207 ;;
    208 a2)
    209     rpm -qa | grep jdk
    210 ;;
    211 a1)
    212     uninstall "java"
    213 ;;
    214 0)
    215     echo -e "
    再见
    "; break
    216 ;;
    217 1)
    218     read -p "请设置主机名 --> " hostname
    219     sed -i 's/HOSTNAME=.*/HOSTNAME='"$hostname"'/' /etc/sysconfig/network
    220     cat /etc/sysconfig/network | grep "HOSTNAME"
    221 ;;
    222 2)
    223     setip
    224 ;;
    225 3)
    226     setmac
    227 ;;
    228 4)
    229     sethosts
    230 ;;
    231 5)
    232     service iptables stop
    233     chkconfig iptables off
    234 ;;
    235 6)
    236     service network stop
    237     service network start
    238     chkconfig network on    
    239 ;;
    240 7)
    241     reboot
    242 ;;
    243 *)
    244 echo "没长眼吗? 看好再输入,OK?"
    245 ;;
    246 esac
    247 done
    248 }
    249 
    250 
    251 
    252 
    253 main
  • 相关阅读:
    前端性能优化(一)时间角度优化:减少耗时
    前端性能优化(二)空间角度:降低资源占用
    vue中form验证
    迅为国产瑞芯微RK3568工业级核心板方案
    迅为国产开发板值得入手的三款开发板
    【重磅来袭】迅为RK3568 Android11系统移植视频教程
    迅为RK3568开发板鸿蒙OpenHarmony系统固件烧写
    2022面试题
    关于elupload上传图片的一些坑clearFiles()的使用
    vue中form组件中上传elupload(单、多附件上传,以及上传回显以及编辑不出现等问题)
  • 原文地址:https://www.cnblogs.com/iscurry/p/12145129.html
Copyright © 2020-2023  润新知