hadoop 伪分布式环境搭建

所谓伪分布式环境是指在一台电脑上搭建分布式。分布式,见名知义,一定是分布在多台电脑上的,为了学习技术,只在一台电脑上搭建起来的就是伪分布式。

前提:ssh无密码配置、jdk环境已经配置好,参见笔者文章《hadoop 分布式环境搭建》
hadoop安装包官方下载地址

  • 更改主机名,执行命令:vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=jason
  • 修改ip,设置成固定ip :vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"               ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.2.200"           ###
NETMASK="255.255.255.0"          ###
GATEWAY="192.168.2.1"            ###

在宿主机中不能ping通,要考虑是不是在同个网段;还有linux的防火墙有没有关闭;

####这是CentOS7中关闭防火墙的方法#####
systemctl stop firewalld.service  关闭防火墙
systemctl disable firewalld.service  开机禁止启动防火墙
firewall-cmd --state  查看状态
  • 设置hosts中ip与主机名的绑定,执行命令vi /etc/hosts
    在里面添加选项设置你的主机名与ip的对应关系
192.168.2.200 jason
  • 安装hadoop
    执行命令 tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C /usr/local/hadoop,将压缩包解压到/usr/local/hadoop文件夹下

  • 设置 hadoop-env.sh 和 yarn-env.sh 的 JAVA_HOME
    export JAVA_HOME=/root/software/jdk1.8.0_171

  • 进入hadoop安装目录,进入etc/hadoop目录下
  • 修改etc/hadoop目录下的几个文件:
    • core-site.xml


    fs.defaultFS
    hdfs://jason:9000


    hadoop.tmp.dir
    /usr/local/hadoop/tmp


    io.file.buffer.size
    131702

    • hdfs-site.xml


    dfs.replication
    1


    dfs.namenode.name.dir
    /usr/local/hadoop/hdfs/name


    dfs.datanode.data.dir
    /usr/local/hadoop/hdfs/data


    dfs.namenode.secondary.http-address
    jason:9001


    dfs.webhdfs.enabled
    true



    dfs.permissions
    false


    • mapred-site.xml
      mv mapred-site.xml.template mapred-site.xml


    mapreduce.framework.name
    yarn


    mapreduce.jobhistory.address
    jason:10020


mapreduce.jobhistory.webapp.address
jason:19888

    • yarn-site.xml

    yarn.nodemanager.aux-services
    mapreduce_shuffle


        yarn.nodemanager.aux-services.mapreduce.shuffle.class
        org.apache.hadoop.mapred.ShuffleHandler


    yarn.resourcemanager.address
    jason:8032


    yarn.resourcemanager.scheduler.address
    jason:8030


    yarn.resourcemanager.resource-tracker.address
    jason:8035


    yarn.resourcemanager.admin.address
    jason:8033



    yarn.resourcemanager.webapp.address
    localhost:8088

  • 修改slaves文件,将hadoop集群主机名称添加进去
    jason

  • 修改环境变量:vi /etc/profile

HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.0
export PATH=$HADOOP_HOME/bin:$PATH

启动

  • 初始化,输入命令bin/hadoop namenode -format
  • 全部启动 sbin/start-all.sh

报错

  • “unable to load native hadoop library for your platform”
    此问题的根本的解决办法是:下载相关版本的lib类库,解压到hadoop/lib目录下,并写入环境变量
    lib类库下载地址

  • log4j报WARN
    解决办法是直接在log4j日志中去除告警信息:
    /usr/local/hadoop/hadoop-2.6.0/etc/hadoop/log4j.properties文件中添加
    log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR

你可能感兴趣的:(hadoop 伪分布式环境搭建)