一、Hadoop的安装模式有3种

  ①单机模式:不能使用HDFS,只能使用MapReduce,所以单击模式主要用于测试MR程序。

  ②伪分布式模式:用多个线程模拟真实多台服务器,即模拟真实的完全分布式环境。

  ③完全分布式模式:用多台机器(或启动多个虚拟机)来完成部署集群。

二、安装主要涉及的内容

  ①JDK

  ②配置主机名、hosts文件以及免密登录

  ③修改hadoop的配置文件,主要涉及以下几个配置文件(hadoop-2.7.7/etc/hadoop)

    1)hadoop-env.sh:这里主要修改jdk的安装路径等

    2)core-site.xml:主要指定namenode的地址和文件存放目录等

    3)hdfs-site.xml:指定复本数量

    4)mapred-site.xml:执行MR程序运行在yarn上

    5)yarn-site.xml:指定NodeManager获取数据的方式和resourceManager的地址

    6)slaves文件:伪分布式配置本主机名即可

  ④配置hadoop的环境变量和格式化namenode

三、搭建hadoop的伪分布式

①获取Hadoop的安装包

    http://hadoop.apache.org/releases.html,注意:source为源码包,binary为安装包

    我这里以2.7.7版本为例:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.ta​​r.gz

    解压Hadoop安装包:tar -xvf hadoop...

    目录说明:
    bin目录:命令脚本
    etc/hadoop:存放hadoop的配置文件
    lib目录:hadoop运行的依赖jar包
    sbin目录:启动和关闭hadoop等命令都在这里
    libexec目录:存放的也是hadoop命令,但一般不常用
    最常用的就是bin和etc目录

②安装jdk

    下载对应linux版本的tar.gz包:https://www.oracle.com/technetwork/java/javase/downloads/index.html

    1)解压:tar -xvf jdk-8u131-linux-x64.tar.gz

    2)配置环境变量:vim  /etc/profile(修改完以后记得source使配置文件生效)

#java env
JAVA_HOME=/home/softwares/jdk1.8.0_131
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH CLASSPATH
export PATH=$PATH

    3)通过:java,javac,java -version来查看jdk是否安装成功。

③关闭防火墙

     1)service iptables stop  临时关闭

     2)chkconfig iptables off    永久关闭

④配置主机名

    vim /etc/sysconfig/network  

    修改完成以后重启!!!

NETWORKING=yes
HOSTNAME=hadoopalone
//hadoopalone 这是我修改的,表示是伪分布式

⑤配置hosts文件

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.144.133 hadoopalone //配置 ip和主机名映射

⑥配置免密登录

    1)ssh-keygen,一路回车即可。

    

    2)ssh-copy-id root@hadoopalone

    

⑦Hadoop的配置--hadoop-env.sh     

    这个文件里写的是hadoop的环境变量,主要修改hadoop的java_home路径
    切换到 etc/hadoop目录
    执行:vim hadoop-env.sh
    修改java_home路径,如图所示,保存退出后,切记 source hadoop-env.sh使配置文件生效。

    

Hadoop配置--core-site.xml

    

<configuration>
<!--用来指定hdfs的老大,namenode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoopalone:9000</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/softwares/hadoop-2.7.7/tmp</value>
</property>
<!--设置hdfs的操作权限,false表示任何用户都可以在hdfs上操作文件-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

Hadoop配置--hdfs-site.xml

    

<configuration>
<!--指定hdfs保存数据副本的数量,包括自己,默认值是3-->
<!--如果是伪分布模式,此值是1即可-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

⑩Hadoop配置--mapred-site.xml

   默认是map-site.xml.template,拷贝并重命名为mapred-site.xml。

    

<configuration>
<property>
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

⑪Hadoop配置--yarn-site.xml

    ,为防止图片失效,配置也粘贴出来。

    

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<!--指定yarn的老大 resoucemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoopalone</value>
</property>
<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

⑫配置slaves文件

      同样在hadoop-2.7.7/etc/hadoop目录下

      vim  slaves

      

    

⑬配置Hadoop的环境变量

    记得source /etc/profile

    

#java env
JAVA_HOME=/home/softwares/jdk1.8.0_131
HADOOP_HOME=/home/softwares/hadoop-2.7.7
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
export JAVA_HOME PATH CLASSPATH HADOOP_HOME
export PATH=$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

⑭最后一步

    格式化namenode

    

    当出现以下中的关键语句表示格式化成功!

    

  通过start-all.sh启动我们刚刚搭建的hadoop伪分布式模式:start-all.sh

  通过:jps命令来查看,出现以下进程说明我们的hadoop伪分布式搭建完成!!!

  

 如果有什么问题,欢迎大家指正~~~~~我们一起讨论解决。

Hadoop之伪分布式安装的更多相关文章

  1. Hadoop开发第3期---Hadoop的伪分布式安装

    一.准备工作 1. 远程连接工具的安装 PieTTY 是在PuTTY 基础上开发的,改进了Putty 的用户界面,提供了多语种支持.Putty 作为远程连接linux 的工具,支持SSH 和telne ...

  2. 【Hadoop】伪分布式安装

    创建hadoop用户 创建用户命令: sudo useradd -m hadoop -s /bin/bash 创建好后需要更改hadoop用户的密码,命令如下: sudo passwd hadoop ...

  3. Hadoop的伪分布式安装和部署的流程

    1.准备工作 下载一些用到的命令 yum install -y vim yum install -y lrzsz yum install net-tools 目录约定 /opt #工作目录 /opt/ ...

  4. 【hadoop】 hadoop 单机伪分布式安装

    准备: 虚拟机(CentOS 6.9) JDK1.8 hadoop2.8.0 一.JDK安装及配置 rpm -ivh jdkxxxx 安装 配置环境变量 vim /etc/profile export ...

  5. Hadoop的伪分布式安装和部署流程

    在opt目录创建install software test other四个目录 /opt/installed #安装包/opt/software #软件包/opt/other #其他/opt/test ...

  6. 伪分布式安装core-site.xml和hdfs-site.xml配置文件

    hadoop的伪分布式安装流程如下所示: 其中core-site.xml和hdfs-site.xml是两个很重要的配置文件. core-site.xml <configuration> & ...

  7. Hadoop单机和伪分布式安装

    本教程为单机版+伪分布式的Hadoop,安装过程写的有些简单,只作为笔记方便自己研究Hadoop用. 环境 操作系统 Centos 6.5_64bit   本机名称 hadoop001   本机IP ...

  8. Hadoop:Hadoop单机伪分布式的安装和配置

    http://blog.csdn.net/pipisorry/article/details/51623195 因为lz的linux系统已经安装好了很多开发环境,可能下面的步骤有遗漏. 之前是在doc ...

  9. 指导手册02:伪分布式安装Hadoop(ubuntuLinux)

    指导手册02:伪分布式安装Hadoop(ubuntuLinux)   Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...

随机推荐

  1. No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor

    使用jpa做增删改查的时候出现了这个异常,原因是转化成json的时候,fasterxml.jackson将对象转换为json报错,发现有字段为null 解决方案:实体类上添加 @JsonIgnoreP ...

  2. Go_Context

    如何通知子goroutine退出? 1. 使用全局变量 package main import ( "fmt" "sync" "time" ...

  3. selenium的元素定位方法-By

    如果在定位元素属性中包含了如ID等元素属性,那么在一个测试中,定位方法具体有哪几种,可以参考by模块中的By类,By的代码如下: class By(object): """ ...

  4. selenium chromedriver退出报错

    记录使用python调用chromedriver时遇到的问题 代码: #!/usr/bin/env python #-*- coding:utf-8 -*- # author : fy # versi ...

  5. Android Studio 初级控件笔记

    Android支持的像素单位 Android支持的像素单位有:px(像素).in(英寸).mm(毫米).pt(磅,1/72英寸).dp(与设备无关的显示单位).dip(就是dp).sp(用于设置字体大 ...

  6. hdu 1045 Fire Net(二分图)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1045 题目大意为给定一个最大为4*4的棋盘,棋盘可以放置堡垒,处在同一行或者同一列的堡垒可以相互攻击, ...

  7. Python 字符串格式化操作 - format方法

    建议使用format()方法 字符串操作 对于 %, 官方以及给出这种格式化操作已经过时,在 Python 的未来版本中可能会消失. 在新代码中使用新的字符串格式.因此推荐大家使用format()来替 ...

  8. node学习之express(1)

    1.前提是你安装了node,npm 2.此次我学习的网站是 汇智网 3.创建一个项目学习: npm init 按照提示,输入/不输入 项目的一些信息 安装express模块:npm install e ...

  9. sqli-libs(32-37(宽字节注入)关)

    补充知识:宽字节注入 定义:GB2312.GBK.GB18030.BIG5.Shift_JIS等这些都是常说的宽字节,实际上只有两字节.宽字节带来的安全问题主要是吃ASCII字符(一字节)的现象,即将 ...

  10. vue 生命钩子周期之理解

    对于vue的初学者来说,理解vue的生命钩子周期是很有必要的.什么是生命钩子周期呢,顾名思义就是 “实例初始化”  到  “实例被销毁” 的过程. 理解vue的生命钩子周期,我们就可以更好的在项目中运 ...