首页 > 其他 > 详细

初学hadoop之hadoop集群搭建

时间:2020-03-18 17:21:58      阅读:49      评论:0      收藏:0      [点我收藏+]

简介:

  Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。  

Hadoop实现了一个分布式文件系统Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hadoop的框架最核心的设计就是:HDFSMapReduceHDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

分布式架构的常见概念:

  1.集群

    小饭店原来是一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系就是集群。

技术分享图片

  2.分布式 

    为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系就是分布式的,一个配菜师也忙不过来,有请了个配菜师,这两个配菜师的关系就是集群了。所以说有分布式的架构中可能有集群,但集群不等于有分布式。

技术分享图片

   3.节点

    节点是指一个可以独立按照分布式协议完成一组逻辑的程序个体。在具体的项目中,一个节点表示的是一个操作系统上的进程

一.hadoop分布式集群的搭建

  我们需要搭建hadoop集群环境首先需要环境的支持

  1.环境支持

    操作系统: CentOS7 64

技术分享图片

         JDK环境: JDK 8

技术分享图片

         Hadoop环境: hadoop-2.8.0

技术分享图片

         虚拟机名称: master(主)+slave1(从1)+slave2(从2)

    首先配置一个静态id

    配置真机网络共享

技术分享图片

技术分享图片

   配置虚拟机虚拟网络

  技术分享图片

 技术分享图片

  找到系统工具,设置,网络

技术分享图片

   将自动改为手动配置如下信息(配置完了重启即可)

技术分享图片

  2.设置主机名

    我这里是直接将所有的配置全都配置完克隆了两台slave

#编辑hostname文件修改主机名称
vim /etc/hostname

    主就使用命令改为master,从就使用命令改为slave01,slave02

     技术分享图片

     使用命令查看主机名是否修改成功

      注意:如果不成功可能需要重启虚拟机!!!

    hostname

     技术分享图片

   3.安装JDK

    注意:Linux上原来的JDK是不完整的需要我们手动将他们一个个的卸载重新安装我们的JDK

    首先先使用命令查看Linux上原来的JDK

#查看各自默认安装的JDK
rpm -qa|grep jdk

    技术分享图片

     使用 rpm -e --nodeps命令 一个一个卸载

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64

    安装我们的JDK,这里我是使用xf工具上传的解压包上传到/usr/local/java

      注意:这里的java路径是我自己创建的

技术分享图片

   使用命令解压压缩包

#解压压缩文件
tar -zxvf jdk-8u181-linux-x64.tar.gz

  技术分享图片

   解压成功后查看目录

技术分享图片

  配置JDK

  首先修改ect下的profile文件

#编辑profile文件
vim /etc/profile

  加入以下内容,请各位按照自身的安装目录为准

export JAVA_HOME=/usr/local/jdk1.8.0_121
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

 在文件的最底下添加即可

 技术分享图片

   使用命令刷新一下文件,因为Linux不会自己刷新

source /etc/profile 

  技术分享图片

   输入java -version命令查看是否安装成功

技术分享图片

   4.安装并完成hadoop的配置

    使用xf工具将hadoop的压缩包上传到Linux里的usr/local/hadoop(自己创建的)

技术分享图片

   使用命令行解压此压缩包

tar -zxvf hadoop-2.8.0.tar.gz

  技术分享图片

   编辑profile文件也就是配置JDK的文件

vim /ect/profile

  添加如下内容,路径请务必写你自己的

export HADOOP_HOME=/usr/local/hadoop-2.8.0
export PATH=$PATH:$HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin

  技术分享图片

   添加完成后刷新文件

source /etc/profile 

  编辑hosts文件,将三台主机的主机名称对应的ip地址写入(我这里还没有后续是直接克隆的)

#编辑hosts文件
vim /etc/hosts
#写入如下内容,注意IP地址以自身为准
192.168.147.11 master
192.168.147.12 slave1
192.168.147.13 slave2

  完成hadoop内部的配置,切换到hadoop2.8的内部文件夹下

cd /usr/local/hadoop/hadoop-2.8.0/etc/hadoop/

 技术分享图片

   配置slaves文件

vim slaves

  技术分享图片

   删除掉原有的localhost,添加slave主机名

  技术分享图片

  配置core-site.xml文件

vim core-site.xml

  configuration节点中加入如下节点

<property>
     <name>fs.defaultFS</name>
     <value>hdfs://master:9000</value>
</property>
<property>
     <name>hadoop.tmp.dir</name>
   <!--视自身的安装位置决定-->
     <value>/usr/local/hadoop-2.8.0/tmp</value> 
</property>

 技术分享图片

  配置hdfs-site.xml文件

vim hdfs-site.xml

  configuration节点中加入如下节点

<property>

      <name>dfs.namenode.secondary.http-address</name>

      <value>master:50090</value>

</property>

<property>

      <name>dfs.replication</name>

      <value>2</value>

</property>

<property>

   <!--以自身安装目录为准--> 

      <name>dfs.namenode.name.dir</name>

      <value>file:/usr/local/hadoop-2.8.0/hdfs/name</value>

</property>

<property>

      <name>dfs.datanode.data.dir</name>

      <value>file:/usr/local/hadoop-2.8.0/hdfs/data</value>

</property>

  技术分享图片

   编辑hadoop-env.sh

   加入以下内容也就是JDK的安装目录

export  JAVA_HOME=/usr/local/jdk1.8.0_121/

  技术分享图片

   编辑yarn-env.sh文件

  技术分享图片

   配置yarn-site.xml

vim yarn-site.xml

  configuration节点中加入如下内容

<property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
</property>
<property>
           <name>yarn.resourcemanager.address</name>
           <value>master:8032</value>
</property>
<property>
          <name>yarn.resourcemanager.scheduler.address</name>
          <value>master:8030</value>
</property>
<property>  
    <name>yarn.log-aggregation-enable</name>  
    <value>true</value>  
</property> 
<property>
         <name>yarn.resourcemanager.resource-tracker.address</name>
         <value>master:8031</value>
</property>
<property>
         <name>yarn.resourcemanager.admin.address</name>
         <value>master:8033</value>
</property>
<property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>master:8088</value>
</property>

  配置mapred-site.xml文件

  由于mapred-site.xml文件不存在,需要将mapred-site.xml.template克隆出来一份

cp mapred-site.xml.template  mapred-site.xml
vim mapred-site.xml

  加入如下内容

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
</property>

  技术分享图片

   5.克隆主机

    技术分享图片

   克隆完了修改静态ip

技术分享图片

 技术分享图片

   1、在master主机上运行如下

            hdfs namenode -format

  2、启动服务命令

    start-all.sh 

  3、停止集群的命令

    stop-all.sh

初学hadoop之hadoop集群搭建

原文:https://www.cnblogs.com/ws1149939228/p/12518416.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!