本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  。该系列课程是应邀实验楼整理编写的,这里需要赞一下实验楼提供了学习的新方式,可以边看博客边上机实验,课程地址为 https://www.shiyanlou.com/courses/237

【注】该系列所使用到安装包、测试数据和代码均可在百度网盘下载,具体地址为 http://pan.baidu.com/s/10PnDs,下载该PDF文件

、搭建环境

部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放Hadoop等组件运行包。因为该目录用于安装hadoop等组件程序,用户对shiyanlou必须赋予rwx权限(一般做法是root用户在根目录下创建/app目录,并修改该目录拥有者为shiyanlou(chown –R shiyanlou:shiyanlou /app)。

Hadoop搭建环境:

l  虚拟机操作系统: CentOS6.6  64位,单核,1G内存

l  JDK:1.7.0_55 64位

个实验所编译完成)

、部署Hadooop2.X

2.1配置Hadoop环境

位操作系统安装,在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.1CentOS 64bit安装Hadoop2.2.0中出现文件编译位数异常

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

位编译,无法适应CentOS 64位环境造成

有两种办法解决:

l  重新编译hadoop,然后重新部署

l  暂时办法是修改配置,忽略有问题的文件

Hadoop入门进阶课程3--Hadoop2.X64位环境搭建的更多相关文章

  1. Hadoop入门进阶课程2--Hadoop2.X 64位编译

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  2. (转)Hadoop入门进阶课程

    http://blog.csdn.net/yirenboy/article/details/46800855 1.Hadoop介绍 1.1Hadoop简介 Apache Hadoop软件库是一个框架, ...

  3. Hadoop入门进阶课程1--Hadoop1.X伪分布式安装

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  4. Hadoop入门进阶课程13--Chukwa介绍与安装部署

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  5. Hadoop入门进阶课程12--Flume介绍、安装与应用案例

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  6. Hadoop入门进阶课程11--Sqoop介绍、安装与操作

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  7. Hadoop入门进阶课程10--HBase介绍、安装与应用案例

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  8. Hadoop入门进阶课程9--Mahout介绍、安装与应用案例

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

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

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

随机推荐

  1. android: Android Notification

    Notification即通知,用于在通知栏显示提示信息. 在较新的版本中(API level  > 11),Notification类中的一些方法被Android声明deprecated(弃用 ...

  2. windows地址转发

    netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.8.108 connectport=8080 把 ...

  3. Reservoir Sampling 蓄水池抽样算法,经典抽样

    随机读取数据,如何保证真随机是不可能的,因为计算机的随机函数是伪随机的. 但是在不考虑计算机随机函数的情况下,如何保证数据的随机采样呢? 1.系统提供的shuffle函数 C++/Java都提供有sh ...

  4. C/C++在Java项目、Android和Objective-C三大平台下实现混合编程

    Android和iOS开发都支持C++开发,可以一套代码多平台使用.同时C++难以反编译的特性也可以为Android开发带来代码的保密,另一native特性也可以提高代码的运行效率. 一.为什么使用C ...

  5. EF性能之关联加载

    鱼和熊掌不能兼得 ——中国谚语 一.介绍 Entity Framework作为一个优秀的ORM框架,它使得操作数据库就像操作内存中的数据一样,但是这种抽象是有性能代价的,故鱼和熊掌不能兼得.但是,通过 ...

  6. 内存的分配VS回收&构造函数VS析构函数

    之前有一个问题一直困扰着我,就是一个变量出了作用域,我以为这个变量的内存就被回收了,其实不是这样的,昨天问了一个高手,才豁然开朗,自己在看相关代码的反汇编代码,才知道原来真是这样就.这个问题,我想简单 ...

  7. [LeetCode] Find Median from Data Stream

    Find Median from Data Stream Median is the middle value in an ordered integer list. If the size of t ...

  8. chrome start.js报错

    是由 chrome 插件 “电脑管家广告过滤” 引起的 并且,在用户电脑上还出现了这个插件拦截正常请求的情况 如果同时报以下错误: Uncaught TypeError: Cannot read pr ...

  9. GitHub上排名前100的Android开源库介绍(来自github)

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...

  10. Rxlifecycle(三):坑

    坑1 Observable.just("hello world!") .compose(this.<String>bindUntilEvent(ActivityEven ...