hadoop学习笔记壹 --环境搭建及配置文件的修改
Hadoop生态和其他生态最大的不同之一就是“单一平台多种应用”的理念了。
hadoop能解决是什么问题:
1、HDFS :海量数据存储
MapReduce: 海量数据分析
YARN :资源管理调度
理解: 1、资源管理调度(YARN)通过海量数据分析(MapReduce)进行对海量数据(HDFS)进行分析运算。 其中MapReduce是通过开发人员进行开发利用。
2、Hadoop在2.0将资源管理从MapReduce中独立出来变成通用框架后,就从1.0的三层结构演变为了现在的四层架构:
底层——存储层,文件系统HDFS
中间层——资源及数据管理层,YARN以及Sentry等
上层——MapReduce、Impala、Spark等计算引擎
顶层——基于MapReduce、Spark等计算引擎的高级封装及工具,如Hive、Pig、Mahout等等
2、安装hadoop
下载hadoop安装包并解压,解压后看到如下目录:

bin: 可执行文件存放对hadoop相关服务(HDFS,YARN)进行操作的脚本
sbin:hadoop系统可执行文件存放启动或停止hadoop相关服务的脚本
etc:hadoop的配置文件目录,存放hadoop的配置文件
lib :存放hadoop的本地库(对数据进行压缩解压缩功能)
share:存放hadoop的依赖jar包和文档,文档可以被删除掉
3、修改hadoop配置文件
修改 hadoop-2.4.1/etc/hadoop目录下:
core-site.xml 文件:
<configuration>
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的master节点(老大节点)(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app</value>
</property>
</configuration>
hdfs-site.xml 文件:
<configuration>
<property>
<!-- 配置HDFS副本的数量 -->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
注意:至此HDFS已经可以独立运行
mapred-site.xml 文件:
<configuration>
<property>
<!-- 指定mr运行在yarn上 -->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml 文件:
<configuration>
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux_services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4、此时,基本配置都已完成,但需要关闭防火墙,以免防火请将hadoop需要的端口禁用掉。
查看防火墙状态:service iptables status
打开防火墙:service iptables start
关闭防火墙:service iptables stop
查看防火墙启动配置:sudo chkconfig iptables --list

分别表示服务的七个档 :
# 0 - 停机
# 1 - 单用户模式
# 2 - 多用户,没有NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到
# 5 - X11(xwindow)
# 6 - 重新启动
开机不自启动防火请:chkconfig iptables off
5、linux 环境变量配置
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/home/hadoop/jdk1.7.0_65
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
6、修改 /home/hadoop/app/hadoop-2.4.1/etc/hadoop/hadoop-env.sh文件
不修改的话,启动时,会报错JAVA_HOME找不到。

到此,hadoop配置基本完成
hadoop学习笔记壹 --环境搭建及配置文件的修改的更多相关文章
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- Hadoop学习之基础环境搭建
期望目的 基于VMware workstation 10.0 + CentOS 7 + hadoop 3.2.0,在虚拟机上搭建一套Hadoop集群环境,总共包含4个节点,其中1个master节点.3 ...
- 我的Java学习笔记 -开发环境搭建
开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE) ...
- Django学习笔记 开发环境搭建
为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...
- cocos2d-x lua 学习笔记(1) -- 环境搭建
Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...
- Mybatis学习笔记之---环境搭建与入门
Mybatis环境搭建与入门 (一)环境搭建 (1)第一步:创建maven工程并导入jar包 <dependencies> <dependency> <groupId&g ...
- 【Django学习笔记】-环境搭建
对于初学django新手,根据以下步骤可以快速进行Django环境搭建 虚拟环境创建 使用virtualenv创建并启用虚拟机环境 ,关于virtualenv可参考https://www.yuque. ...
- SpringData JPA的学习笔记之环境搭建
一.环境搭建 1.加入jar包 spring jar+jpa jar +springData jar >>SpringData jar包 2.配置applicationCont ...
- 前端框架vue学习笔记:环境搭建
兼容性 不兼容IE8以下 Vue Devtools 能够更好的对界面进行审查和调试 环境搭建 1.nodejs(新版本的集成了npm)[npm是node包管理 node package manager ...
随机推荐
- oracle与mysql
『创业团队最佳选择是Oracle+MongoDB,而不是MySQL』,当深蓝在QQ群里抛出这样的观点的时候,就像是在马蜂窝里丢了一串鞭炮一样热闹起来. 创业者甲: 开什么玩笑,Oracle要收钱的,太 ...
- Java基础——Ajax(二)
一.jQuery 实现 ajax $(function(){ $("#userName").blur(function(){ // 发ajax请求 用的函数原型: $.get(ur ...
- groovy使用范型的坑
java的范型 Map<String, Integer> map = new HashMap<>(); map.put("a", 100); map.put ...
- MEF 插件式开发之 DotNetCore 初体验
背景叙述 在传统的基于 .Net Framework 框架下进行的 MEF 开发,大多是使用 MEF 1,对应的命名空间是 System.ComponentModel.Composition.在 Do ...
- Android ThreadPoolExecutor线程池
引言 Android的线程池概念来自于Java的Executor,真正的线程池实现为ThreadPoolExecutor.在Android中,提供了4类不同的线程池,具体下面会说到.为什么使用线程池呢 ...
- Django Rest Framework之认证
代码基本结构 url.py: from django.conf.urls import url, include from web.views.s1_api import TestView urlpa ...
- HDU5887(SummerTrainingDay01-D)
Herbs Gathering Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- 本地navicate for mysql怎么修改密码?
1.以前在本地设置sql库密码,就是在本地新建数据库的时候就输入,怎么也链接不上,原来是新建数据库的时候不能输入密码,需要在内部修改. 2. 打开mysql user表 3. 打开mysql user ...
- CSS水平居中的三种方法
CSS中经常会用到元素居中,那么今天我为大家分享几种水平居中的方法,下面代码都可以达到同样的居中效果,来不及解释了,快上马(码): 一.margin : 0 auto; <head> &l ...
- IDEA项目搭建七——使用Feign简化消费者端操作
一.简介 我们可以看到上一篇文章的消费者这边调用Service时比较麻烦,所以我们可以使用Feign来简化这部分操作,它底层也是使用Ribbon实现的只是Ribbon支持HTTP和TCP两种通信协议, ...