(大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式

这篇具有很好参考价值的文章主要介绍了(大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

完全分布式模式

  • 分布式文件系统中,HDFS相关的守护进程也分布在不同的机器上,如:
    • NameNode守护进程,尽可能单独部署在一台硬件性能较好的机器中
    • 其他的每台机器上都会部署一个DataNode进程,一般的硬件环境即可
    • SecondaryNameNode守护进程最好不要和NameNode在同一台机器上

守护进程布局

NameNode DataNode SecondaryNameNode
主机名1
主机名2
主机名3

集群搭建准备

总纲
  • 三台机器的防火墙关闭
    • 最好把selinux也关掉,vi /etc/selinux/config——SELINUX=disabled
  • 三台机器网络配置通畅(NAT模式,静态IP,主机名的配置)
  • /etc/host文件配置了ip和hostname的映射关系
  • 配置了三台机器的免密登录认证
  • 时间同步
  • jdk和hadoop环境变量配置
配置文件
  • `cd $HADOOP_HOME/etc/hadoop``

    • ``vi core-site.xml`

      <configuration>
          <!-- 设置namenode节点 -->
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://lanr:9820</value>
          </property>
          <!-- hdfs的基础路径,被其他属性所依赖的一个基础路径 -->
          <property>
              <name>hadoop.tmp.dir</name>
              <value>/usr/local/hadoop-3.3.1/tmp</value>
          </property>
      </configuration>
      
      
    • vi hdfs-site.xml

      <configuration>
          <!-- 块的副本数量 -->
          <property>
              <name>dfs.replication</name>
              <value>3</value>
          </property>
          <!-- secondarynamenode守护进程的http地址;主机名:端口号 -->
          <property>
              <name>dfs.namenode.secondary.http-address</name>
              <value>lanr2:9868</value>
          </property>
          <!-- namenode守护进程的http地址;主机名:端口号 -->
          <property>
              <name>dfs.namenode.http-address</name>
              <value>lanr:9870</value>
          </property>
      </configuration>
      
      
    • vi hadoop-env.sh

      export JAVA_HOME=/usr/local/jdk1.8.0_321
      
      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
      
    • vi workers(删除已有的localhost)

      主机名1
      主机名2
      主机名3
      
    • 分发:其他节点也需要保持相同的配置

      rm -rf $HADOOP_HOME/tmp
      
      cd /usr/local/
      scp -r jdk1.8.0_321/ hadoop-3.3.1/ lanr2:$PWD
      scp -r jdk1.8.0_321/ hadoop-3.3.1/ lanr3:$PWD
      
      scp /etc/profile lanr2:/etc/
      scp /etc/profile lanr3:/etc/
      
格式化集群
  • hdfs namenode -format(仅在主机名1上运行)
启动集群
  • start-dfs.sh(仅在主机名1上运行)

  • jps分别查看三个机器的节点:

    (大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式

    (大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式

    (大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式

  • 访问:192.168.{你的网段}.101 查看节点运行状态

    (大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式

集群控制命令

集群启停
start-dfs.sh  # 启动HDFS所有进程(NameNode、SecondaryNameNode、DataNode)
stop-dfs.sh  # 停止HDFS所有进程(NameNode、SecondaryNameNode、DataNode)

# hdfs --daemon start 单独启动一个进程
# 补充:daemon译为,守护进程
# 该命令只会启动当前机器上的进程,若当前机器上没有部署特定节点,则无法启动
hdfs --daemon start namenode
hdfs --daemon start secondarynamenode
hdfs --daemon start datanode

# hdfs --daemon stop 单独停止一个进程
hdfs --daemon stop namenode
hdfs --daemon stop secondarynamenode
hdfs --daemon stop datanode


hdfs --workers --daemon start datanode # 启动所有机器上的datanode
hdfs --workers --daemon stop datanode # 停止所有机器上的datanode
# 在哪台机器上运行都可以
进程查看
jps # 查看当前机器上的进程

# 查看所有机器上的进程情况
cd /opt/
mkdir bin
cd bin
vi jps-cluster.sh # 创建脚本

# 添加如下程序:
# -----------------复制以下内容----------------------
#!/bin/bash

HOSTS=( lanr lanr2 lanr3 )

for HOST in ${HOSTS[*]}
do
    echo "---------- $HOST ----------"
    ssh -T $HOST << DELIMITER
    jps | grep -iv jps
    exit
DELIMITER

done
# -----------------复制以上内容----------------------

sudo chmod a+x jps-cluster.sh # 赋予执行权限
ln -s /opt/bin/jps-cluster.sh /usr/bin/ # 软链接
  • 启动集群:start-dfs.sh;查看进程:jps-cluster.sh

    (大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式

启动日志查看
  • 启动节点进程时若出现问题,可以查看日志文件
  • 日志的位置:$HADOOP_HOME/logs/
  • 日志的命名:hadoop-username-daemon-hostname.log
  • 补充:shift g跳转到文件最后;gg跳转到文件开头
  • 查找error、warn日志:esc——/error——enter——n查找下一个,shift n查找上一个
集群常见问题
  • 格式化集群时报错:
    • 当前用户使用不当
      • 普通用户可能没有在hadoop安装路径下的权限
    • /etc/hosts 里映射关系错误
    • 免密登录认证异常
    • jdk环境变量配置错误
    • 防火墙没有关闭
  • namenode进程没有启动:
    • 当前用户使用不当
    • 重新格式化时,忘记删除${hadoop.tmp.dir}目录下的内容
    • 网络震荡,造成edit日志文件的事务ID序号不连续
  • datanode出现问题:
    • /etc/host 里映射关系错误
    • 免密登录异常
    • 重新格式化时,忘记删除${hadoop.tmp.dir}目录下的内容,造成datanode的唯一标识符不在集群中
  • 上述问题的暴力解决方法:重新格式化
    • 若想重新格式化,先需要删除每台机器上的${hadoop.tmp.dir}指定路径下的所有内容,然后再进行格式化;最好把logs目录下的内容也清空
      • cd $HADOOP_HOME/——rm -rf logs/ tmp/ (三个节点都要进行删除)
      • rm -rf dfs/data/* dfs/name/* (三个节点都要进行删除)
      • 格式化集群:hdfs namenode -format (仅在主机名1上运行)

案例演示:WordCount

  • 数据准备

    cd ~
    mkdir input && cd input
    echo "hello world hadoop linux hadoop" >> file1
    echo "hadoop linux world hadoop linux hadoop" >> file1
    echo "hello world hadoop linux hadoop" >> file1
    echo "hello world hadoop linux hadoop" >> file1
    echo "hello good programmer hadoop linux hadoop" >> file2
    echo "hello world hadoop linux hadoop ok nice" >> file2
    
  • 上传到集群文章来源地址https://www.toymoban.com/news/detail-415594.html

    cd ~
    hdfs dfs -put input/ /
    hdfs dfs -ls -R /  # 递归查看hdfs上的文件夹与文件
    hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output  # 该input、output文件夹是在hdfs上的,不是linux本地的 且输出路径不能已存在
    hdfs dfs -cat /output/*  # 查看结果
    

到了这里,关于(大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 大数据开发·关于虚拟机Hadoop完全分布式集群搭建教程

    大数据开发·关于虚拟机Hadoop完全分布式集群搭建教程

    官网链接 进入后网站如图,各位按需下载 官网链接 进入页面点击下载 再根据我们需要下载的软件进入下载页面 点击右侧红框内的免费授权页面获取免费许可 进入后如图,两者我们都需要所以都勾选,填写的邮箱用于接收下载链接,下载后进行安装即可 这里先和大家强调一

    2024年02月07日
    浏览(15)
  • Hadoop 完全分布式部署

    Hadoop 完全分布式部署

    前期准备 分析: 准备3台客户机(关闭防火墙、静态IP、主机名称) 【CentOS 7】 安装JDK 【jdk1.8】 安装Hadoop 【hadoop 3.3.4】 配置环境变量 配置ssh 配置集群 单点启动 群起并测试集群 Hadoop 集群规划: node1 node2 node3 IP 10.90.100.121 10.90.100.122 10.90.100.123 HDFS NameNode 、 DataNode DataNode D

    2024年03月23日
    浏览(16)
  • Hadoop分布式安装部署

    Hadoop分布式安装部署

    VMware Workstation Pro17 CentOS7 Hadoop-3.3.6 jdk1.8.0_391 事先需要在本地电脑安装VMware,再创建虚拟机,并且克隆该虚拟机,使用多台机器配合完成完全的分布式文件系统。本文使用三台虚拟机搭建Hadoop。 Hadoop在安装部署之前,需要对虚拟机进行网络配置,将虚拟机的网络状态由动态修

    2024年01月23日
    浏览(16)
  • hadoop伪分布式安装部署

    hadoop伪分布式安装部署

    首先jdk安装完毕 jdk安装文档参考: Linux 环境下安装JDK1.8并配置环境变量_linux安装jdk1.8并配置环境变量_Xi-Yuan的博客-CSDN博客 准备好hadoop的安装包 我的下载地址如下: We Transfer Gratuit. Envoi sécurisé de gros fichiers. 将hadoop包上传到随便一个目录,但是解压缩到/opt/ 目录下 tar -zvxf

    2024年02月08日
    浏览(12)
  • 【Hadoop】安装部署-完全分布式搭建

    【Hadoop】安装部署-完全分布式搭建

    Hadoop是一个适合大数据的分布式存储和计算平台。狭义上说Hadoop就是一个框架平台,广义上讲Hadoop代表大数据的一个技术生态圈,包括很多软件框架。而我们的完全分布式,指的是在真实环境下,使⽤多台机器,共同配合,来构建⼀个完整的分布式文件系统。在真实环境中,

    2024年02月07日
    浏览(11)
  • 分布式集群——搭建Hadoop环境以及相关的Hadoop介绍

    分布式集群——搭建Hadoop环境以及相关的Hadoop介绍

    分布式集群——jdk配置与zookeeper环境搭建 分布式集群——搭建Hadoop环境以及相关的Hadoop介绍 文章目录 前言 一 hadoop的相关概念 1.1 Hadoop概念 补充:块的存储 1.2 HDFS是什么 1.3 三种节点的功能 I、NameNode节点 II、fsimage与edits文件存放的内容介绍 III、DataNode节点 IV、SecondaryNameNod

    2024年02月10日
    浏览(7)
  • 大数据开源框架环境搭建(七)——Spark完全分布式集群的安装部署

    大数据开源框架环境搭建(七)——Spark完全分布式集群的安装部署

    前言:七八九用于Spark的编程实验 大数据开源框架之基于Spark的气象数据处理与分析_木子一个Lee的博客-CSDN博客_spark舆情分析 目录 实验环境: 实验步骤: 一、解压 二、配置环境变量:  三、修改配置文件  1.修改spark-env.sh配置文件: 2.修改配置文件slaves: 3.分发配置文件:

    2024年02月11日
    浏览(36)
  • 大数据开源框架环境搭建(五)——Hbase完全分布式集群的安装部署

    大数据开源框架环境搭建(五)——Hbase完全分布式集群的安装部署

    目录 实验环境: 实验步骤: 〇、Zookeeper安装配置: 一、安装前注意事项 二、HBase安装  三、Hbase集群配置 1.配置hbase-env.sh文件,位于Hbase安装目录/conf/ 2.配置hbase-site.xml文件,位于Hbase安装目录/conf/ 3.配置regionservers 4.新建 backup-masters文件,添加备份HMaster机器名 四、将配置好

    2024年02月08日
    浏览(14)
  • 大数据开源框架环境搭建(四)——HDFS完全分布式集群的安装部署

    大数据开源框架环境搭建(四)——HDFS完全分布式集群的安装部署

    前言:本实验的所有路径均为本人计算机路径,有些路径需要看自己的,跟着我的一起做最好。普通用户下大部分命令需要加sudo,root模式下不用。如果怕麻烦,直接在root用户下操作。 目录 实验环境: 实验步骤: 一、配置NAT网络 ,分配静态IP地址 1.打开VMware,选择编辑,

    2024年02月05日
    浏览(11)
  • Hadoop完全分布式部署3.1.3

    Hadoop完全分布式部署3.1.3

    提示:个人学习所用,仅供参考 目录 前言 一、前提条件 二、安装Java1.8 1.使用wget将安装包下载到虚拟机中 2.将下载好的jdk安装包解压到local目录下 3.配置java环境变量 4.使环境变量生效: 5.测试java 是否安装成功: 6.如图即为安装成功: 7.将环境变量跟jdk安装包分发到子节点

    2024年02月05日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包