脚本两则--用于快速部署HADOOP,SPARK这些(特别是VM虚拟机模板部署出来的)。。

简介:

感觉可能只是适合我自己的部署习惯吧,且只针对CENTOS6及以下版本,以后有时间,可能还是要改进。。

1,从VM的模块产生的虚拟机,如何快速搞定网络配置?

复制代码
#!/bin/bash

#usage:./init_cdh_sys.sh hostname hostip
#generate the host from esxi template.must change NIC mac address and change hostname 
net_rule_file="/etc/udev/rules.d/70-persistent-net.rules"
net_conf_file="/etc/sysconfig/network-scripts/ifcfg-eth0"
net_hostname_file="/etc/sysconfig/network"
netmask_conf="255.255.255.0"
gateway_conf="192.168.xx.1"
dns1_conf="a.b.c.d"
old_mac="00:50:56:BD:92:DA"#此处要替换为模板的MAC地址

#============================================
#resetup 70-persistent-net.rules file
if  (cat $net_rule_file|grep -i $old_mac) ;then
  new_mac_str=$(sed -n -e '/eth1/ p' $net_rule_file)
  #new_mac_1=${new_mac_str:64:17}
  new_mac=$(echo $new_mac_str| awk -F ',' {'print $4'}|awk -F '==' {'print $2'}|sed 's/\"//g')
  sed -i "/$old_mac/Id" $net_rule_file
  sed -i "s/eth1/eth0/g" $net_rule_file
else
  new_mac_str=$(sed -n -e '/eth0/ p' $net_rule_file)
  #new_mac_1=${new_mac_str:64:17}
  new_mac=$(echo $new_mac_str| awk -F ',' {'print $4'}|awk -F '==' {'print $2'}|sed 's/\"//g')
  echo "done 70-persistent-net.rules file!"
fi

#====================================
#change hostname
if [ ! -n "$1" ] ;then
    echo "you have not input a hostname!"
    echo "usage:./init_sys_nic.sh cm222.wdzjcdh.com 192.168.14.222"
else
  sed -i "s/localhost.localdomain/$1/g" $net_hostname_file
fi
#===================================
#resetup NIC config file
if  (cat $net_conf_file|grep $netmask_conf) ;then
  echo "done /etc/sysconfig/network-scripts/ifcfg-eth0"
elif [ ! -n "$2" ] ;then
    echo "you have not input a ip address!"
else
  sed -i "/$old_mac/Id" $net_conf_file
  sed -i "s/dhcp/static/g" $net_conf_file
  echo "HWADDR=$new_mac" >> $net_conf_file
  echo "IPADDR=$2" >> $net_conf_file
  echo "NETMASK=$netmask_conf" >> $net_conf_file
  echo "GATEWAY=$gateway_conf" >> $net_conf_file
  echo "DNS1=$dns1_conf" >> $net_conf_file
  service network restart
  reboot
fi
复制代码

2,SSH-KEYGEN -T RSA这个命令暂时没有想到好的操作方面(ANSIBLE来部署?)最近动了这个心了,SALTSTACK作应用部署,快,但运维自己的操作,ANSIBLE也是一个选择哟,毕竟纯SSH。。

3,在弄好首台HADOOP之后,如何愉快的COPY到其它结点?这个脚本不太方便,可能相关目录要自定义。。。如果能所有的东东统一到一个目录的话。。。:),还有scp -r $var_folder root@$1:/usr/local/,这个写得奇丑,当时只求快。。

复制代码
#!/bin/bash

echo "Usage: ./init_hadoop_spark -f demo-data"
cp_file=("/etc/hosts" "/etc/profile.d/env.sh")
cp_folder=("/root/.ssh/" "/usr/local/scala-2.11.4" "/usr/local/hadoop-2.6.0" "/usr/local/spark-1.2.2-bin-hadoop2.4" "/usr/local/jdk1.7.0_71")

function cp_file_folder()
{
  for var_file in ${cp_file[@]};
  do
    scp $var_file root@$1:$var_file
  done 

  for var_folder in ${cp_folder[@]};
  do
    scp -r $var_folder root@$1:/usr/local/
  done
}

while getopts :f:h file_name
do
    case $file_name in
    f) cat $OPTARG | while read line
        do
                arr_var=(${line})
            cp_file_folder ${arr_var[0]}
                #run_docker ${arr_var[0]}  ${arr_var[1]} ${arr_var[2]}
        done
        sleep 2
        ;;
    h) echo "Usage: ./init_hadoop_spark -f demo-data"  
            exit 1
            ;;
        \?) echo "Usage: ./init_hadoop_spark -f demo-data"  
            exit 1  
            ;;  
    :) echo "Usage: ./init_hadoop_spark -f demo-data"  
            exit 1
            ;;
    esac
done
复制代码

 

目录
相关文章
|
7月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
371 5
|
12月前
|
人工智能 安全 虚拟化
企业级Win11纯净部署指南|VMware虚拟机安装+GPT分区优化+绕过限制详解(小白必看)
Windows 11 是微软推出的新一代操作系统,以其直观交互和 AI 技术为核心升级亮点。界面采用圆角设计与居中任务栏布局,支持多窗口贴靠分屏、虚拟桌面功能,大幅提升多任务处理效率。系统深度集成了 Copilot 智能助手,提供语音写作、照片编辑等便捷功能,并通过 DirectStorage 和 DirectX 12 Ultimate 技术优化游戏体验。本文详细介绍 Windows 11 的下载、U盘制作及安装步骤,帮助用户快速上手全新系统。
3049 37
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
492 2
|
9月前
|
存储 Ubuntu Linux
使用VM虚拟机安装最新版Ubuntu系统
重启后开机进入登录界面 输入前面设置的密码进入系统 成功启动Ubuntu系统
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
1009 7
|
安全 Linux 开发工具
【Azure 环境】Azure 虚拟机上部署 DeepSeek R1 模型教程(1.5B参数)【失败】
遇见错误一:operator torchvision::nms does not exist 遇见错误二:RuntimeError: Failed to infer device type
1303 22
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
499 0
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
529 0
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
715 79
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1048 6

相关实验场景

更多