重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
最近做集群机房迁移,在旧机房和新机房之间接了根专线,做集群不停机搬迁,也就是跨机房,同时要新加百多台服务器,遇到几个问题,记录一下。
创新互联主营玛多网站建设的网络公司,主营网站建设方案,app开发定制,玛多h5小程序定制开发搭建,玛多网站营销推广欢迎玛多等地区企业咨询旧集群的机器是centos 6, 新机房加的机器是centos 7。
一、丢包问题
在跨机房的时候,datanode显示很多Slow BlockReceiver的日志
WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Slow BlockReceiver write packet to mirror took 630ms(threshold=300ms)
经查,这个报错的主要原因出在网卡的MTU设置上,hadoop建议将网卡mtu值从1500设置为9000,以支持接收jumbo frame。调整mtu值后,偶尔还会有几条,但频率小多了。而且我记得这个得交换机一起配合修改,光改服务器不好使。
二、centos7 执行df命令挂起,无法退出
在cent7下面执行df命令会死在那里,用ctrl-c也没法退出。由于我们的nodemanager健康检查脚本里面包含df命令,所以,nm的健康检查会卡死,最后把所有CPU全吃光,导致计算任务无法正常进行。使用kill命令也无法杀掉僵死的df进程,使用strace跟踪df命令也无法退出,必须用kill -9 杀掉strace才可以。
stat("/sys/fs/cgroup/memory", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 stat("/sys/kernel/config", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 stat("/", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 stat("/proc/sys/fs/binfmt_misc",
最后df就是卡死在 binfmt_misc 这了。
经查,这是centos7 systemd的一个bug,1534701,我们触发这个bug的原因应该是在执行hadoop安装的时候,作为依赖更新了systemd相关的组件,但是没有进行重启,新的systemd没生效,所以重启之后,故障解决。
三、专线流量大,导致跑任务慢
使用tcpdump及nmap综合分析,发现大量的ARP连接,应是B类地址没有做VLAN路由,跨机房集群相互之间做ARP通告引发广播风暴。后续由运维重新规划vlan解决。
这些故障基本都不是hadoop本身的问题,就像上一篇记录里面,几百台机器其中一台的网卡变成了10Mbps,结果拖慢了整个集群的运行速度。这些问题都需要hadoop运维来发现,排查,通知其他部门,所以hadoop运维应该是在数据研发部门和运维部门之间的桥梁,能够快速定位hadoop,数据应用,操作系统,硬件之间哪里出现了问题,然后安排各相关人员解决,越快速定位,越能节省成本,时间成本和金钱成本都是成本,比如我司为了跨集群拉的专线据说一天一万,客户限定时间内跑不出数据报告丢的钱更多。
等跨机房迁移弄完了,可以专门写一写。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。