Hadoop学习笔记(一)——编译安装和配置
近期工作调动。打算补一下大数据处理的知识。可能会陆续涉及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
- 从ORACLE站点下载最新版本号JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html。选择jdk-7uXX-linux-x64.tar.gz下载。
- 用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
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学习笔记(一)——编译安装和配置的更多相关文章
- Sqlite学习笔记(一)&&编译安装
Sqlite简介 sqlite是一个开源的嵌入式文件数据库,sqlite以动态链接库的方式供应用程序调用,所有的数据库对象都存储在同一个文件中. sqlite动态库非常小,最新的3.8.11版本也只有 ...
- Node.js学习笔记2(安装和配置Node.js)
1.安装 windows下安装,在http://nodejs.org下载安装包进行安装即可. linux下安装,使用yum或者下载源码进行编译. ...
- blfs(systemd版本)学习笔记-wget的安装与配置
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs wget项目地址:http://www.linuxfromscratch.org/blfs/view/stable-s ...
- blfs(systemv版本)学习笔记-wget的安装与配置
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs wget项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basi ...
- Linux学习笔记之ubuntu安装与配置
1.打开虚拟机,点击新建虚拟机 2.安装向导 选择自定义安装 点击包含一个空白的硬盘 选择linux操作系统,版本是ubuntu 设置虚拟机的名称,可以自己写,还有保存的位置也可自选 根据自己电脑性能 ...
- mesos 学习笔记1 -- mesos安装和配置
参考资料: 官方文档:http://mesos.apache.org/documentation 中文翻译:http://mesos.mydoc.io/ GitHub:https://github.c ...
- 【学习笔记】Oracle-1.安装及配置
Win7旗舰版安装Oracle_11gR1_database: http://my.oschina.net/laiwanshan/blog/89951 Oracle用户登陆 sqlplus sys/ ...
- tomcat学习笔记一:安装和配置
安装 配置环境: win7 + centos7虚拟机 安装步骤: 到http://tomcat.apache.org/下载最新的tomcat安装包(8.0.24) 移到对应的目录并解压 安装问题: 安 ...
- Hadoop学习笔记-008-CentOS_6.5_64_yum安装mysql
******************************卸载mysql***************************** 第一步,查看centos上是否已经安装了mysql数据库 # rp ...
- tensorflow学习笔记一------下载安装,配置环境(基于ubuntu16.04 pycharm)
一,安装TensorFlow 安装所有必备工具 sudo apt-get install python-pip python-dev python-virtualenv 安装TensorFlow su ...
随机推荐
- Wix中注册c#开发的Activex控件
一.使用regasm.exe将DLL提取出TLB文件 regasm.exe "Tools.HMIBrowserDetector.dll" /tlb 二.使用wix的heat.exe ...
- 使用jQuery和Bootstrap实现多层、自适应模态窗口
本篇实践一个多层模态窗口,而且是自适应的. 点击页面上的一个按钮,弹出第一层自适应模态窗口. 在第一层模态窗口内包含一个按钮,点击该按钮弹出第二层模态窗口,弹出的第二层模态窗口会挡住第一层模态窗口,即 ...
- datagrid在MVC中的运用01-基本属性并实现分页
本文体验jQuery EasyUI的datagrid在MVC中的应用.主要涉及到: ※ datagrid的基本属性和方法 ※ datagrid分页在前后台的实现 最终效果: 与视图显示对应的view ...
- Grid布局方式
wp7中Grid布局类似HTML中的表格,但是又不太一致! 为了测试新一个3行3列的Grid 方了方便,剔除掉其它XAML代码 [c-sharp:collapse] view plaincopy ...
- python测试开发django-17.admin后台管理
前言 通常一个网站开发,需要有个后台管理功能,比如用后台管理发布文章,添加用户之类的操作.django的admin后台管理主要可以实现以下功能 基于admin模块,可以实现类似数据库客户端的功能,对数 ...
- java nio 映射文件内容到内存
FileChannel 的一个最好的功能就是能将文件的某个部分直接映射到内存.这要感谢 FileChannel.map() 方法,这个方法有下面三个参数: mode:映射到内存需要指定下面三种模式之一 ...
- jquery入门 改动网页背景颜色
我们在浏览一些站点,尤其是一些小说站点的时候,都会有改动页面背景颜色的地方,这个功能使用jquery非常easy实现. 效果图: show you code: <!doctype html> ...
- 用开源项目ExpandableTextView打造可以下拉扩展的TextView
这次还是用开源项目来实现效果,我个人觉得上面的这个效果还是很赞的.于是就记录下如何实现这个效果,其实相当简单.这就是开源项目写的好的例子,整个开源项目的代码十分清晰,逻辑和代码结构都很棒,接入自己的工 ...
- JavaScript中的方法、方法引用和参数
首先,我们来看一段代码,如果觉得不甚明白的,则本文会对你有益: var player = function (e) { return (function f(m) { ...
- C#多线程读写同一文件处理
在多线程访问读写同一个文件时,经常遇到异常:“文件正在由另一进程使用,因此该进程无法访问此文件”. 多线程访问统一资源的异常, 解决方案1,保证读写操作单线程执行,可以使用lock 解决方案2,使用S ...