zoukankan      html  css  js  c++  java
  • centos7安装hadoop

    本次安装 hadoop版本为2.7.4,单节点安装。注意,在安装hadoop前要先安装jdk并配置好环境变量。单机版hadoop不需要zookeeper。

    1. 上传hadoop压缩包文件到服务器上去(主机名centos1,ip 192.168.100.100),或者直接从官网wget方式下载

    2. 将压缩文件解压缩到/home/koushengrui/app目录中,重命名为hadoop目录,修改配置文件(配置文件在etc/hadoop目录中)。

    第一个:hadoop-env.sh

           vi hadoop-env.sh

      修改

      export JAVA_HOME=${JAVA_HOME}

      为  

           export JAVA_HOME=/home/koushengrui/app/jdk1.8.0_144   

    这一步是必须的,实测 如果不在hadoop-env.sh文件中显式指定JAVA_HOME的话,启动hdfs时会报找不到JAVA_HOME错误。  

    第二个:core-site.xml

    <!-- 指定hadoop所使用的文件系统(URI格式,hdfs的主节点namenode的地址) -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://centos1:9000</value>
    </property>

    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/koushengrui/app/hadoop/data</value>
    </property>

    第三个:hdfs-site.xml

    <!-- 指定hdfs副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

    第四个:mapred-site.xml

            mv mapred-site.xml.template mapred-site.xml

            vi mapred-site.xml

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

    第五个:yarn-site.xml

    <!-- 指定yarn主节点resourcemanager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>centos1</value>
    </property>

    <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    第六个:salves

    当前salves文件内容为localhost,表示会去localhost启动datanode,因为是单节点安装,所以localhost是可以的,也可以改为127.0.0.1或者192.168.100.100或者centos1.

    如果为集群部署,则内容应为所有datanode所在的主机ip或者主机名。

    3. 将hadoop添加到环境变量

        vi /etc/proflie

            export HADOOP_HOME=/home/koushengrui/app/hadoop

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

        source /etc/profile

    4. 格式化namenode

           用root身份, hdfs namenode -format

    格式化之后,上面core-site.xml配置的hadoop.tmp.dir对应的/home/koushengrui/app/hadoop/data目录中会生成生成一些文件夹及文件,其中

    /home/koushengrui/app/hadoop/data/dfs/name/current/fsimage.ckpt_0000000000000000000为维护元数据的文件。

    注意,如果hadoop.tmp.dir值有二次更改的话,在启动hdfs之前要先格式化namenode,否则namenode起不来。当然,格式化之后之前存的元数据都会消失,所以hadoop.tmp.dir值配置好之后就别再改了

    5. 启动hdfs   start-dfs.sh  

    使用jps命令验证是否启动成功,如果有NameNode、SecondaryNameNode、datanode进程,则hdfs启动成功。   

    http://192.168.100.100:50070 (HDFS管理界面)。如果是hadoop3.x,则管理端口是9870。

    6.启动yarn  start-yarn.sh

    使用jps命令验证是否启动成功,如果有ResourceManager、NodeManager进程,则yarn启动成功。      

    http://192.168.100.100:8088 (yarn管理界面)。hadoop3.x管理端口不变。

    跑一个自带的求圆周率的mapreduce小程序:

    hadoop jar hadoop-mapreduce-examples-2.7.4.jar pi 3 3

    7. 启动hdfs和yarn的时候要输入主机密码,集群多的话可能会超时,所以需要配置ssh免密登陆

    hdfs的实现思想:

    hdfs是通过分布式集群来存储文件,并对外提供一个虚拟的目录结构以供客户端访问

    文件存储到hdfs集群中去的时候是被切分成block的(默认128M),文件的block存放在若干台datanode节点上

    hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理

    每一个block在集群中会存储多个副本(dfs.replication配置项),好处是可以提高数据的可靠性,还可以提高访问的并发能力

  • 相关阅读:
    后端开发应该掌握的 Redis 基础
    Code Review有什么好处?
    对不起,你那不叫努力,叫重复劳动
    老鸟程序员才知道的40个小技巧
    单例模式基础笔记
    最受IT公司欢迎的50款开源软件
    硬件:关于路由器、交换机、宽带猫的几个问题
    硬件:宽带猫(光猫)的基础知识
    python selenium模块使用出错解决,Message: ‘geckodriver’ executable needs to be in PATH
    python+selenium如何定位页面的元素,的几种定位元素的方法。
  • 原文地址:https://www.cnblogs.com/koushr/p/5873392.html
Copyright © 2011-2022 走看看