大数据集群修机器名

背景介绍:

近日公司两套大数据集群,出现了主机名重复,有些程序需要同时调用,而且程序调用必须用host文件,这样问题就来了,机器名冲突,两套集群,一套是实时流,一套是离线跑批集群,评估其危险系数,只能改离线集群了,废话不所说,现在就开始说说怎么里边的坑。

1 生产环境介绍:

jdk1.8

hadoop-2.5.1

hive-2.1.0

spark-1.6.2

其他的就不再介绍了,下边介绍一下我的修改思路

0 停止集群上的相关服务

1 集群组件的修改

第一步 :将$HADOOP_HOME/etc文件拷贝一份(用来备份,以防万一失败后,好恢复)下涉及到机器名的文件修改机器名,我这里有这几个涉及到了(core-site.xml ,hdfs.site.xml,slave,yarn-site.xml),根据自己的实际情况修改,这里hadoop相关的配置文件就修改完了,修改完成后同步到其他节点上即可。

第二部:修改$HIVE_HOME/conf文件,同样先拷贝一份,我这里涉及到和机器名相关的文件有这些(hdfs-site.xml,hive-site.xml,core-site.xml),由于我的hive安装在主节点上,不需要同步,修改完就可以了

第三部:将$SPARK_HOME/conf文件下设计到机器名的配置文件修改,由于我的是hive on spark,没有其他用途,不做实时流,故只需要修改如下文件(hive-site.xml,slave),然后同步到worker节点上去,到这里组件的修改就完成了,

2 系统层次的修改

第一步 修改每台机器的机器名,

第二部 将/etc/hosts映射文件同步至其他节点

3 重启集群,发现hdfs正常,yarn也正常,然后执行hive命令,发现没问题,进入hive交互式了,可以执行show databases ; use db; show tables; create table 都没问题,但是select 之前的表就不可以了,应为查询需要读取mysql元数据,元数据记录的数据信息还是原来的机器名,所以查询报错也就很正常了,为了防止把元数据修改坏,还备份了一下,涉及到节点名路径的表有三个,如下

DBS :用来存储数据库的信息

FUNC_RU:用来存储udf自定义函数

SDS:用来存储表路径信息

之后重启 matestore 发现可以查询了,但是不能删除表,后来观察了一下日志,发现hive删除表的时候不会去指定表去查询,而是会去以SDS开头的表查询,由于之前做备份直接备份到本库了,于是SDS_copy被扫描到了,然后删除SDS_copy,发现才真正的ok了!


先分享到这里,如有不对的,请多多指点!








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值