把各节点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差异脚本的更多相关文章

  1. PostgreSQL 一主两备节点(两备节点为同步节点)故障恢复

    PostgreSQL  同步复制及故障恢复 10.2.208.10:node1:master 10.2.208.11:node2:standby1 同步 10.2.208.12:node3:stand ...

  2. RabbitMQ-rabbitmqctl多机多节点和单机多节点集群搭建(五)

    准备 1.准备3台物理机 我这里通过本地机和2台虚拟模拟我是mac通过(Parallel Desktop 实现) 2.按照签名的liux安装步骤在3台机器都安装rabiitMq 3.将任意一节点的co ...

  3. ROS笔记——创建简单的主题发布节点和主题订阅节点

    在安装好ROS后,接着学习如何创建节点和节点之间的通信方式,以一个简单的主题发布节点和主题订阅节点说明. 节点是连接ROS网络等可执行文件,是实现某些功能的软件包,也是一个主要计算执行的进程. 一.创 ...

  4. 红黑树之 原理和算法详细介绍(阿里面试-treemap使用了红黑树) 红黑树的时间复杂度是O(lgn) 高度<=2log(n+1)1、X节点左旋-将X右边的子节点变成 父节点 2、X节点右旋-将X左边的子节点变成父节点

    红黑树插入删除 具体参考:红黑树原理以及插入.删除算法 附图例说明   (阿里的高德一直追着问) 或者插入的情况参考:红黑树原理以及插入.删除算法 附图例说明 红黑树与AVL树 红黑树 的时间复杂度 ...

  5. C# 复制指定节点的所有子孙节点到新建的节点下

    XML结构: 新建一个mask_list节点,一个procedure节点,将上面的mask_list和procedure节点的所有子孙节点添加到新建的mask_list和procedure节点 Xml ...

  6. 深入理解DOM节点类型第三篇——注释节点和文档类型节点

    × 目录 [1]注释节点 [2]文档类型 前面的话 把注释节点和文档类型节点放在一起是因为IE8-浏览器的一个bug.IE8-浏览器将标签名为"!"的元素视作注释节点,所以文档声明 ...

  7. Query节点操作,jQuery插入节点,jQuery删除节点,jQuery Dom操作

    一.创建节点 var box = $('<div>节点</div>'); //创建一个节点,或者var box = "<div>节点</div> ...

  8. T-Sql 递归查询(给定节点查所有父节点、所有子节点的方法)

    -- 查找所有父节点with tab as( select Type_Id,ParentId,Type_Name from Sys_ParamType_V2_0 where Type_Id=316-- ...

  9. JQuery_DOM 节点操作之包裹节点

    jQuery 提供了一系列方法用于包裹节点,那包裹节点是什么意思呢?其实就是使用字符串代码将指定元素的代码包含着的意思. <script type="text/javascript&q ...

随机推荐

  1. C# DataAdapter.Update() 无法更新数据表中删除的数据行

    用DataAdapter.Update() 方法更新删除了部分DataRow 的 DataTable .但是数据库中的数据没有随着更新而变化. 原因:DataTable 删除 DataRow 时,使用 ...

  2. ubantu 重启mysql

    如何启动/停止/重启MySQL一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mysql start ...

  3. SpringBoot之退出服务(exit)时调用自定义的销毁方法

    我们在工作中有时候可能会遇到这样场景,需要在退出容器的时候执行某些操作.SpringBoot中有两种方法可以供我们来选择(其实就是spring中我们常用的方式.只是destory-method是在XM ...

  4. Hadoop 管理工具HUE配置-hdfs_clusters配置

    在HUE的hdfs_clusters中目前主要是配置hdfs相关的,配置好了之后便可以在hue中愉快的管理数据了,不过目前的配置还是比较...简单的..    里面的配置主要是参考了hue官方文档,还 ...

  5. python函数 传参的多种方式 解读

    1.函数的参数在哪里定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开 案列: 2.带参数的函数调用: 函数定义了参数,那么 ...

  6. hive命令的3种调用方式

    方式1:hive –f  /root/shell/hive-script.sql(适合多语句) hive-script.sql类似于script一样,直接写查询命令就行 例如: [root@cloud ...

  7. openstack处理booting from hard disk

    当你的实例启动出现如下报错的处理方式:         需要编辑/etc/nova/nova.conf [libvirt] cpu_mode = none virt_type=qemu   修改后需要 ...

  8. 记录Linux下解压大文件时的一次奇葩经历

    由于需要安装新的系统,使用wget下载tar包,8G多下载了1个多小时.解压完后的文件夹中的tar包数量明显不够,而且原始的tar包竟然不见了. 同样的操作又进行了一次,结果还是一样,不得不怀疑是哪里 ...

  9. 拓扑试验划分简单的静态VLAN

    拓扑图 说明: 把交换机连接到PC机的网口类型设置成为access 把交换机与交换机之间的网口类型设置成为truck 然后再给交换机每一个接口划分VLAN 操作如下: 交换机LSW1的配置: 进入输入 ...

  10. MySQL 开启和查看bin-log日志

    1.5.7版本前修改my.cnf文件,添加log-bin=my-bin(my.cnf的位置根据自己安装的路径查看)# vi /usr/local/mysql/my.cnflog-bin=my-bin  ...