Hadoop入门进阶课程3--Hadoop2.X64位环境搭建

原创 2015年07月10日 14:28:50

【注】该系列课程是应邀实验楼整理编写的,这里需要赞一下实验楼提供了学习的新方式,可以边看博客边上机实验,课程地址为 https://www.shiyanlou.com/courses/237

1 搭建环境

部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放Hadoop等组件运行包。因为该目录用于安装hadoop等组件程序,用户对shiyanlou必须赋予rwx权限(一般做法是root用户在根目录下创建/app目录,并修改该目录拥有者为shiyanlou(chown –R shiyanlou:shiyanlou /app)。
Hadoop搭建环境:
- 虚拟机操作系统: CentOS6.6 64位,单核,1G内存
- JDK:1.7.0_55 64位
- Hadoop:2.2.0 64位(该部署包为第2个实验所编译完成)

2 部署Hadooop2.X

2.1 配置Hadoop环境

在Apache网站上提供Hadoop2.X安装包只支持32位操作系统安装,在64位服务器安装会出现3.1的错误异常。这里我们使用上一步骤编译好的hadoop-2.2.0-bin.tar.gz文件作为安装包(也可以在/home/shiyanlou/install-pack目录中找到hadoop-2.2.0.tar.gz安装包)

2.1.1 下载并解压hadoop安装包

解压缩并移动到/app目录下
- cd /home/shiyanlou/install-pack
- tar -xzf hadoop-2.2.0.tar.gz
- mv hadoop-2.2.0 /app

这里写图片描述

2.1.2 在Hadoop目录下创建子目录

在hadoop-2.2.0目录下创建tmp、name和data目录
- cd /app/hadoop-2.2.0
- mkdir tmp
- mkdir hdfs
- mkdir hdfs/name
- mkdir hdfs/data

这里写图片描述

2.1.3 配置hadoop-env.sh

1.打开配置文件hadoop-env.sh
- cd /app/hadoop-2.2.0/etc/hadoop
- sudo vi hadoop-env.sh

这里写图片描述

2.加入配置内容,设置了hadoop中jdk和hadoop/bin路径
- export HADOOP_CONF_DIR=/app/hadoop2.2.0/etc/hadoop
- export JAVA_HOME=/app/lib/jdk1.7.0_55
- export PATH=$PATH:/app/hadoop-2.2.0/bin

这里写图片描述

3.编译配置文件hadoop-env.sh,并确认生效
- source hadoop-env.sh
- hadoop version

这里写图片描述

2.1.4 配置yarn-env.sh

打开配置文件yarn-env.sh,设置了hadoop中jdk路径,配置完毕后使用source yarn-env.sh编译该文件
- export JAVA_HOME=/app/lib/jdk1.7.0_55

这里写图片描述

2.1.5 配置core-site.xml

1.使用如下命令打开core-site.xml配置文件
- cd /app/hadoop-2.2.0/etc/hadoop
- sudo vi core-site.xml

2.在配置文件中,按照如下内容进行配置

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://hadoop:9000</value>
  </property>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop:9000</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/app/hadoop-2.2.0/tmp</value>
    <description>Abase for other temporary directories.</description>
  </property>
  <property>
    <name>hadoop.proxyuser.hduser.hosts</name>
    <value>*</value>
  </property>
  <property>
    <name>hadoop.proxyuser.hduser.groups</name>
    <value>*</value>
  </property>
</configuration>

这里写图片描述

2.1.6 配置hdfs-site.xml

1.使用如下命令打开hdfs-site.xml配置文件
- cd /app/hadoop-2.2.0/etc/hadoop
- sudo vi hdfs-site.xml

2.在配置文件中,按照如下内容进行配置

<configuration>
  <property>
   <name>dfs.namenode.secondary.http-address</name>
   <value>hadoop:9001</value>
  </property>
  <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/app/hadoop-2.2.0/hdfs/name</value>
  </property>
  <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/app/hadoop-2.2.0/hdfs/data</value>
  </property>
  <property>
   <name>dfs.replication</name>
   <value>1</value>
  </property>
  <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
  </property>
</configuration>

这里写图片描述

2.1.7 配置mapred-site.xml

1.默认情况下不存在mapred-site.xml文件,可以从模板拷贝一份,并使用如下命令打开mapred-site.xml配置文件
- cd /app/hadoop-2.2.0/etc/hadoop
- cp mapred-site.xml.template mapred-site.xml
- sudo vi mapred-site.xml

2.在配置文件中,按照如下内容进行配置

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop:19888</value>
  </property>
</configuration>

这里写图片描述

2.1.8 配置yarn-site.xml

1.使用如下命令打开yarn-site.xml配置文件
- cd /app/hadoop-2.2.0/etc/hadoop
- sudo vi yarn-site.xml

2.在配置文件中,按照如下内容进行配置

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>hadoop:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hadoop:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hadoop:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hadoop:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hadoop:8088</value>
  </property>
</configuration>

这里写图片描述

2.1.9 配置slaves文件

在slaves配置文件中设置从节点,这里设置为hadoop,与Hadoop1.X区别的是Hadoop2.X不需要设置Master
- cd /app/hadoop-2.2.0/etc/hadoop
- vi slaves

这里写图片描述

2.1.10 格式化namenode

  • cd /app/hadoop-2.2.0/bin
  • ./hdfs namenode -format

这里写图片描述

这里写图片描述

2.2 启动Hadoop

2.2.1 启动hdfs

  • cd /app/hadoop-2.2.0/sbin
  • ./start-dfs.sh

这里写图片描述

2.2.2 验证当前进行

使用jps命令查看运行进程,此时在hadoop上面运行的进程有:namenode、secondarynamenode和datanode三个进行

这里写图片描述

2.2.3 启动yarn

  • cd /app/hadoop-2.2.0/sbin
  • ./start-yarn.sh

这里写图片描述

2.2.4 验证当前进行

使用jps命令查看运行进程,此时在hadoop上运行的进程除了:namenode、secondarynamenode和datanode,增加了resourcemanager和nodemanager两个进程:

这里写图片描述

2.3 测试Hadoop

2.3.1 创建测试目录

  • cd /app/hadoop-2.2.0/bin
  • ./hadoop fs -mkdir -p /class3/input

这里写图片描述

2.3.2 准备测试数据

  • ./hadoop fs -copyFromLocal ../etc/hadoop/* /class3/input

这里写图片描述

2.3.3 运行wordcount例子
- cd /app/hadoop-2.2.0/bin
- ./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /class3/input /class3/output

这里写图片描述

这里写图片描述

2.3.4 查看结果

使用如下命令查看运行结果:
- ./hadoop fs -ls /class3/output/
- ./hadoop fs -cat /class3/output/part-r-00000 | less

这里写图片描述

3 问题解决

3.1 CentOS 64bit安装Hadoop2.2.0中出现文件编译位数异常

在安装hadoop2.2.0过程中出现如下异常:Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

这里写图片描述

通过分析是由于lib/native目录中有些文件是在32位编译,无法适应CentOS 64位环境造成

这里写图片描述

有两种办法解决:
- 重新编译hadoop,然后重新部署
- 暂时办法是修改配置,忽略有问题的文件

Hadoop入门进阶课程8--Hive介绍和安装部署

* 1 搭建环境* 部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放Hadoop等组件运行包。因为该目录用...
  • yirenboy
  • yirenboy
  • 2015年08月03日 15:55
  • 635

Hadoop入门进阶步步高(一)-环境准备

前言Hadoop从存储上来说,是类似于冗余磁盘阵列(RAID)的存储方式,将数据分散存储并提供以提供吞吐量,它的存储系统就是HDFS(Hadoop Distuibute Fils System);从计...
  • fenglibing
  • fenglibing
  • 2014年06月15日 21:53
  • 9196

Hadoop大数据零基础高端实战培训系列课程分享

 第一阶段:Hadoop基础篇(50课时) - 千里之行,始于足下(赠送课程) 课程一、基于Linux操作系统平台下的Java语言开发(20课时) 本套课程主要介绍了Linu...
  • bbspc007
  • bbspc007
  • 2015年04月29日 21:20
  • 1091

Hadoop入门进阶步步高(五)-搭建Hadoop集群

五、搭建Hadoop集群上面的步骤,确认了单机可以执行Hadoop的伪分布执行,真正的分布式执行无非也就是多几台slave机器而已,配置方面的有一点点区别,配置起来就非常简单了。1、准备三台服务器19...
  • fenglibing
  • fenglibing
  • 2014年06月15日 22:16
  • 5989

Hadoop入门进阶步步高(二)-目录介绍

二、Hadoop目录结构这里重点介绍几个目录bin、conf及lib目录。1、$HADOOP_HOME/bin目录文件名称说明hadoop用于执行hadoop脚本命令,被hadoop-daemon.s...
  • fenglibing
  • fenglibing
  • 2014年06月15日 21:56
  • 9194

Hadoop入门进阶步步高(四)-测试Hadoop

四、测试Hadoop一个简单的求每年温度最大值的程序。1、准备两个文本测试数据准备两个名为data1.txt及data2.txt的文件,用于做为计算的输入数据,将其放于/home/fenglibin/...
  • fenglibing
  • fenglibing
  • 2014年06月15日 22:11
  • 6883

全网最热Python3入门+进阶 更快上手实际开发

全网最热Python3入门+进阶 更快上手实际开发 第1章 Python入门导学 介绍Python的特性、优点、缺点、前景以及课程的内容、重点和特色。第2章 Python环境安装 一键安装P...
  • u014001412
  • u014001412
  • 2018年01月17日 11:04
  • 56

Hadoop入门进阶课程 目录

Hadoop入门进阶课程1--Hadoop1.X伪分布式安装 Hadoop入门进阶课程2--Hadoop2.X 64位编译 Hadoop入门进阶课程3--Hadoop2.X64位环境搭建 Had...
  • Dopamy_BusyMonkey
  • Dopamy_BusyMonkey
  • 2015年09月01日 08:59
  • 699

Python爬虫:入门+进阶大纲

第一章:Python 爬虫入门1、什么是爬虫 网址构成和翻页机制 网页源码结构及网页请求过程 爬虫的应用及基本原理 2、初识Python爬虫 Python爬虫环境搭建 创建第一个爬虫:爬取百度首页 爬...
  • shuiyuejihua
  • shuiyuejihua
  • 2017年12月26日 18:17
  • 469

Kotlin 系统入门到进阶

Kotlin 系统入门到进阶
  • axi295309066
  • axi295309066
  • 2017年09月25日 10:55
  • 915
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hadoop入门进阶课程3--Hadoop2.X64位环境搭建
举报原因:
原因补充:

(最多只允许输入30个字)