一日一坑之:centos7.x VS hadoop3.x

由于从事其他方向,很久没有玩过hadoop,今天心血来潮想安装hadoop试试手,看了下centos居然出了7.x版本,之前一直用的是6.4版本的,特下载下来安装一下。查看下hadoop版本,已经出了3.x版本,下载尝尝鲜。从此刻开始,坑来啦。

坑1:如果安装mini模式的centos你会发现没有ifconfig

对没错,就是没有,/sbin下也没有

解决办法:

yum install net-tools.x86_64

有些朋友这里安装不了,是因为联网不能!!

解决办法:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

大致路径是这里,编辑下网卡

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=0261691c-f910-4b94-9c16-a44b64a2be8f
DEVICE=ens33
ONBOOT=yes    这里要改成yes
IPADDR=192.168.85.130
NETMASK=255.255.255.0
GATEWAY=192.168.85.2
DNS1=219.141.140.10
HWADDR=00:0c:29:35:4e:9b

onboot要改成yes,记得重启网卡,命令是这款

systemctl restart network.service

有些还会报错,可能你的虚拟机做的nat没法联网,这里就去查查nat怎样上网好了。

如果可以联网是这样的

一日一坑之:centos7.x VS hadoop3.x_第1张图片

坑2:网络通信有问题,那就关闭下防火墙吧

iptables也没有

解决办法:

换命令了。。

systemctl stop firewalld.service  关闭防火墙

systemctl disable firewalld.service  开机不启动防火墙

坑3:datanode启动不了,报错clusterid错位

解决办法:

我的路径已经改变了,正常应该再这个位置

cd /tmp/hadoop-hadoop/name/current/

查看version文件

记录clusterID号,如CID-79a2612a-ff0c-4aec-a5b6-cafe48d0652a

之后去

cd /tmp/hadoop-hadoop/data/current/

打开version

将clusterID变成之前记录的

再重启hdfs就好了

坑4:slaves文件没有!!

解决方法:

换成worker文件了!!!

坑5:mapreduce执行到0%就不进行了

一日一坑之:centos7.x VS hadoop3.x_第2张图片

解决办法:

是因为mapreduce找不到对应的包

环境变量配置一下

JAVA_HOME=/home/hadoop/app/jdk1.8.0_191
HADOOP_HOME=/home/hadoop/app/hadoop-3.1.2

export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop


PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

重点在这里,改一下mapred-site.xml,这里要添加一些东西才可以找到对应包



  yarn.app.mapreduce.am.env
  HADOOP_MAPRED_HOME=${HADOOP_HOME}


  mapreduce.map.env
  HADOOP_MAPRED_HOME=${HADOP_HOME}


  mapreduce.reduce.env
  HADOOP_MAPRED_HOME=${HADOOP_HOME}

     
        mapreduce.application.classpath
        
            ${HADOOP_HOME}/etc/hadoop,
            ${HADOOP_HOME}/share/hadoop/common/*,
            ${HADOOP_HOME}/share/hadoop/common/lib/*,
            ${HADOOP_HOME}/share/hadoop/hdfs/*,
            ${HADOOP_HOME}/share/hadoop/hdfs/lib/*,
            ${HADOOP_HOME}/share/hadoop/mapreduce/*,
            ${HADOOP_HOME}/share/hadoop/mapreduce/lib/*,
            ${HADOOP_HOME}/share/hadoop/yarn/*,
            ${HADOOP_HOME}/share/hadoop/yarn/lib/*
        
    

 

你可能感兴趣的:(hadoop)