搭建hadoop环境

1、解压Hadoop的安装包,解压到modules文件夹中。(安装包下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.7.2/)
  $ tar -zxf /softwares/installations/hadoop-2.7.2.tar.gz -C /modules/
  查看hadoop是不是64位:
  在hadoop-2.7.2/lib/native 下,执行file libhadoop.so.1.0.0

2、删除/home/admin/modules/hadoop-2.7.2/etc/hadoop目录下,cmd文件
  $ rm -rf *.cmd
  重命名文件
  $ mv mapred-site.xml.template mapred-site.xml

3、配置文件:/home/admin/modules/hadoop-2.7.2/etc/hadoop
  配置结果:
  Linux01 : namenode、datanode、nodeManager
  Linux02 : resourceManager、datanode、nodeManager
  Linux03 : datanode、nodeManager

  evn文件:把JAVA_HOME 环境变量改为,实际路径
    hadoop-env.sh
      修改# export JAVA_HOME=$JAVA_HOME
      为:export JAVA_HOME=/home/admin/modules/jdk1.8.0_191
    mapred-env.sh
      修改# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
      为:export JAVA_HOME=/home/admin/modules/jdk1.8.0_191
    yarn-env.sh
      修改# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
      为:export JAVA_HOME=/home/admin/modules/jdk1.8.0_191
  site文件:(参考官网文档:https://hadoop.apache.org/docs/r2.7.2/)
    core-site.xml
      在https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/core-default.xml中,
      fs.defaultFS 是用来配置namenode的路径的,是namenodeRPC通信地址。value:hadf://linux01:8020
      RPC是跨进程通信协议
      hadoop.tmp.dir是用来配置文件最终存储位置。value:haoop根目录/hoadoop-data
      <configuration>
        <property>
          <name>fs.defaultFS</name>
          <value>hdfs://linux01:8020</value>
        </property>
        <property>
          <name>hadoop.tmp.dir</name>
          <value>/home/admin/modules/hadoop-2.7.2/hadoop-data</value>
        </property>
      </configuration>
    hdfs-site.xml
      <configuration>
        <!-- 指定数据冗余份数,默认3份,会占用磁盘空间 -->
        <property>
          <name>dfs.replication</name>
          <value>1</value>
        </property>
        <!-- 关闭权限检查,非hadoop用户不可以操作hadoop集群 -->
        <property>
          <name>dfs.permissions.enabled</name>
          <value>false</value>
        </property>
        <!-- 配置namenode,减少namenode的压力 -->
        <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>linux03:50090</value>
        </property>
        <!-- namenode网页地址 -->
        <property>
          <name>dfs.namenode.http-address</name>
          <value>linux01:50070</value>
        </property>
        <!-- 浏览hdfs的方式,一种是webhdfs,一种格式https -->
        <property>
          <name>dfs.webhdfs.enabled</name>
          <value>true</value>
        </property>
    </configuration>
  mapred-site.xml
    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <!-- 配置mapreduce的历史服务端口,产生的日志服务 -->
      <property>
        <name>mapreduce.jobhistory.address</name>
        <value>linux01:10020</value>
      </property>
      <!-- 配置mapreduce的历史服务页面端口,产生的日志服务 -->
      <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>linux01:19888</value>
      </property>
    </configuration>
  yarn-site.xml
    <configuration>
      <!-- 是否允许调度mapreduce的shuffle过程 -->
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <!-- 配置mapreduce到linux02 -->
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>linux02</value>
      </property>
      <!-- -->
      <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
      </property>
      <!-- -->
      <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>86400</value>
      </property>
      <!-- -->
      <property>
        <name>yarn.log.server.url</name>
        <value>http://linux01:19888/jobhistory/logs/</value>
      </property>
    </configuration>
  slaves文件:配置三台从节点,配置三台虚拟机的名称

    linux01
    linux02
    linux03

    配置datanode和nodeManager从节点

4、分发,将hadoop安装包,分发到linux02、Linux03(在modules目录,执行)

  scp -r hadoop-2.7.2/ linux02:/home/admin/modules
  scp -r hadoop-2.7.2/ linux03:/home/admin/modules
    说明:scp 命令是跨服务器复制文件。

5、格式化namenode (在hadoop的根目录下执行)
  linux01: bin/hdfs namenode -format

6、启动服务,(在hadoop根目录执行)
  HDFS:
    linux01:$ sbin/start-dfs.sh
    相当于:
    $ sbin/hadoop-daemon.sh start namenode 开namenode的命令
    $ sbin/hadoop-daemon.sh start datanode 开namenode的命令
  YARN: (在resourceManager所在的机器上启动)
    linux02:$ sbin/start-yarn.sh
  JobHistory:
    linux01:$ sbin/mr-jobhistory-daemon.sh start historyserver

  如果因为断电关系,造成启动过程中,发现NameNode已启动的提示。

    处理方式:删除/tmp下namenode对应的pid文件,rm -rf /tmp/hadoop-namenode.pid

7、启动检测(如果无法访问,请在windows的hosts文件中,配置虚拟机名称及对应的ip)
  浏览器访问:http://linux01:50070
    检查概览overview下的安全模式safemode一定要关闭,如果是打开的,说明有问题,安全模式数据只能读取,不能写入。
    datenode节点有三台服务器
    utilties中输入hdfs根目录/

  浏览器访问:http://linux02:8088

    8088是默认端口。点击左侧Notes选项,查看三台服务器的noteManager是否已经是Running状态,在判断资源是否不足。

  判断集群是否开启正确,输入命令 jps
    说明:jps是查看所有java进程的命令

8、测试成功后,配置工具脚本

  系统变量与用户变量

    使用xshell开启一个远程回话时,linux01 SSH linux02 默认加载用户变量配置文件,不会加载系统变量。

      /etc/profile (系统变量)

      /home/admin/.bash_profile (用户变量)

      /home/admin/.bashrc (用户变量)

    执行命令,配置系统变量中的环境变量到用户变量配置文件中:(三台linux都执行)

      $ cat /etc/profile >> .bashrc (在/home/admin下执行,把profile中内容,追加到.bashrc)

  编写shell脚本,查看三台服务器的jsp状态:

    #!/bin/bash

    # admin为用户名。
    for i in admin@linux01 admin@linux02 admin@linux03
    do
      echo "=============$i================"
      ssh $i 'jps'
    done

  编写shell脚本,在第一台及其执行脚本,启动hadoop所有节点:

    #!/bin/bash

    #HDFS
    modules/hadoop-2.7.2/sbin/start-dfs.sh

    #YARN
    ssh admin@linux02 modules/hadoop-2.7.2/sbin/start-yarn.sh

    #JobHistory
    modules/hadoop-2.7.2/sbin//mr-jobhistory-daemon.sh start historyserver

大数据 - hadoop三台linux虚拟服务器 - 初始化部署的更多相关文章

  1. 12.Linux软件安装 (一步一步学习大数据系列之 Linux)

    1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...

  2. 大数据学习之Linux基础01

    大数据学习之Linux基础 01:Linux简介 linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹 在1991年10月5日首次发布.,在加上用户空间的应用程序之后 ...

  3. LVS (Linux虚拟服务器)模型及算法

    LVS(Linux Virtual Server)Linux虚拟服务器 LVS集群采用IP负载均衡技术和基于内容请求分发技术. 用户请求发给负载均衡调度器,由负载均衡调度器根据设定的调度算法将请求发给 ...

  4. 云计算分布式大数据Hadoop实战高手之路第八讲Hadoop图文训练课程:Hadoop文件系统的操作实战

    本讲通过实验的方式讲解Hadoop文件系统的操作. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云 ...

  5. 14周事情总结-机器人-大数据hadoop

    14周随着考试的进行,其他该准备的事情也在并行的处理着,考试内容这里不赘述了 首先说下,关于机器人大赛的事情,受益颇多,机器人的制作需要机械和电控两方面 昨天参与舵机的测试,遇到的问题:舵机不动 排查 ...

  6. 成都大数据Hadoop与Spark技术培训班

    成都大数据Hadoop与Spark技术培训班   中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ...

  7. 大数据Hadoop学习之搭建hadoop平台(2.2)

    关于大数据,一看就懂,一懂就懵. 一.概述 本文介绍如何搭建hadoop分布式集群环境,前面文章已经介绍了如何搭建hadoop单机环境和伪分布式环境,如需要,请参看:大数据Hadoop学习之搭建had ...

  8. 我搭建大数据Hadoop完全分布式环境遇到的坑---hadoop: command not found

    搭建大数据hadoop环境,遇到很多问题,这里记录一部分,以备以后查看. [遇到问题].在安装配置完hadoop以后,需要格式化namenode,输入指令:hadoop namenode -forma ...

  9. Linux虚拟服务器--LVS

    LVS 百科名片 LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立,可以实现LINUX平台下的简单负载均衡.LVS是Linux Virtual Server的缩写,意思是L ...

随机推荐

  1. python 中的 yield 究竟为何物?生成器和迭代器的区别?

    当你突然看到别人的代码中出现了一个好像见过但又没用过的关键词 比如 yield ,你是否会觉得这段代码真是高大上呢? 或许只有我这种小白才会这样子觉得,就在刚刚,我就看见了别人的代码中的yield,觉 ...

  2. HIT2019春软件构造->重写hashCode()方法

    不需要重写equals方法: 1.     一个类的每一个实例本质上都是唯一的. 2.     不关心一个类是否提供了“逻辑相等”的测试功能 3.     超类已经改写了equals方法,并且从超类继 ...

  3. PAT 1128 N Queens Puzzle

    1128 N Queens Puzzle (20 分)   The "eight queens puzzle" is the problem of placing eight ch ...

  4. restore和recover的区别

    restore 是还原物理文件 recover 是用日志恢复到一致 用了RMAN备份后就必须要用restore还原,然后才用recover恢复 restore——还原,与backup相对,从备份读出恢 ...

  5. .NET 控件的认识。

    四单元的题目里面,涉及了很多之前没有用过的控件的使用,前12道题都不是很难,所以很快做完了 ,但是后面的因为timer控件找不到,有些操作无法实现,所以就没做,但是也是认真的看了的. 等什么时候把ti ...

  6. Java IO编程全解(四)——NIO编程

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7793964.html 前面讲到:Java IO编程全解(三)——伪异步IO编程 NIO,即New I/O,这 ...

  7. python turtle库的几个小demo

    一.先上图 一个同切圆和五角星 上代码 import turtle #同切圆 turtle.pensize(2) turtle.circle(10) turtle.circle(40) turtle. ...

  8. mysql5.7设置默认编码

    1.通过 show variables like '%char%';查看MySQL字符集情况 mysql> show variables like '%char%';+------------- ...

  9. 作业:K-means算法应用:图片压缩

    from sklearn.datasets import load_sample_image from sklearn.cluster import KMeans import matplotlib. ...

  10. java入门day04-方法简述

    方法: 是完成特定功能(一个)的代码集合,这些特定功能的代码可以被重复使用. 修饰符  方法返回值类型  方法名(形参列表){  方法体  }return 返回值: 形如: public static ...