#!/bin/bash

menu()
{
echo "---欢迎使用hadoop部署管理程序---"
echo "# 1.初始化Linux环境"
echo "# 2.配置jdk"
echo "# 3.配置ntpd时钟服务"
echo "# 4.配置zookeeper环境"
echo "# 5.配置hadoop环境"
echo "# 6.退出程序"
echo "-----------------------------"
} choice()
{
read -p "Please choice a menu[1‐9]:" select
} install_linux(){
mkdir /usr/app
dir=/usr/app/software
if [ ! -d ${dir} ]
then
mkdir /usr/app/software -p
fi
#设置主机名
hostnamectl set-hostname cent
sed -i 's/HOSTNAME=localhost.localdomain/HOSTNAME=cent/g' /etc/sysconfig/network
echo "192.168.66.128 cent" >> /etc/hosts
#关闭selinux
sed -i '/^SELINUX/s/=.*/=disabled/' /etc/selinux/config
setenforce 0
#关闭防火墙
service iptables stop
chkconfig iptables off
#修改Linux系统的最大打开文件数量
cat >> /etc/security/limits.conf <<EOF
* soft nofile 65536
* hard nofile 65536
EOF
} install_jdk(){
find /usr/app/software -type -f -name 'jdk*.tar.gz'
if [ $? -eq 0 ]
then
tar xvf /usr/app/software/jdk*.tar.gz -C /usr/app
mv jdk* jdk
cat >> /etc/profile <<EOF
export JAVA_HOME=/usr/app/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
EOF
source /etc/profile
else
echo "请先上传jdk tar包"
fi
} install_ntpd(){
yum -y install ntp
service ntpd restart
#ntpdate -u ntp1.aliyun.com ---配置阿里云时钟
#如果是离线网络,则需要配置一台ntpd时钟,其他节点的同步这台时钟
} install_zookeeper(){
ls -ll /usr/app/software/zookeeper*.tar.gz
if [ $? -eq 0 ]
then
tar xvf /usr/app/software/zookeeper*.tar.gz -C /usr/app
mv zookeeper* zookeeper
mv /usr/app/zookeeper/conf/zoo.cfg* /usr/app/zookeeper/conf/zoo.cfg
echo>/usr/app/zookeeper/conf/zoo.cfg
mkdir /usr/app/zookeeper/data
cat >> /usr/app/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/app/zookeeper/data
clientPort=2181
maxClientCnxns=60
server.1= cent:2888:3888
EOF
else
echo "请先上传zookeeper tar包"
fi
} install_hadoop(){
echo "配置太多(hadoop-env.sh/core-site.xml/hdfs-site.xml/mapred-site.xml/yarn-site.xml/yarn-env.sh),此功能忽略"
} while :
do
menu
choice
case $select in
1)
install_linux;;
2)
install_jdk;;
3)
install_ntpd;;
4)
install_zookeeper;;
5)
install_hadoop;;
6)
exit;;
*)
echo "您输入的数字没有对应的菜单"
esac
done

  

最新文章

  1. 《C#编程》课件 - C#基础
  2. Java 第11章 类的无参方法
  3. Maven、gradle、Ant、Eclipse IDE
  4. 利用Testng注释实现多线程并发测试
  5. TJU 2944 Mussy Paper 最大权闭合子图
  6. 解决No Hibernate Session bound to thread, and configuration does not allow creat。。。
  7. 开源数据库连接池之Tomcat内置连接池
  8. niu人
  9. iphone6 plus有什么办法
  10. HTML5图形绘制
  11. J2EE进阶(十三)Spring MVC常用的那些注解
  12. npm 模块的总结
  13. [再寄小读者之数学篇](2014-06-23 积分不等式 [中国科学技术大学2013年高等数学B 考研试题])
  14. Java判断水仙花数
  15. H5 C3
  16. Javascript 香蕉分段吃(数组分隔)
  17. P1-Linux下安装MySQL及登录用户配置
  18. Tomcat8.5配置https启动报空指针错误
  19. yum源安装php报错缺少libmcrypt.so.4()(64bit)库
  20. PG的集群技术:Pgpool-II与Postgres-XC Postgres-XL Postgres-XZ Postges-x2

热门文章

  1. 2019-2020-1 20199301《Linux内核原理与分析》第五周作业
  2. Bias vs. Variance(3)---用learning curves来判断bias/variance problem
  3. C# URL编码转换 URL转码 UrlDecode UrlEncode
  4. 【贪心】Communication System POJ 1018
  5. oracle: jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111
  6. Stone Game
  7. http健康状态检查
  8. 四大网络之Alexnet
  9. Linux入门——安装jdk、tomcat、MySQL以及项目部署
  10. iframe标签在PC端的使用