Hadoop 3.1.1 分布式搭建过程

准备工作

通过克隆获得三台虚拟机

准备工作:时间同步、时区调整、JDK1.8环境、配置主机名、关闭防火墙、配置静态IP

无特别说明,三台虚拟机都要完成准备工作

1、时间同步
ntpdate ntp.aliyun.com
2、调整时区
timedatectl set-timezone Asia/Shanghai
3、JDK 1.8
java -version
4、修改主机名

三台虚拟机分别设置为:master、node1、node2

master为主节点、其余都是从节点

主机名修改完后断开连接,重新登录即可生效

hostnamectl set-hostname 主机名
5、关闭防火墙
systemctl stop firewalld
  • 查看防火墙状态:systemctl status firewalld
  • 取消防火墙自启:systemctl disable firewalld
6、静态IP配置
  • 直接使用图形化界面配置(不推荐)

  • 手动编辑配置文件进行配置

    # 1、编辑网络配置文件
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
    # 需要根据自身情况修改: 
    # IPADDR(根据自己的网段,自定义IP地址,三台虚拟机不能使用相同IP)
    # GATEWAY(根据自己的网段填写对应的网关地址)
    # DNS1 (同网关地址保持一致即可)
    # 其他直接使用下列配置
    TYPE=Ethernet
    BOOTPROTO=static
    NAME=ens33
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.190.100
    GATEWAY=192.168.190.2
    NETMASK=255.255.255.0
    DNS1=192.168.190.2
    DNS2=223.6.6.6
    
    # 2、关闭NetworkManager,并取消开机自启
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    
    # 3、重启网络服务
    systemctl restart network
    
7、免密登录

只需要配置master到master、master到node1、master到node2即可

# 1、生成密钥
ssh-keygen -t rsa
# 2、配置免密登录
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2
# 3、测试免密登录
# 从master分别登录node1、node2
# 观察是否需要密码,如不需要则免密登录配置成功
ssh node1
ssh node2
8、修改hosts

需要基于三台节点的静态IP进行配置

vim /etc/hosts

# 按情况加入以下内容

192.168.190.100 master
192.168.190.101 node1
192.168.190.102 node2

Hadoop集群搭建

1、上传安装包并解压
# 使用xftp上传压缩包至master的/usr/local/soft/packages/
# 上传位置无特殊要求,能找到即可
cd /urs/local/soft/packages/
# 解压
tar -zxvf hadoop-3.1.1.tar.gz -C /usr/local/soft/
2、配置环境变量

三台都需要修改

vim /etc/profile

# 增加以下配置
HADOOP_HOME=/usr/local/soft/hadoop-3.1.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

# 重新加载环境变量
source /etc/profile
3、修改Hadoop配置文件
  • 切换到配置文件所在目录

    cd /usr/local/soft/hadoop-3.1.1/etc/hadoop/
    
  • 通过vim编辑并修改下列配置文件

    • hadoop-env.sh

      # 在最后加入以下配置
      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
      
    • core-site.xml

          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://master:9000</value>
          </property>
      
          <property>
              <name>hadoop.tmp.dir</name>
              <value>/usr/local/soft/hadoop-3.1.1/data</value>
          </property>
      
          <property>
              <name>fs.trash.interval</name>
              <value>1440</value>
          </property>
      
    • hdfs-site.xml

          <property>
              <name>dfs.replication</name>
              <value>1</value>
          </property>
      
          <property>
              <name>dfs.permissions</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> 
      
          <property>
              <name>yarn.app.mapreduce.am.env</name>
              <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
          </property>
      
          <property>
              <name>mapreduce.map.env</name>
              <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
          </property>
      
          <property>
              <name>mapreduce.reduce.env</name>
              <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
          </property>
      
    • workers

      node1
      node2
      
    • yarn-site.xml

          <property>
              <name>yarn.resourcemanager.hostname</name>
              <value>master</value>
          </property>
      
          <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
          </property>
      
          <property>
              <name>yarn.log-aggregation-enable</name>
              <value>true</value>
          </property>
      
          <property>
              <name>yarn.log-aggregation.retain-seconds</name>
              <value>604800</value>
          </property>
      
          <property>
              <name>yarn.nodemanager.vmem-check-enabled</name>
              <value>false</value>
          </property>
      
          <property>
              <name>yarn.nodemanager.pmem-check-enabled</name>
              <value>false</value>
          </property>
      
4、分发Hadoop到node1、node2
cd /usr/local/soft/
scp -r hadoop-3.1.1/ node1:`pwd`
scp -r hadoop-3.1.1/ node2:`pwd`
5、格式化namenode

只需在第一次启动的时候在Master节点上执行

hdfs namenode -format
6、启动Hadoop集群
start-all.sh
7、检查master、node1、node2上的进程
  • master:

    [root@master soft]# jps
    2597 NameNode
    2793 SecondaryNameNode
    2953 ResourceManager
    3215 Jps
    
  • node1:

    [root@node1 jdk1.8.0_171]# jps
    11361 DataNode
    11459 NodeManager
    11559 Jps
    
  • node2:

    [root@node2 ~]# jps
    11384 DataNode
    11482 NodeManager
    11582 Jps
    
8、访问HDFS的WEB界面

注意新版本的端口由50070变成了9870

http://master:9870

image.png

9、访问YARN的WEB界面
http://master:8088

image.png

Hadoop集群重置

1、停止集群
stop-all.sh

# 若进程停不掉 可直接使用进程号进行kill
2、删除所有节点上hadoop产生的数据文件

三台都要执行

cd /usr/local/soft/hadoop-3.1.1
rm -rf data/
3、重新格式化namenode
hdfs namenode -format
4、启动集群
start-all.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/432096.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue2高级篇

Vue高级 Vue生命周期 生命周期又称为生命周期回调函数、生命周期函数、生命周期钩子, 是Vue在运行过程中的关键时刻帮我们调用的一些指函数, 生命周期函数名字不可修改, 其中的this指向的是vm或组件实例对象. 常用的生命周期钩子: mounted: 发送ajax请求、启动定时器、绑定…

【Vue】VueX仓库

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Vue ⛺️稳中求进&#xff0c;晒太阳 目录 Vue概述 是什么 vuex是一个vue的状态管理工具&#xff0c;状态就是数据 大白话&#xff1a;vuex是一个插件&#xff0c;可以帮我们管理vue通用…

BUUCTF---[极客大挑战 2019]BuyFlag1

1.题目描述 2.来到题目链接&#xff0c;先ctrlu打开源码查看&#xff0c;发现有两个可疑的文件 3.打开bay.php发现页面有两个提示 4.第一个提示告诉我们&#xff0c;如果想要买flag的话我们必须是来自cuit的学生并且要输入正确的密码 第二个提示告诉我们要用post方式传passwor…

Jenkins如何做到parameter页面里2个参数的联动

在Jenkins中&#xff0c;参数化构建是一种非常有用的功能&#xff0c;它可以让用户在构建过程中输入参数&#xff0c;从而实现更灵活的构建流程。有时候&#xff0c;我们希望两个参数之间能够实现联动&#xff0c;即一个参数的取值会影响另一个参数的取值。要实现这样的功能&am…

AI大模型:创新前沿的探索之路

AI大模型一直被视为人工智能领域的创新前沿&#xff0c;它们拥有强大的计算能力和学习能力&#xff0c;能够在各种复杂的任务中表现出色。随着技术的不断进步&#xff0c;越来越多的研究者和企业开始投入到AI大模型的研发和应用中&#xff0c;希望能够探索出更多的可能性。 在…

Linux——网络基础

计算机网络背景 网络发展 独立模式: 计算机之间相互独立 在早期的时候&#xff0c;计算机之间是相互独立的&#xff0c;此时如果多个计算机要协同完成某种业务&#xff0c;那么就只能等一台计算机处理完后再将数据传递给下一台计算机&#xff0c;然后下一台计算机再进行相应…

opencv官网 Blob检测

参考&#xff1a;Blob Detection Using OpenCV ( Python, C ) Bolob检测 Blob 是图像中一组连接的像素&#xff0c;它们共享一些共同属性&#xff08;例如&#xff0c;灰度值&#xff09;。在上图中&#xff0c;深色连接区域是 Blob&#xff0c;Blob 检测旨在识别和标记这些区…

七大 排序算法(一篇文章梳理)

一、引言 排序算法是计算机科学中不可或缺的一部分&#xff0c;它们在数据处理、数据库管理、搜索引擎、数据分析等多个领域都有广泛的应用。排序算法的主要任务是将一组数据元素按照某种特定的顺序&#xff08;如升序或降序&#xff09;进行排列。本文将对一些常见的排序算法…

内存安全的编程语言

美国政府新颁布《回归基础构件&#xff1a;通往安全软件之路》 《回归基础构件&#xff1a;通往安全软件之路》中&#xff0c;白宫国家网络主任办公室&#xff08;ONCD&#xff09;呼吁开发者使用「内存安全的编程语言」 内存安全的编程语言 根据NSA的建议&#xff0c;内存…

Jenkins设置使用163邮箱发送邮件

目录 一、下载需要的插件 二、开通163邮箱的SMTP服务 三、配置邮箱&#xff0c;测试发送 1、配置Jenkins Location 2、配置Extended E-mail Notification 扩展邮件通知 3、配置默认触发器&#xff08;可先不配置&#xff09; ​编辑 4、配置默认的邮件通知 5、测试邮箱…

Jenkins发送邮件、定时执行、持续部署

集成Allure报告只需要配置构建后操作即可。但如果是web自动化&#xff0c;或是用HTMLTestRunner生成报告&#xff0c;构建后操作要选择Publish HTML reports&#xff0c;而构建中还要添加Execute system Groovy script插件&#xff0c;内容&#xff1a; System.setProperty(&q…

VMvare17安装centos8安装宝塔面板 教程

阿里镜像站&#xff1a;https://mirrors.aliyun.com/centos centos-8-isos-x86_64安装包下载_开源镜像站-阿里云 https://mirrors.aliyun.com/centos/8/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso 将上面的链接复制到迅雷进行高速下载 vmvare安装配置教程安装教程 CentOS…

MySQL学习笔记(一)数据库事务隔离级别与多版本并发控制(MVCC)

一、数据库事务隔离级别 数据库事务的隔离级别有4种&#xff0c;由低到高分别为Read uncommitted &#xff08;读未提交&#xff09;、Read committed&#xff08;读提交&#xff09; 、Repeatable read&#xff08;可重复读&#xff09; 、Serializable &#xff08;串行化&a…

爬虫学习笔记-requests爬取NBA得分榜

1.导入requests库,用于请求获取URL位置的资源 import requests 2.导入lxml库,解析及生成xml和html文件 from lxml import etree 3.定义发送请求的地址 url https://nba.hupu.com/stats/players 4.定义请求头 headers {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64…

机器学习-面经(part6、集成学习)

10 集成学习 定义:通过结合多个学习器(例如同种算法但是参数不同,或者不同算法),一般会获得比任意单个学习器都要好的性能,尤其是在这些学习器都是"弱学习器"的时候提升效果会很明显。 10.1 Boosting(提升法) 可以用于回归和分类 问题,它每一…

Zabbix监控容器MongoDB,报错:Unknown metric mongodb.server.status

在Zabbix中配置监控MongoDB容器时&#xff0c;如果遇到Unknown metric mongodb.server.status这样的错误&#xff0c;通常意味着Zabbix Agent尝试从MongoDB获取某个预定义的性能指标&#xff08;例如mongodb.server.status&#xff09;&#xff0c;但是未能成功识别或解析该指标…

政安晨【TypeScript高级用法】(四):模块与声明文件

TypeScript是一种静态类型的JavaScript超集语言&#xff0c;它支持模块化开发和声明文件。 模块化开发是一种将代码分割为独立的模块&#xff0c;每个模块只关注自己的功能&#xff0c;然后通过导入和导出来实现模块之间的交互和复用。在TypeScript中&#xff0c;可以使用impo…

Day18:信息打点-小程序应用解包反编译动态调试抓包静态分析源码架构

目录 小程序获取-各大平台&关键字搜索 小程序体验-凡科建站&模版测试上线 小程序抓包-Proxifier&BurpSuite联动 小程序逆向-解包反编译&动态调试&架构 思维导图 章节知识点 Web&#xff1a;语言/CMS/中间件/数据库/系统/WAF等 系统&#xff1a;操作系…

第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月

第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月 ​​​​​​​ 来自&#xff1a;6547网 http://www.6547.cn/doc/vywur8eics

hive实战项目:旅游集市数仓建设

旅游集市数仓建设 文章目录 旅游集市数仓建设为什么要设计数据分层&#xff1f;分层设计ODS&#xff08;Operational Data Store&#xff09;&#xff1a;数据运营层DW&#xff08;Data Warehouse&#xff09;&#xff1a;数据仓库层DWD&#xff08;Data Warehouse Detail&…