对比各节点host 与 标准节点host差异脚本
把各节点host拷贝到一台节点
这可以采用读主机名配置的方式 我这里偷懒了
echo 'starting'
ssh hadoop01 "cp /etc/hosts ~/hadoop01-hosts && scp -P50022 ~/hadoop01-hosts hadoop01:~/jxx"
ssh hadoop02 "cp /etc/hosts ~/hadoop02-hosts && scp -P50022 ~/hadoop02-hosts hadoop01:~/jxx"
ssh hadoop03 "cp /etc/hosts ~/hadoop03-hosts && scp -P50022 ~/hadoop03-hosts hadoop01:~/jxx"
ssh m6-data-hadoop04 "cp /etc/hosts ~/hadoop04-hosts && scp -P50022 ~/hadoop04-hosts hadoop01:~/jxx"
ssh m6-data-hadoop05 "cp /etc/hosts ~/hadoop05-hosts && scp -P50022 ~/hadoop05-hosts hadoop01:~/jxx"
ssh m6-data-hadoop11 "cp /etc/hosts ~/hadoop11-hosts && scp -P50022 ~/hadoop11-hosts hadoop01:~/jxx"
ssh m6-data-hadoop12 "cp /etc/hosts ~/hadoop12-hosts && scp -P50022 ~/hadoop12-hosts hadoop01:~/jxx"
ssh m6-data-hadoop14 "cp /etc/hosts ~/hadoop14-hosts && scp -P50022 ~/hadoop14-hosts hadoop01:~/jxx"
ssh m6-data-hadoop15 "cp /etc/hosts ~/hadoop15-hosts && scp -P50022 ~/hadoop15-hosts hadoop01:~/jxx"
ssh m6-data-hadoop16 "cp /etc/hosts ~/hadoop16-hosts && scp -P50022 ~/hadoop16-hosts hadoop01:~/jxx"
ssh m6-data-hadoop18 "cp /etc/hosts ~/hadoop18-hosts && scp -P50022 ~/hadoop18-hosts hadoop01:~/jxx"
ssh m6-data-hadoop19 "cp /etc/hosts ~/hadoop19-hosts && scp -P50022 ~/hadoop19-hosts hadoop01:~/jxx"
ssh m6-data-hadoop20 "cp /etc/hosts ~/hadoop20-hosts && scp -P50022 ~/hadoop20-hosts hadoop01:~/jxx"
ssh m6-data-hadoop21 "cp /etc/hosts ~/hadoop21-hosts && scp -P50022 ~/hadoop21-hosts hadoop01:~/jxx"
ssh m6-data-hadoop22 "cp /etc/hosts ~/hadoop22-hosts && scp -P50022 ~/hadoop22-hosts hadoop01:~/jxx"
ssh m6-data-hadoop06 "cp /etc/hosts ~/hadoop06-hosts && scp -P50022 ~/hadoop06-hosts hadoop01:~/jxx"
ssh m6-data-hadoop07 "cp /etc/hosts ~/hadoop07-hosts && scp -P50022 ~/hadoop07-hosts hadoop01:~/jxx"
echo 'ending'
diff 各节点host
其实就是标准host 与 其他host 取差集 看其他节点host有无漏配情况
# encoding=utf8
import re
import os
files_list = []
base_host = []
# 处理基础host,作为标准
try:
f = open('/home/hadoop/jxx/base_host', 'r')
for line in f.readlines():
line = line.strip()
if line != '' and not line.startswith('#'):
splits = re.split('\s+', line.strip())
ip = splits[0].strip()
host = splits[1].strip()
base_host.append(ip + ' ' + host)
finally:
f.close()
# 遍历所有'hosts',读取到file列表
files = os.listdir('/home/hadoop/jxx/')
for file in files:
if file.endswith('-hosts'):
files_list.append(file)
files_list.sort()
print 'diff host length',len(files_list)
for file in files_list:
print file
print '#' * 50
for file in files_list:
old_host = []
new_host = []
try:
print '>' * 10, file, '\n'
f = open(file, 'r')
for line in f.readlines():
if line.strip() != '' and not line.strip().startswith('#') and not line.strip().startswith('ff02') and not line.strip().startswith('::') and 'data0' not in line:
old_host.append(line)
for line in old_host:
splits = re.split(r'\s+', line.strip())
ip = splits[0].strip()
count = 0
for em in splits:
if count != 0:
str = ' '.join([ip, em.strip()])
new_host.append(str)
count += 1
if len(new_host) != 0:
print set(base_host).difference(set(new_host)), '\n'
finally:
f.close()
base_host.sort()
print '========== %s ==========' % ('base_host')
for line in base_host:
print line
print '#' * 50
对比各节点host 与 标准节点host差异脚本的更多相关文章
- PostgreSQL 一主两备节点(两备节点为同步节点)故障恢复
PostgreSQL 同步复制及故障恢复 10.2.208.10:node1:master 10.2.208.11:node2:standby1 同步 10.2.208.12:node3:stand ...
- RabbitMQ-rabbitmqctl多机多节点和单机多节点集群搭建(五)
准备 1.准备3台物理机 我这里通过本地机和2台虚拟模拟我是mac通过(Parallel Desktop 实现) 2.按照签名的liux安装步骤在3台机器都安装rabiitMq 3.将任意一节点的co ...
- ROS笔记——创建简单的主题发布节点和主题订阅节点
在安装好ROS后,接着学习如何创建节点和节点之间的通信方式,以一个简单的主题发布节点和主题订阅节点说明. 节点是连接ROS网络等可执行文件,是实现某些功能的软件包,也是一个主要计算执行的进程. 一.创 ...
- 红黑树之 原理和算法详细介绍(阿里面试-treemap使用了红黑树) 红黑树的时间复杂度是O(lgn) 高度<=2log(n+1)1、X节点左旋-将X右边的子节点变成 父节点 2、X节点右旋-将X左边的子节点变成父节点
红黑树插入删除 具体参考:红黑树原理以及插入.删除算法 附图例说明 (阿里的高德一直追着问) 或者插入的情况参考:红黑树原理以及插入.删除算法 附图例说明 红黑树与AVL树 红黑树 的时间复杂度 ...
- C# 复制指定节点的所有子孙节点到新建的节点下
XML结构: 新建一个mask_list节点,一个procedure节点,将上面的mask_list和procedure节点的所有子孙节点添加到新建的mask_list和procedure节点 Xml ...
- 深入理解DOM节点类型第三篇——注释节点和文档类型节点
× 目录 [1]注释节点 [2]文档类型 前面的话 把注释节点和文档类型节点放在一起是因为IE8-浏览器的一个bug.IE8-浏览器将标签名为"!"的元素视作注释节点,所以文档声明 ...
- Query节点操作,jQuery插入节点,jQuery删除节点,jQuery Dom操作
一.创建节点 var box = $('<div>节点</div>'); //创建一个节点,或者var box = "<div>节点</div> ...
- T-Sql 递归查询(给定节点查所有父节点、所有子节点的方法)
-- 查找所有父节点with tab as( select Type_Id,ParentId,Type_Name from Sys_ParamType_V2_0 where Type_Id=316-- ...
- JQuery_DOM 节点操作之包裹节点
jQuery 提供了一系列方法用于包裹节点,那包裹节点是什么意思呢?其实就是使用字符串代码将指定元素的代码包含着的意思. <script type="text/javascript&q ...
随机推荐
- WebGL和ThreeJs学习5--ThreeJS基本功能控件
Threejs 2017年6月6日 15:06 Stats: new Stats();性能监视器,性能测试的方法,引入 Stats.js http://www.hewebgl.com ...
- vagrant 安装笔记
本文档的编写参考慕课网视频教程,感谢慕课网提供的免费教程 http://www.imooc.com/learn/805 搭建一个环境,不需要重复配置,直接利用vagrant复制就可以了 https:/ ...
- 禁止光盘优盘自动播放(Shell Hardware Detection服务)
strComputer = "."Set objWMIService = GetObject("winmgmts:\\" & strComputer & ...
- 结合《剑指offer(第二版)》面试题51来谈谈归并排序
一.题目大意 给定一个数组A,对于数组A中的两个数字,如果排在前面的一个数字大于(必须大于,等于不算)后面的数字,则这两个数字组成一个逆序对.要求输出数组A中的逆序对的总数.例如,对于数组{7,5,6 ...
- ACM主要算法
ACM主要算法ACM主要算法介绍 初期篇 一.基本算法(1)枚举(poj1753, poj2965)(2)贪心(poj1328, poj2109, poj2586)(3)递归和分治法(4)递推(5)构 ...
- NodeJs使用Express框架开发时的快速调试方法
习惯了php开发,可以直接使用echo或者var_dump()将想要查看的变量结果输出到网页查看,非常的方便.但是使用express开发时,每次修改文件后,都需要使用npm start命令重启服务,然 ...
- namenode namespaceID与datanode namespaceID 不一致导致datanode无法启动的问题
在启动hadoop之后,发现如下 datanode何在????? 在重新启动hadoop的时候,发现了问题,如下 这说明datanode启动时出错了 我们跟踪这个问题,进入到log文件夹下,找到had ...
- java中源代码和lib库中有包名和类名都相同的类(转)
https://blog.csdn.net/itachiwwwg/article/details/9003261 当java的源代码中出现了和系统的lib库中的包名与类名完全一样的类时,系统应当怎么加 ...
- error while loading shared libraries: xxx.so
出现error while loading shared libraries: xxx.so错误,一是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对,二是虽然存在,但是程序 ...
- 搭建好lamp,部署owncloud。
先上传两个文件 上传到root目录 上传到opt目录下 #mkdir /opt/dvd1 #mount /dev/sr0 /opt/dvd1 #cd /etc/yum.repos.d/ #vi dvd ...