近期工作调动。打算补一下大数据处理的知识。可能会陆续涉及hadoop、mongodb、ddbs等。

首先Apache提供二进制的Hadoop版本号是32位的。在启动时总是有警告,所以想自己编译一遍。部分内容来源于网络。

0、环境说明:

操作系统环境:

ububtu 14.04 LTS 64位操作系统

JDK环境:

java version "1.7.0_55"

Java(TM) SE Runtime Environment (build 1.7.0_55-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

1、安装JDK

  1. 从ORACLE站点下载最新版本号JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html。选择jdk-7uXX-linux-x64.tar.gz下载。
  2. 用tar -zxvf 命令解压,解压后考到一个目录,我放到了/usr/lib/jvm。因为是測试机,仅仅有我一个人用我把JDK的环境变量配置到了
    /etc/profile也能够配置到~/.bashrc加入例如以下内容
    export JAVA_HOME=/usr/lib/jvm
    export JRE_HOME=/usr/lib/jvm/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

    然后 source一下配置文件使他马上生效

2、安装编译依赖文件

sudo apt-get install g++ autoconf automake libtool make cmake zlib1g-dev pkg-config libssl-dev maven

之后还要安装 protobuf和findbugs,这两个仅仅要编译安装即可了非常easy,能够自行百度,

3、下载并编译Hadoop源代码

hadoop 2.2.0源代码下载地址 http://www.apache.org/dyn/closer.cgi/hadoop/common/

眼下的2.2.0 的Source Code 压缩包解压出来的code有个bug 须要patch后才干编译。

否则编译hadoop-auth 会提示错误。

须要改动以下的pom文件。该文件在hadoop源代码包下寻找:

hadoop-common-project/hadoop-auth/pom.xml

打开上面的的pom文件,在54行增加例如以下的依赖:

     <dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
</dependency>

之后在源代码文件夹运行例如以下命令就可以,编译过程十分漫长,由于须要下载好多maven的依赖文件,须要耐心等待

mvn package -Pdist,native -DskipTests -Dtar

编译完之后将生成的tar$HADOOP_HOME/etc/hadoop包解压到一个文件夹安装就可以,我放到了/usr/local/hadoop文件夹下

并在配置hadoop的环境变量 相同是运行vim /etc/profile 在最以下加入

export HADOOP_HOME=/usr/local/hadoop

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

4、配置hadoop为伪分布式模式

配置文件在$HADOOP_HOME/etc/hadoop下

首先是core-site.xml加入例如以下配置

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
<final>true</final>
</property>
</configuration>

yarn-site.xml加入例如以下配置

<configuration>

    <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>shuffle service that needsto be set for Map Reduce to run </description>
</property> <property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
<description>hostanem of RM</description>
</property>
</configuration>

hdfx-site.xml加入入下配置。并建立配置中的目录

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
<final>true</final>
</property> <property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
<final>true</final>
</property> <property>
<name>dfs.replication</name>
<value>1</value>
</property> <property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

mapred-site.xml加入例如以下配置

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>file:/usr/local/hadoop/mapred/system</value>
<final>true</final>
</property> <property>
<name>mapred.local.dir</name>
<value>file:/usr/local/hadoop/mapred/local</value>
<final>true</final>
</property>
</configuration>

之后能够在/usr/local/hadoop/sbin中运行  start-dfs.sh 假设出现类似以下结果则代表主从文件系统启动成功

Starting namenodes on [localhost]
localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-yang-namenode-ubuntu.out
localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-yang-datanode-ubuntu.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-yang-secondarynamenode-ubuntu.out
接着执行start-yarn.sh 假设没有错误将出现类似以下的结果
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-yang-resourcemanager-ubuntu.out
localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-yang-nodemanager-ubuntu.out

至此hadoop安装配置阶段就完毕了。

假设有机会将会接着写hadoop mapreduce0基础编程,高级编程,hive等内容。


Hadoop学习笔记(一)——编译安装和配置的更多相关文章

  1. Sqlite学习笔记(一)&&编译安装

    Sqlite简介 sqlite是一个开源的嵌入式文件数据库,sqlite以动态链接库的方式供应用程序调用,所有的数据库对象都存储在同一个文件中. sqlite动态库非常小,最新的3.8.11版本也只有 ...

  2. Node.js学习笔记2(安装和配置Node.js)

            1.安装         windows下安装,在http://nodejs.org下载安装包进行安装即可.         linux下安装,使用yum或者下载源码进行编译.     ...

  3. blfs(systemd版本)学习笔记-wget的安装与配置

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs wget项目地址:http://www.linuxfromscratch.org/blfs/view/stable-s ...

  4. blfs(systemv版本)学习笔记-wget的安装与配置

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs wget项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basi ...

  5. Linux学习笔记之ubuntu安装与配置

    1.打开虚拟机,点击新建虚拟机 2.安装向导 选择自定义安装 点击包含一个空白的硬盘 选择linux操作系统,版本是ubuntu 设置虚拟机的名称,可以自己写,还有保存的位置也可自选 根据自己电脑性能 ...

  6. mesos 学习笔记1 -- mesos安装和配置

    参考资料: 官方文档:http://mesos.apache.org/documentation 中文翻译:http://mesos.mydoc.io/ GitHub:https://github.c ...

  7. 【学习笔记】Oracle-1.安装及配置

    Win7旗舰版安装Oracle_11gR1_database:  http://my.oschina.net/laiwanshan/blog/89951 Oracle用户登陆 sqlplus sys/ ...

  8. tomcat学习笔记一:安装和配置

    安装 配置环境: win7 + centos7虚拟机 安装步骤: 到http://tomcat.apache.org/下载最新的tomcat安装包(8.0.24) 移到对应的目录并解压 安装问题: 安 ...

  9. Hadoop学习笔记-008-CentOS_6.5_64_yum安装mysql

    ******************************卸载mysql***************************** 第一步,查看centos上是否已经安装了mysql数据库 # rp ...

  10. tensorflow学习笔记一------下载安装,配置环境(基于ubuntu16.04 pycharm)

    一,安装TensorFlow 安装所有必备工具 sudo apt-get install python-pip python-dev python-virtualenv 安装TensorFlow su ...

随机推荐

  1. C#把数组中的某个元素取出来放到第一个位置

    如何取出数组中符合某种条件的元素,然后放在数组最前面,即索引为0的位置? 思路大致如下:→找到符合条件的数组元素,把之赋值给一个临时变量temp,并记下该数组元素的索引位置,假设是index→在源数组 ...

  2. Android之 MTP框架和流程分析

    概要 本文的目的是介绍Android系统中MTP的一些相关知识.主要的内容包括:第1部分 MTP简介            对Mtp协议进行简单的介绍.第2部分 MTP框架            介绍 ...

  3. 论DELPHI三层的数据序列格式的变化

    论DELPHI三层的数据序列格式的变化 要窥三层的数据序列格式,我们可以通过观察DELPHI官方的客户端内存表. 早先流行的是TClientDataSet,它的Data和Delta属性的数据类型都是: ...

  4. C#编程(四十二)----------委托和事件

    委托和事件 委托是C#总比较重要的概念,学习C#爱这里最容易产生迷惑. 有些时候,犹豫我们在开发程序时对后续可能出现的要求及变化考虑不足而导致麻烦,这些新变化可能导致程序的重新编写,那能不能改变这种情 ...

  5. 关于面试总结1-SQL学生表

    前言 每次面试必考SQL,小编这几年一直吃SQ的亏,考题无非就是万年不变学生表,看起来虽然简单,真正写出来,还是有一定难度.于是决定重新整理下关于SQL的面试题,也可以帮助更多的人过SQL这一关. 作 ...

  6. Cannot subclass final class class com.sun.proxy.$Proxy

    背景 这个错误是我在使用AOP动态切换数据库,实现数据库的读写分离的时候出现的问题,使用到的系统环境是: <spring.version>3.2.6.RELEASE</spring. ...

  7. 都市侠盗第一季/全集Leverage迅雷下载

    第一季 Leverage Season 1 (2008)看点:Nate Ford(蒂莫西·赫顿 Timothy Hutton 饰)曾当过保险调查员,为自己的老板挽回过数百万美元的损失,是个忠心耿耿的雇 ...

  8. 副总统第一至三季/全集Veep迅雷下载

    本季第一.二.三季 Veep Season 1 (2012-2014)看点:<副总统>讲述了Selina Meyer从一名参议员成为副总统后,开始面对成堆的突发状况,很快,她便认识到,成为 ...

  9. 最常使用Eclipse快捷键

    一:编辑 alt+/:智能感知: alt+shift+s:出现代码块: ctrl+1:quick fix,同时还有简单的重构功能: ctrl+e:快速转换编辑器 ,这组快捷键将帮助你在打开的编辑器之间 ...

  10. python读取配置文件的方式

    python读取配置文件的方式 1.从config.ini中读取,后缀无所谓,文件名字也无所谓,不过config.ini是常用写法,所谓见名知意 config.ini内容: [global] ip = ...