当前位置: 首页 > news >正文

大数据学习之 Hadoop部署

Hadoop部署

  • Linux桌面模式关闭

    # 设置
    systemctl set-default multi-user.target
    # 重启
    reboot
    
  • 防火墙关闭

    systemctl status firewalld
    systemctl stop firewalld
    # 关闭开机自启
    systemctl disable firewalld
    
  • 配置Java环境

    echo $JAVA_HOME
    java -version
    # Java配置
    # 上传jar包并解压
    tar -zxvf ...jdk.jar
    # 配置环境变量
    vim /etc/profile
    JAVA_HOME=/usr/local/soft/jdk1.8.0_171
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 网络环境

    # 查看IP
    ifconfig
    # 修改网络IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens331 TYPE=Ethernet2 PROXY_METHOD=none3 BROWSER_ONLY=no4 BOOTPROTO=static5 DEFROUTE=yes6 IPV4_FAILURE_FATAL=no7 IPV6INIT=yes8 IPV6_AUTOCONF=yes9 IPV6_DEFROUTE=yes10 IPV6_FAILURE_FATAL=no11 IPV6_ADDR_GEN_MODE=stable-privacy12 NAME=ens3213 UUID=9d8db489-1d03-49dd-9a72-c106b667af6a14 DEVICE=ens3215 ONBOOT=yes16 IPADDR=192.168.44.10017 netmask=255.255.255.018 GATEWAY=192.168.44.2# 关闭网络管理器
    systemctl status NetworkManager
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    
  • 修改主机名称

    vim /etc/hostname
    在当前虚拟机中设置Master
    之后克隆的三个节点需要设置node1 node2
    
  • 克隆另外两台从节点 node1 node2

    选中当前节点 关机 -> 右键 ->管理 -> 克隆 -> 当前状态 -> 创建完整克隆 -> 选择路径修改名称 -> 完成

    注意:选中的路径最好是 SSD 固态 同时磁盘空间三个节点最少保证大于70G

  • 修改克隆主机 一定要修改

    先启动node1节点,配置好之后再启动node2

    1.修改网络

    2.修改主机名

  • 修改IP映射

    当node1 node2 配置完成后,再启动Master 修改IP映射

    vim /etc/hosts
    # 安装自己的IP修改映射关系 
    192.168.44.100 master
    192.168.44.110 node1
    192.168.44.120 node2
    
  • 配置主节点和其他节点之间的免密登录

    免密登录

    ​ 当在Master节点中需要控制node1 和 node2 节点启动相关的一些命令任务

    需要使用 ssh root@ip/hostname ctrl+D:退出

    后续Hadoop启动会切换到从节点启动任务,需要密码非常麻烦,所以需要配置免密登录

    # 在Masetr节点中执行如下命令:
    # > 需要三次回车
    ssh-keygen -t rsa    
    # 将密码复制到 master node1 node2 > 需要输入密码  
    ssh-copy-id master  
    ssh-copy-id node1
    ssh-copy-id node2
    # 验证:ssh node1  ctrl + d 退出登录
    
  • 校验时间是否同步

    使用xshell对当前所有会话同时发送命令 date 查看系统时间 如果时间不同步 ,那么需要配置

    yum install ntp  
    ntpdate time.windows.com
    
  • 正式开始配置Hadoop

    上传Hadoop并解压

    tar -zxvf hadoop-3.1.3.tar.gz
    
  • 配置环境变量

    vim /etc/profile
    HADOOP_HOME=/usr/local/soft/hadoop-3.1.3
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    source /etc/profile
    
  • 修改配置文件

    core-site.xml

    <property><name>fs.defaultFS</name><value>hdfs://master:9000</value>
    </property>
    <!-- 指定hadoop数据的存储目录 -->
    <property><name>hadoop.tmp.dir</name><value>/usr/local/soft/hadoop-3.1.3/data</value>
    </property>
    

    hdfs-site.xml

    dfs.namenode.http-address master:50070

    该配置项设置网页的访问端口 对于3.x版本的Hadoop其端口为9870

    <!-- 2nn web端访问地址-->
    <property><name>dfs.namenode.secondary.http-address</name><value>master:9868</value>
    </property>
    <property><name>dfs.replication</name><value>1</value>
    </property><property><name>dfs.permissions</name><value>false</value>
    </property>
    

    yarn-site.xml

    <!-- 指定MR走shuffle -->
    <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
    </property>
    <!-- 指定ResourceManager的地址-->
    <property><name>yarn.resourcemanager.hostname</name><value>master</value>
    </property>
    <!-- 环境变量的继承 -->
    <property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    <!-- yarn容器允许分配的最大最小内存 -->
    <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>512</value>
    </property>
    <property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>4096</value>
    </property>
    <!-- yarn容器允许管理的物理内存大小 -->
    <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>4096</value>
    </property>
    <!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
    <property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
    </property>
    <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    </property>
    

    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> 
    

    workers

    在该文件中主要是对从节点的名称进行配置

    node1
    node2

    hadoop-env.sh

    Hadoop的执行环境

    # 在最后加入以下配置
    export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root
    export YARN_RESOURCEMANAGER_USER=root
    export YARN_NODEMANAGER_USER=root
    
  • 分发Hadoop到node1、node2

    scp表示远程复制

    -r 表示复制的为目录

    root@node1 表示用户及IP 由于配置了免密登录所以不需要密码

    :pwd pwd 表示当前所在的目录路径 :需要指定目标位置的路径

    scp -r hadoop-3.1.3 root@node1:`pwd`
    scp -r hadoop-3.1.3 root@node2:`pwd`
    
  • 初始化Hadoop

    # 初始化 
    hdfs namenode -format
    

    只能在Master中执行一次

    # 启动集群
    start-all.sh
    # 停止
    stop-all.sh
    
  • 检查

    • 页面

      HDFS的访问页面 http://IP:9870/

      Yarn的访问页面http://master:8088/

    • 查看进程

      jps(查看所有Java启动的进程)
      # Master节点
      3273 NameNode
      3548 SecondaryNameNode
      3807 ResourceManager# node1节点
      2977 NodeManager
      2862 DataNode# node2节点
      2977 NodeManager
      2862 DataNode
      
  • Hadoop安装或运行过程出现问题

    • 1.查看日志

      在当前安装目录中找到logs 并分析哪个进程宕机,可以查看进程对应的日志文件

    • 2.重新安装

      1.删除所有节点中的data目录

      2.寻找正确的配置文件,进行替换,并将所有节点进行同步

      3.重新格式化

Hadoop存储

在Hadoop中数据存储是由HDFS组件决定的,可以通过9870端口进行访问,在Hadoop2.x版本中端口为50070

http://www.lryc.cn/news/350816.html

相关文章:

  • xxe漏洞--xml外部实体注入漏洞
  • Nginx反向代理与负载均衡:让网站像海豚一样灵活
  • 企业应考虑的优秀云安全措施
  • 如何将老板的游戏机接入阿里云自建K8S跑大模型(下)- 安装nvidia/gpu-operator支持GPU在容器中共享
  • 代码随想录-Day16
  • 31.@Anonymous
  • oracle 表同一列只取最新一条数据写法
  • C语言游戏实战(12):植物大战僵尸(坤版)
  • 提权方式及原理汇总
  • 【leetcode----二叉树中的最大路径和】
  • Rust: 编译过程中链接器 `cc` 没有找到
  • 【vue-3】动态属性绑定v-bind
  • Rust:多线程环境下使用 Mutex<T> 还是 Arc<Mutex<T>> ?
  • 关于如何创建一个可配置的 SpringBoot Web 项目的全局异常处理
  • docker三种自定义网络(虚拟网络) overlay实现原理
  • C#上位机1ms级高精度定时任务
  • 盘点28个免费域名申请大全
  • 【vue】封装的天气展示卡片,在线获取天气信息
  • 【MySQL】库的操作和表的操作
  • 【学习笔记】后端(Ⅰ)—— NodeJS(Ⅱ)
  • VMware报平台不支持虚拟化Win10家庭版关闭Hyper-V及内核隔离
  • 简单介绍十款可以免费使用的API测试工具
  • 非授权人员进入报警系统
  • Mysql基础教程(03):AND
  • 为什么要使用 eval
  • BCD编码(8421)介绍
  • 前端javascript包管理,npm升级用pnpm
  • 数据库操作(函数)
  • [建堆堆排序的时间复杂度推导]向上建堆向下建堆堆排序的时间复杂度分析推导
  • 【C++初阶】--- C++入门(上)