脚本两则--用于快速部署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 -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::}
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::}
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
:$var_file
done
for var_folder in ${cp_folder[@]};
do
:/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[]}
#run_docker ${arr_var[]} ${arr_var[]} ${arr_var[]}
done
;;
h) echo "Usage: ./init_hadoop_spark -f demo-data"
exit
;;
\?) echo "Usage: ./init_hadoop_spark -f demo-data"
exit
;;
:) echo "Usage: ./init_hadoop_spark -f demo-data"
exit
;;
esac
done
脚本两则--用于快速部署HADOOP,SPARK这些(特别是VM虚拟机模板部署出来的)。。的更多相关文章
- Windows 下部署 hadoop spark环境
一.先在本地安装jdk 我这里安装的jdk1.8,具体的安装过程这里不作赘述 二.部署安装maven 下载maven安装包,并解压 设置环境变量,MAVEN_HOME=D:\SoftWare\Mave ...
- 虚拟机部署hadoop集群准备工作之多虚拟机设置网络信息
安装好了centos6.4(最简版)后 1,静态IP设置 查看虚拟机的网络设置信息来配置
- 批量部署Hadoop集群环境(1)
批量部署Hadoop集群环境(1) 1. 项目简介: 前言:云火的一塌糊涂,加上自大二就跟随一位教授做大数据项目,所以很早就产生了兴趣,随着知识的积累,虚拟机已经不能满足了,这次在服务器上以生产环境来 ...
- Hadoop+Spark+Hbase部署整合篇
之前的几篇博客中记录的Hadoop.Spark和Hbase部署过程虽然看起来是没多大问题,但是之后在上面跑任务的时候出现了各种各样的配置问题.庆幸有将问题记录下来,可以整理出这篇部署整合篇. 确保集群 ...
- 使用Ambari快速部署Hadoop大数据环境
使用Ambari快速部署Hadoop大数据环境 发布于2013-5-24 前言 做大数据相关的后端开发工作一年多来,随着Hadoop社区的不断发展,也在不断尝试新的东西,本文着重来讲解下Amb ...
- Hadoop记录-Apache hadoop+spark集群部署
Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...
- shell脚本实现---Zabbix5.0快速部署
shell脚本实现---Zabbix5.0快速部署 zabbix-server快速安装脚本 #!/bin/bash #Zabbix-Server 5.0#author:sunli#mail:sunli ...
- 大数据项目实践:基于hadoop+spark+mongodb+mysql+c#开发医院临床知识库系统
一.前言 从20世纪90年代数字化医院概念提出到至今的20多年时间,数字化医院(Digital Hospital)在国内各大医院飞速的普及推广发展,并取得骄人成绩.不但有数字化医院管理信息系统(HIS ...
- hadoop+spark+mongodb+mysql+c#
一.前言 从20世纪90年代数字化医院概念提出到至今的20多年时间,数字化医院(Digital Hospital)在国内各大医院飞速的普及推广发展,并取得骄人成绩.不但有数字化医院管理信息系统(HIS ...
随机推荐
- .net core4
- vue实现一个移动端屏蔽滑动的遮罩层
在扯废话浪费大家的时间之前,先上个代码好了,使用vue实现起来很简单-- <div class="overlayer" @touchmove.stop > </d ...
- Dump 文件生成与分析
近期两天因为项目的须要,研究了一下Dump文件相关的知识,今天做一个小节(因为研究不久而且第一次写blog,希望网友们看到不要见笑). Dump文件是进程的内存镜像.能够把程序的运行状态通过调试器保存 ...
- undo损坏故障恢复(二)ORA-01092,ORA-00604,ORA-01110
undo 故障诊断与恢复(二) 今天是2013-09-01,目前困扰我将近一周的问题,终于解决了,我非常感谢帮助我的朋友,也非常感谢管我要钱然后替我解决问题的朋友(我没采用).这更激发了我一定要解决这 ...
- 第十四章 红黑树——C++代码实现
红黑树的介绍 红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树.红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键 ...
- RSA体系 c++/java相互进行加签验签--转
在web开发中,采用RSA公钥密钥体系自制ukey,文件证书登陆时,普遍的做法为:在浏览器端采用c++ activex控件,使用 c++的第三库openssl进行RAS加签操作,在服务器端采用java ...
- 《Android开发艺术探索》读书笔记 (9) 第9章 四大组件的工作过程
第9章 四大组件的工作过程 9.1 四大组件的运行状态 (1)四大组件中只有BroadcastReceiver既可以在AndroidManifest文件中注册,也可以在代码中注册,其他三个组件都必须在 ...
- mysql sql语句大全(2)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份 ...
- windows服务(Windows Installer问题,错误5:拒绝访问)
Windows Installer问题,错误5:拒绝访问 shillan,2006-11-03 09:40:38 现象: 使用MSI文件来安装的软件在安装和卸载时系统提示:“不能访问Windows I ...
- Alibaba FastJson
import com.alibaba.fastjson.JSON import com.alibaba.fastjson.JSONObject class Test { static main(arg ...