背景
由于项目需要,选型测试CDH版本的hadoop和现有apache版本的hadoop的差异,如下先罗列了目前的问题
1.目前的问题
- 运维成本较高,当前集群的各项配置需要定期人肉检查
- 之前运维人员做过的代码修改没有很好的文档传承
- 没有资源的权限控制
- 多任务并发时存在较严重的资源抢占问题,没有隔离机制
2.测试的目标
- 运维管理的便利性
- 管理系统本省的稳定性
- 功能要覆盖当前版本
- 性能上最好能比当前版本更好,至少不能更差
- 迁移新版本的可操作性,对现有任务的兼容性
3.初步讨论的版本
可选的有CDH和HDP,基于经验来看,HDP的管理系统ambari很不稳定,所以目前主要考虑CDH
测试过程遇到的问题
由于我没有全程参与CDH的安装过程,主要是负责将现有集群的任务迁移到搭建CDH,测试迁移是否成功。在迁移过程中遇到了如下的问题。
1. distcp失败
报错信息:ERROR tools.DistCp: Exception encountered java.lang.IllegalArgumentException: java.net.UnknownHostException
解决方案:需要在集群的hdfs-site.xml中进行配置,才可以在两个集群之间拷贝数据,配置如下
cdh的nn名称是A,现有的原生态集群nn名称是B,在cdh的hdfs-site.xml中配置
<property>
<name>dfs.nameservices</name>
<value>A,B</value>
</property>
<!--配置B访问开始 -->
<property>
<name>dfs.ha.na