IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 电商平台数据仓库搭建02-Hadoop集群搭建 -> 正文阅读

[大数据]电商平台数据仓库搭建02-Hadoop集群搭建

1,项目说明

本项目来源于github 电商平台数据仓库搭建

项目为个人学习记录,项目代码及文件可访问 电商平台数据仓库搭建 获得。

2,项目准备

  1. 虚拟机准备

    虚拟机开发工具为 VMware15。

    本次项目我自己使用的CentOS版本为CentOS 7。

    虚拟机需要配置3台,分别为Hadoop102,Hadoop103,Hadoop104。配置ssh、jdk1.vm-tools,并创建新用户hadoop并配置root权限,关闭防火墙。

    主机复制和IP映射可以看这篇文章https://blog.csdn.net/m0_47792921/article/details/122182243

    为了后续开发准备,请在虚拟机上配置以下参数,强烈建议和我保持一致,避免后续开发出现问题;

  2. liunx设置

    vi /etc/sysconfig/network
    

    文件中内容

    NETWORKING=yes

    NETWORKING_IPV6=no

    HOSTNAME=hadoop102

    注意:主机名称不要有“_”下划线

    [root@hadoop102 桌面]# vim /etc/hosts
    

    添加内容(前面的IP根据你们自己的虚拟机IP来配置!!!

    查看ip使用命令 ifconfig

    192.168.1.102 hadoop102
    192.168.1.103 hadoop103
    192.168.1.104 hadoop104
    

3,hadoop-2.7.2搭建

  • 集群规划

  • 安装hadoop

    Hadoop下载地址:

    https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/

    将hadoop-2.7.2.tar.gz复制粘贴到opt目录下面的software文件夹下面,并进入该目录打开终端。

    # 压缩包路径
    mkdir /opt/software
    # 安装路径
    mkdir /opt/module
    
    
    cd /opt/software
    
    # 解压,如果权限问题在前面加上sudo
     tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
    
    # 查看是否解压成功,如果有hadoop2.7.2文件解压成功
    ls /opt/module/
    
  • 添加环境变量

    (1)打开/etc/profile文件

    sudo vim /etc/profile
    

    在profile文件末尾添加JDK路径:(shitf+g)

    按 i (插入模式)

    ##HADOOP_HOME
    
    exportHADOOP_HOME=/opt/module/hadoop-2.7.2
    
    exportPATH=$PATH:$HADOOP_HOME/bin
    
    exportPATH=$PATH:$HADOOP_HOME/sbin
    
    

    (2)保存后退出 先按esc 后输入 :

    :wq
    

    (3)让修改后的文件生效

    source /etc/profile
    

    (5)测试是否安装成功

     hadoop version
    
     # 如果安装成功会出现Hadoop的版本信息
     Hadoop2.7.2
    

    (6)重启(如果Hadoop命令不能用再重启)

    [xzt@hadoop102 hadoop-2.7.2]$ sudo reboot
    
  • Hadoop的目录结构

    (1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本

    (2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件

    (3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)

    (4)sbin目录:存放启动或停止Hadoop相关服务的脚本

    (5)share目录:存放Hadoop的依赖jar包、文档、和官方案例

  • 集群配置

    集群部署规划
    hadoop102hadoop103hadoop104
    HDFSNameNode DataNodeDataNodeSecondaryNameNode DataNode
    YARNNodeManagerResourceManager NodeManagerNodeManager
    (1)核心配置文件

    配置core-site.xml

    cd opt/module/hadoop-2.7.2
    
    vim etc/hadoop/core-site.xml
    

    在该文件中编写如下配置

    <!--指定HDFS中NameNode的地址 -->
    
    <property>
    
         <name>fs.defaultFS</name>
    
          <value>hdfs://hadoop102:9000</value>
    
    </property>
    
     
    
    <!--指定Hadoop运行时产生文件的存储目录 -->
    
    <property>
    
         <name>hadoop.tmp.dir</name>
    
         <value>/opt/module/hadoop-2.7.2/data/tmp</value>
    
    </property>
    
    
    (2)HDFS配置文件

    配置hadoop-env.sh

    vim etc/hadoop/hadoop-env.sh 
    
    export JAVA_HOME=/opt/module/jdk1.8.0_144(根据你自己安装JDK的路径来选择)
    
    配置hdfs-site.xml
    vim etc/hadoop/hdfs-site.xml 
    

    在该文件中编写如下配置

    <property>
    
         <name>dfs.replication</name>
    
         <value>1</value>
    
    </property>
    
     
    
    <!-- 指定Hadoop辅助名称节点主机配置 -->
    
    <property>
    
         <name>dfs.namenode.secondary.http-address</name>
    
         <value>hadoop104:50090</value>
    
    </property>
    
    
    (3)YARN配置文件

    配置yarn-env.sh

    vim etc/hadoop/yarn-env.sh 
    export JAVA_HOME=/opt/module/jdk1.8.0_144
    (根据你自己安装JDK的路径来选择)
    
    配置yarn-site.xml
    vim etc/hadoop/yarn-site.xml 
    

    在该文件中增加如下配置

    <!--Reducer获取数据的方式 -->
    
    <property>
    
         <name>yarn.nodemanager.aux-services</name>
    
         <value>mapreduce_shuffle</value>
    
    </property>
    
     
    
    <!--指定YARN的ResourceManager的地址 -->
    
    <property>
    
         <name>yarn.resourcemanager.hostname</name>
    
         <value>hadoop103</value>
    
    </property>
    
    
    (4)MapReduce配置文件

    配置mapred-env.sh

    vim etc/hadoop/mapred-env.sh 
    export JAVA_HOME=/opt/module/jdk1.8.0_144
    (根据你自己安装JDK的路径来选择)
    

    配置mapred-site.xml

    cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
    vim etc/hadoop/mapred-site.xml
    

    在该文件中增加如下配置

    <!--指定MR运行在Yarn上 -->
    
    <property>
    
         <name>mapreduce.framework.name</name>
    
         <value>yarn</value>
    
    </property>
    
    <!-- 历史服务器端地址 -->
    <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop101:10020</value>
    </property>
    
    <!-- 历史服务器web端地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop101:19888</value>
    </property>
    
    
    (5) 配置slaves
    vim etc/hadoop/slaves 
    

    添加以下内容

    hadoop102
    hadoop103
    hadoop104
    
    配置lzo压缩

    1)先下载lzo的jar项目(我在jars/hadoop里面已经放了一个jar包,嫌麻烦的直接用)

    https://github.com/twitter/hadoop-lzo/archive/master.zip

    2)下载后的文件名是hadoop-lzo-master,它是一个zip格式的压缩包,先进行解压,然后用maven编译。生成hadoop-lzo-0.4.20.jar。

    3)将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/

    4)core-site.xml增加配置支持LZO压缩

    <configuration>
    
    <property>
    <name>io.compression.codecs</name>
    <value>
    org.apache.hadoop.io.compress.GzipCodec,
    org.apache.hadoop.io.compress.DefaultCodec,
    org.apache.hadoop.io.compress.BZip2Codec,
    org.apache.hadoop.io.compress.SnappyCodec,
    com.hadoop.compression.lzo.LzoCodec,
    com.hadoop.compression.lzo.LzopCodec
    </value>
    </property>
    
    <property>
        <name>io.compression.codec.lzo.class</name>
        <value>com.hadoop.compression.lzo.LzoCodec</value>
    </property>
    
    
    </configuration>
    
    

    5)同步core-site.xml到hadoop103、hadoop104

    [xzt@hadoop102 hadoop]$ xsynccore-site.xml
    
  • 在集群上分发配置好的Hadoop配置文件

    scp -r /opt/module/hadoop2.7.2 hadoop103:/opt/module/
    
    scp -r /opt/module/hadoop2.7.2 hadoop104:/opt/module/
    
  • 群起集群

    1)如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)

    bin/hdfs namenode -format
    

    (2)启动HDFS

    sbin/start-dfs.sh 
    

    (3) 启动YARN

    ssh hadopo103
    cd /opt/module/hadoop-2.7.2
    sbin/start-yarn.sh 
    

    注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN,所以我们要切换到Hadoop103来启动yarn。

  • 集群所有进程查看脚本

    1)在hadoop102的/home/hadoop/bin目录下创建脚本xcall.sh,该脚本可以在三台服务器上同时执行同一个命令

    vim xcall.sh
    

    2)在脚本中编写如下内容

    #! /bin/bash
    
    for i in hadoop102 hadoop103 hadoop104
    do
            echo --------- $i ----------
            ssh $i "$*"
    done
    
    

    3)修改脚本执行权限

    chmod 777 xcall.sh
    

    4)启动脚本查看集群是否启动成功

    xcall.sh jps 
    
    hadoop102
    4903 Jps
    4360 DataNode
    4172 NameNode
    4718 NodeManager
    
    Hadoop03
    4168 NodeManager
    4650 Jps
    3855 DataNode
    3999 ResourceManager
    
    Hadoop04
    3904 SecondaryNameNode
    4210 Jps
    3784 DataNode
    4029 NodeManager
    
    成功情况下,三台服务器各有四个进程,如果失败的话请检查一下配置文件是否写错,改完后再格式化一下namenode再次启动
    

    5) 集群启动和关闭命令

    关闭虚拟机前一定要关闭集群!!!否则有可能会导致集群错误

    整体启动/停止HDFS

    start-dfs.sh / stop-dfs.sh

    整体启动/停止YARN

    start-yarn.sh / stop-yarn.sh

  • zookeeper集群搭建

    关于zookeeper集群的搭建大家可以参考我的另外一篇文章https://blog.csdn.net/m0_47792921/article/details/122182344

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:47:11  更:2022-04-26 11:48:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:33:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码