搭建完全分布式平台以及在spark下实现K-Means算法时遇到的问题

本文记录了在Centos7上配置Hadoop和Spark集群,以及实现K-Means算法过程中遇到的问题与解决方案。包括Centos7网络配置,解决虚拟机间互ping问题,Hadoop多次格式化namenode后的异常处理,Hadoop本地库编译,Spark运行时内存不足问题,以及Scala IDE中Spark项目依赖和运行错误等。
摘要由CSDN通过智能技术生成

       上周五终于完成了第一次数据挖掘大作业的答辩,周末又去参加了蓝桥杯,一直没有时间整理遇到的问题,直到今天才闲下来。尽量把遇到的问题都能记录下来,日后便于自己回看。主要分三个部分:Centos7的基本配置、Hadoop+Spark的配置、K-Means算法的实现。

一、Centos7的基本配置

      1、不能连接上外网

解决方法:最便捷的方法是把虚拟机的ip地址改为动态ip,再把连接方式改成桥接。具体做法是

vim /etc/sysconfig/network-scripts/ifcfg-ens33。打开网络配置之后,设置BOOTPROTO:dhcp,增加如下内如:DNS1=8.8.8.8 DNS2=114.114.114.114

     2、不同虚拟机之间不能互ping,也就无法实现完全分布式集群

           这个问题困扰了很久,网上的方法都试了一遍,结果还是不行,最后才发现了问题所在,是本地网卡那设置了共享网络,即虚拟机的ip地址优先使用物理机的ip地址,导致无法ping通。下面说一下如何将多台虚拟机连接成一个局域网。

解决方法    (1)、wifi法:用master主机发射wifi,360wifi和猎豹wifi都可以,然后各台节点都连进这个wifi里,在其中一台(非master主机)物理主机上查看自己主机的ip地址,假如ip地址为:192.168.191.2,网关地址为:192.168.191.1,接下来就进入这台物理机的虚拟机中,用vim /etc/sysconfig/network-scripts/ifcfg-ens33打开网络配置,添加如下内如: IPADDR=192.168.191.3、NETMASK=255.255.225.225、GATEWAY=192.168.191.1 然后保存退出。其他节点也是一样配置,IPADDR和192.168.191.2在同一个网段就可以了,GATEWAY是固定的192.168.191.1 。重启网络服务:service network restart 看到OK字样后,就可以ping其他主机。

        (2)、路由器法:把master和其他节点用网线连进同一个物理机。接下来的流程和wifi法是一样的。


其实我认为只要把集群的机子连进同一个wifi就算是在同一个局域网中,然后修改虚拟机的ip地址,将其设置为与物理主机的ip地址在同一个网段即可,但我们并没有成功,所以还是推荐上述两种方法。


二、Hadoop+Spark的配置

      1、多次格式化namenode造成的问题

            我在集群搭建的时候,因为操作不当,曾经多次格式化Namenode,然后启动的时候就会报错:ERROR org.apache.hadoop.hdfs.server.datanode.DataNode:java.io.IOException:Incompatible namespaceIDsin/home/gqy/hadoop/data: namenode namespaceID = 155319143; datanode namespaceID = 1036135033

这个异常的意思是datanode与nameno

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值