大数据环境搭建之Hadoop集群搭建

作者:Neshoir

Hadoop是目前市面上比较主流的开源分布式存储及分布式大数据计算框架,其具有高可靠,高可用,可扩展性强等特点,其设计允许简单的编程模型跨计算机集群处理大规模数据集,框架本身不依赖于硬件的可用性,而是利用设计在应用程序层检测和处理故障。Hadoop项目包含的组件模块有Common,HDFS,MapReduce,YARN等。

  • Hadoop Common:一些列的核心通用接口,用于支持其他组件模块,可用于分布式系统的序列化、RPC、持久化数据结构等等。
  • Hadoop HDFS:一个分布式文件存储系统,可运行于大型计算机集群中,具有高吞吐的数据读写特性。
  • Hadoop MapReduce:分布式大数据计算编程模型,可运行于yarn集群之上。
  • Hadoop YARN:分布式作业调度和计算机集群资源管理框架。

除了这几个组件模块,在3.X新版的Hadoop项目中也出了新的组件模块,如Hadoop Ozone、Hadoop Submarine,在本文我们不讨论这些组件模块,主要针对超图大数据产品与hadoop集成的部署做重点介绍,在超图大数据产品中我们主要使用到了HDFS组件来存储数据,以及YARN调度框架,而计算采用了SPARK框架,所以我们在介绍hadoop集群搭建时详细介绍HDFS和YARN的配置。

一、环境准备
  • 三台Ubuntu 14.0.4系统的机器,hadoop主题用java语言编写,可运行装有JVM平台之上,但由于部分代码如控制脚本需要Unix环境下执行,所以生产集群推荐安装在Unix平台,对Windows平台建议安装单机模式,用于学习、开发。
  • JDK 1.8
  • Hadoop 2.7.6 ,具体版本不做限制,推荐用主流稳定版本。
二、先决条件
  • 每台机器安装JDK环境,检验jdk环境是否安装成功的命令:java -version,如果显示了jdk版本说明环境OK。【必须】

  • 每台机器创建hadoop服务所属的用户及组,以便于与系统的其他服务做区分和管理。【推荐】

  • 每台机器的固定IP配置,计算机名称修改,以及ip绑定计算名称(名称不要带中横线,避免服务无法识别)的映射。【必须】

  • 三台机器之间的SSH无密码登录配置。【必须】

  • 三台机器的规划配置,当然也可自行搭建HA架构的,【推荐】如图示例:

    master机器 node1机器 node2机器
    IP 192.168.31.137 192.168.31.138 192.168.31.139
    主机名 master.com node1.com node2.com
    角色 ResourceManager NodeManager NodeManager
    角色 NameNode DataNode DataNode
三、Hadoop配置
  • 下载Hadoop 2.7.6,并解压,在master机器开始配置。

  • 配置主节点namenode,在hadoop/etc/hadoop目录下创建masters文件,将主节点的IP或机器名填入,如下

    master.com
    
  • 配置datanode,在hadoop/etc/hadoop目录下创建slaves文件,将节点的IP或机器名称填入,每一行对应一个节点,如下:

    node1.com
    node2.com
    
  • 配置环境变量,hadoop-env.sh文件,写入已安装的jdk路径,如下:

    export JAVA_HOME=/home/supermap/jdk1.8.0_171
    
  • 配置通用配置core-site.xml文件,每台机器上预先创建临时目录,如/home/supermap/hadoop/tmp:

    <configuration>
    <property>
      <name>fs.defaultFSname>
      <value>hdfs://master.com:9000value>
      <description>namenode地址,主机名加端口description>
     property>
     <property>
      <name>io.file.buffer.sizename>
      <value>131072value>
     property>
     <property>
      <name>hadoop.tmp.dirname>
      <value>file:/home/supermap/hadoop/tmpvalue>
      <description>临时目录,需要预先在改路径下创建目录description>
     property>
    <property>
      <name>fs.trash.intervalname>
      <value>1440value>
      <description>文件系统垃圾回收,检查点时间间隔description>
    property>
    configuration>
    
  • 配置存储系统hdfs-site.xml文件,每台机器上预先创建存储目录:

    <configuration>
    <property>
       <name>dfs.namenode.http-addressname>
       <value>master.com:50070value>
     property>
    <property>
      <name>dfs.namenode.secondary.http-addressname>
      <value>master.com:50090value>
     property>
      <property>
       <name>dfs.namenode.name.dirname>
       <value>file:/home/supermap/hadoop/namedirvalue>
       <description>数据元信息存储目录,预先在本地系统创建该目录description>
     property>
     <property>
      <name>dfs.datanode.data.dirname>
      <value>file:/home/supermap/hadoop/datadirvalue>
      <description>数据存储目录,预先在本地系统创建该目录description>
      property>
     <property>
      <name>dfs.replicationname>
      <value>3value>
     property>
     <property>
      <name>dfs.webhdfs.enabledname>
      <value>truevalue>
     property>
     <property>
      <name>dfs.permissionsname>
      <value>falsevalue>
     property>
    
    configuration>
    
  • 配置mapred-site.xml文件,实际上我们产品用的spark框架计算,如下:

    <configuration>
     <property>
       <name>mapreduce.framework.namename>
       <value>yarnvalue>
     property>
     <property>
      <name>mapreduce.jobhistory.addressname>
      <value>master.com:10020value>
     property>
     <property>
      <name>mapreduce.jobhistory.webapp.addressname>
      <value>master.com:19888value>
     property>
    configuration>
    
  • 配置yarn-site.xml文件,如下:

    <configuration>
    <property>
       <name>yarn.resourcemanager.hostnamename>
       <value>master.comvalue>
     property>
    <property>
      <name>yarn.nodemanager.aux-servicesname>
      <value>mapreduce_shufflevalue>
     property>
     <property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
      <value>org.apache.hadoop.mapred.ShuffleHandlervalue>
     property> 
    configuration>
    
  • 在node1和node2机器上,同步上面的配置文件,配置文件都在hadoop/etc/hadoop目录下,确保每个机器的配置文件一样。

四、Hadoop集群启动
  • 格式化新系统,在master机器进入hadoop的bin目录下执行:

    bin/hadoop namenode -format
    
  • 在master机器,hadoop的bin目录下执行启动命令:

    bin/start-all.sh
    
  • 集群检查是否正常,可采用jps查看进程或进入UI界面查看状态。

五、最终hdfs,yarn集群UI界面如下图,端口分别50070,8088

大数据环境搭建之Hadoop集群搭建_第1张图片
大数据环境搭建之Hadoop集群搭建_第2张图片
大数据环境搭建之Hadoop集群搭建_第3张图片
注:如果要搭建HA架构的Hadoop集群,需要搭建zookeeper集群服务,且zookeeper节点数必须大于等于三个节点。

你可能感兴趣的:(大数据)