【Hadoop】创建Hadoop集群(3个节点)—— 安装部署一个3个节点构成的hbase集群

这篇具有很好参考价值的文章主要介绍了【Hadoop】创建Hadoop集群(3个节点)—— 安装部署一个3个节点构成的hbase集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

此实验搭建3个虚拟节点,一个mater,一个slave1,一个slave2

集群简介

HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但在物理上常在一起。

HDFS集群负责海量数据的存储,集群中的角色主要有:

NameNode、DataNode、SecondaryNode

YARN集群负责海量数据运算时的资源调度,集群中的角色主要有:

ResourceManager、NodeManager

那mapreduce是什么呢?它其实是一个分布式运算编程框架,是应用程序开发包,由用户按照编程规范进行程序开发,后打包运行在HDFS集群上,并且受到YARN集群的资源调度管理。

一、集群部署方式

Hadoop部署方式分三种:

1、Standalone mode(独立模式)

独立模式又称为单机模式,仅1个机器运行1个java进程,主要用于调试。

2、Pseudo-Distributed mode(伪分布式模式)

伪分布模式也是在1个机器上运行HDFS的NameNode和DataNode、YARN的 ResourceManger和NodeManager,但分别启动单独的java进程,主要用于调试。

3、Cluster mode(群集模式)单节点模式-高可用HA模式

集群模式主要用于生产环境部署,会使用n台主机组成一个Hadoop集群。这种部署模式下,主节点和从节点会分开部署在不同的机器上。

二、Hadoop集群规划

Hadoop是典型的主从架构。HDFS的NameNode是主,DataNode是从,YARN的ResourceManager是主,NodeManager是从。在正式集群部署之前,我们首先要做规划,规划好每个主机/节点分别运行Hadoop的哪些进程,这样做,至少有两个好处:1、指导部署,没有规划图,很可能部署过程中就容易迷失,一个小小的细节没处理好,可能导致集群启动失败;2、方便日后查询,例如查询哪些进程在哪些节点上运行等。

此次部署的规划如下:(说明:每个人的虚拟机的IP网段可能都不一样,要根据实际虚拟机修改下表的IP地址,我的是192.168.241.xxx)

Hadoop集群规划

主机IP

主机的主机名

HDFS

YARN

192.168.241.100

master

NameNode

DataNode

ResourceManager

NodeManager

192.168.241.101

slave1

SecondaryNameNode

DataNode

NodeManager

192.168.241.102

slave2

DataNode

NodeManager

2.1集群环境准备

集群模式主要用于生产环境部署,需要多台主机,并且这些主机之间可以相互访问,我们在之前搭建好基础环境的三台虚拟机上进行Hadoop的搭建。

(1)找到之前伪分布式hadoop虚拟机的路径

搭建hadoop集群的三种方式,hadoop,hdfs,大数据(2)创建三个文件夹master、slave1、slave2,然后复制步骤1中找到的虚拟机文件,并分别粘贴一份到这三个文件夹中

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

(3)用VMware Workstation,打开master、slave1、slave2文件夹下的虚拟机,并重命名,以防万一与之前伪分布式的虚拟机搞混了搭建hadoop集群的三种方式,hadoop,hdfs,大数据

2.2修改master、slave1、slave2的ip

master、slave1、slave2这三台虚拟机是从原有的虚拟机拷贝过来的,所有东西都是一样的,包括环境变量、已安装的程序(jdk、redis、hadoop、hbase等)、ip、主机名。而不同的主机,ip肯定不能一样,所以要修改这三台虚拟机的ip和主机名。

打开网卡配置文件,将IPADDR修改为部署规划的master ip,然后保存退出

代码示例如下:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

ip修改后,重启网卡重启网卡,并验证是否可以访问外网:

代码示例如下:

systemctl restart network
ping www.baidu.com

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

执行hostnamectl set-hostname ...(master/slave1/slave2),将主机名分别改为master、slave1、slave2

退出root,再重新登录,命令行提示符看到最新的主机名

2.3修改master、slave1、slave2的主机名和IP的映射

我们知道,网络中,都是通过IP来通信的,在集群中,如果想要通过主机名通信,则还要设置IP来与之对应,类似于域名要绑定IP。编辑/etc/hosts这个文件,然后追加一条记录,master、slave1、slave2三个主机的/etc/hosts新增的映射记录一样

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

能ping成功三个主机名,说明映射配置成功

提示:为了避免手写错误,master的hosts映射配置好后,可以通过scp命令,将master修改好的/etc/hosts文件,同步到slave1、slave2主机上。

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

2.4设置免密登录

想要在机器1上,远程控制机器2,常用的方案就是在机器1安装ssh客户端,机器2安装ssh服务端,ssh客户端和ssh服务端之间的通信协议是ssh协议。在linux系统中ssh命令,就是一个ssh客户端程序,sshd服务,就是一个ssh服务端程序。在windows中,给大家提供的mobaxterm是一个图形化界面的ssh客户端。因为master、slave1、slave2三个节点都是从之前的已经安装好Hadoop伪分布式的虚拟机复制而来,而当时已经设置了免密登录,故不需再设置了,也就是master可以免密登录到master、slave1、slave2。

2.5关闭防火墙

防火墙实质是一个程序,它可以控制系统进来或者出去的流量,Centos7默认情况下,防火墙是开机自起的,在集群部署模式下,各个节点之间的进程要通信,为了方便,一般都要关闭防火墙。同理,之前已经设置不允许防火墙开机自启,默认开机是关闭的,故也不需要操作。

2.6删除Hadoop伪分布式数据

因为master、slave1、slave2三个节点都是从之前的已经安装好Hadoop伪分布式的虚拟机复制而来,为了保证整个进程环境干净,我们需要删除这三个节点/usr/local/hadoop-2.7.1/data路径。

2.7修改hadoop配置文件

vi core-site.xml,该配置文件内容如下:

<configuration>
      <!-- hdfs分布式文件系统名字/地址 -->
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://master:9000</value>
      </property>
      <!--存放namenode、datanode数据的根路径 -->
      <property>
          <name>hadoop.tmp.dir</name>
          <value>/usr/local/hadoop-2.7.1/data</value>
      </property>
  </configuration>

vi hdfs-site.xml,该配置文件内容如下: 

<configuration>
    <!-- 数据块副本数 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!-- secondary namenode 按照规划部署到slave1上 -->
    <property>
        <name>dfs.secondary.http.address</name>
        <value>slave1:50090</value>
    </property>
</configuration>

 vi yarn-site.xml,该配置文件内容如下:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>

 vi mapred-site.xml,该配置文件内容如下:

vi mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

slaves文件里面记录的是集群主机名。一般有以下两种作用:

一是:配合一键启动脚本,如start-dfs.sh、stop-yarn.sh用来进行集群启动,这时候slaves文件里面的主机标记的就是从节点角色所在的机器。

二是:可以配合hdfs-site.xml里面dfs.hosts属性形成一种白名单机制。

dfs.hosts指定一个文件,其中包含允许连接到NameNode的主机列表,必须指定文件的完整路径名,那么所有在slaves中的主机才可以加入的集群中。如果值为空,则允许所有主机。

vi slaves,该配置文件内容如下:

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

2.8将master主机上的hadoop配置文件,同步到其他两个主机上

scp第一个参数*表示当前路径下的所有文件,第二个参数冒号左边表示目标主机,冒号右边表示目标主机的路径。pwd打印出当前路径

整句命令的作用是将当前路径下的所有文件,以root身份,同步到slave1、slave2的pwd输出的路径下

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

2.9时间同步

hadoop集群各个节点之间的时间应该一致,也就是master当前时间如果是2023-01-01 01:01:01,那么slave1和slave2上也应该是这个时间,如果各个节点之间时间不一致/不同步,那么集群就会出现一些错误。ntp(Network Time Protocol,网络时间协议)是一种跟时间设置相关的协议。客户端-服务端架构,ntp.api.bz是一个公开的ntp服务器,执行ntpdate ntp.api.bz命令,可以从这个ntp服务器拉取时间并更新当前机器的时间。在master、slave1、slave2上分别执行该命令,即可完成时间同步,此时三个节点的时间应该是一致的。

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

2.10NameNode格式化

格式化只需格式化一次,以后启动Hadoop集群时,不需要再格式化。

在master上执行格式化命令:hdfs namenode -format

2.11hadoop集群的启动和停止

启动:start-all.sh

停止:stop-all.sh

master启动了四个进程,与规划表对应

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 slave1启动了三个进程,与规划表对应

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 slave2启动了三个进程,与规划表对应

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

2.12查看hdfs的web管理页面

浏览器访问master的50070端口:http://192.168.1241.100:50070

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 可以看到hdfs有三个datanode节点,没有节点可用的磁盘空间是 16.99GB

2.13查看yarn的web管理页面

验证是否部署成功

192.168.241.100:8088/cluster/nodes

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 IP改为本人真实IP,访问该地址,看到该页面,YARN组件部署成功

hadoop部署总结:

互联网的快速发展带来了数据快速增加,海量数据的存储已经不是一台机器所能处理的问题了。Hadoop的技术应运而生,对于伪分布式存储,Hadoop有自己的一套系统Hadoop distribution file system来处理,为什么分布式存储需要一个额外的系统来处理,而不是就把1TB以上的文件分开存放就好了呢,如果不采用新的系统,我们存放的东西没办法进行一个统一的管理。存放在A电脑的东西只能在连接到A去找,存在B的又得单独去B找,繁琐目不便干管理,而这个分布式存储文件系统能把这些文件分开存储的过程透明化,用户看不到文件是怎么存储在不同电脑上,看到的只是一个统一的管理界面。现在的云盘就是很好的给用户这种体验。对于分布式计算,在对海量数据进行处理的时候,一台机器肯定也是不够用的,所以也需要考虑将将数据分在不同的机器上并行的进行计算,这样不仅可以节省大量的硬件的1/0开销,也能够将加快计算的速度。

三、HBase部署

3.1配置文件

打开hbase根目录的cof目录下的hbase-site.xml文件,并添加两个配置项,将hbase数据存放在hdfs

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://20210322072-master:9000/hbase</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/hbase-1.4.8/zk_data</value>
</property>
</configuration>

启动hadoop和hbase

hbase 启动命令: start-hbase.sh

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 执行jps,确认hbase是否部署成功

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 执行hbase shell命令,连接到hbase

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.2创建表

第一个参数是表名,要用单引号括起来;第二个参数及之后的参数,指定列族,并修改版本数的数量为2,即只保留两个版本的数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 查看表

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.3表信息查询 

用desc命令查看表结构,desc的输出中,一个大括号对应一个列族,每个字段对应列族的一个属性

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.4表结构修改

 用alter命令添加新的列族

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 查看是否添加成功

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 将add_new_columns列族的版本数改为3

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 删除add_new_columns列族

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.5 删除表

先disable,再使用drop命令删除表并查看

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.6 数据插入

用put插入一条记录,get命令可以查看指定表的某个row key的所有列的单元格最新版本的值

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.7数据更新

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.8数据删除

删除某个cell最新的数据,用delete删除指定表的指定cell的最新的值,但版本1的数据还在

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 再delete一次,版本1的数据也没了

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

删除指定row key的某个列族的数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 删除指定row key的所有数据 

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.9数据查询

根据row key获取一行数据

清空表数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 插入几条记录,用get命令查看指定表的指定row key的数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 查看表的所有数据

用scan命令可以扫描出指定表的所有数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

指定条件来查询数据

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 查询出在[STARTROW,ENDROW]范围内的row key,且显示一行

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

 查看表的行数

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

3.10使用过滤器查询

Hbase利用过滤器查询时会进行全表扫描(例如表里有1亿行,如果直接用过滤器查询,那么就会遍历这1亿行,一条一条来匹配满足条件的数据),查询效率低下,所以所用过滤器查询时,查询的数据量要小,也就是先用STARTROW、ENDROW来缩小范围(范围查不用全表扫描,相对快很多),然后再用过滤器过滤满足条件的数据。即scan+filter。

过滤器一般需配合比较运算符或比较器共同使用。

搭建hadoop集群的三种方式,hadoop,hdfs,大数据

hbase部署总结:

部署比较简单的,唯一注意的就是hbase-site.xml中的hadoop节点配置,一定要是当前的active节点。文章来源地址https://www.toymoban.com/news/detail-720794.html

到了这里,关于【Hadoop】创建Hadoop集群(3个节点)—— 安装部署一个3个节点构成的hbase集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【生产级实践】Docker部署配置Hadoop3.x + HBase2.x实现真正分布式集群环境

    网上找了很多资料,但能够实现Docker安装Hadoop3.X和Hbase2.X真正分布式集群的教程很零散,坑很多, 把经验做了整理, 避免趟坑。 1、机器环境 这里采用三台机器来部署分布式集群环境: 192.168.1.101 hadoop1 (docker管理节点) 192.168.1.102 hadoop2 192.168.1.103 hadoop3 2、下载Docker Hadoop的

    2024年02月02日
    浏览(33)
  • 【hadoop】hbase的安装部署以及相关操作(图文详解)

    ​ HBase是一种基于列存储的分布式数据库系统,它能够快速地存储和处理大规模数据。与传统的关系型数据库不同,HBase采用了分布式的架构,能够实现数据的高可靠性、高可扩展性和高性能。在实际应用中,正确地安装和部署HBase集群是非常重要的。 在安装hbase之前,需要虚

    2024年02月04日
    浏览(29)
  • Hadoop环境下HBase的安装部署与操作指南(图文详解)

    本文详细介绍了在Hadoop集群环境下HBase的安装部署步骤及相关操作,包括准备环节、版本兼容性检查、IP及IP映射修改、上传并解压安装包、配置HBASE_HOME等关键步骤,图文结合,为初学者和开发者提供一站式解决方案。

    2024年04月27日
    浏览(32)
  • 基于 HBase & Phoenix 构建实时数仓(1)—— Hadoop HA 安装部署

    目录 一、主机规划 二、环境准备 1. 启动 NTP 时钟同步 2. 修改 hosts 文件 3. 配置所有主机间 ssh 免密 4. 修改用户可打开文件数与进程数(可选) 三、安装 JDK 四、安装部署 Zookeeper 集群 1. 解压、配置环境变量 2. 创建配置文件 3. 创建新的空 ZooKeeper 数据目录和事务日志目录 4

    2024年03月10日
    浏览(37)
  • HBase在大数据集群的安装部署及整合Phoenix

    前提:需要保证三台虚拟机hadoop102-104已经部署好基本配置。未完成的可以参考:https://blog.csdn.net/weixin_73195042/article/details/135886619 上传HBase安装包到/opt/software文件夹内 配置环境变量 在末尾添加 使用 source 让配置的环境变量生效 将环境变量分发到其他虚拟机上,并且也要sour

    2024年04月27日
    浏览(27)
  • Hadoop集群安装部署

    目录 Hadoop集群安装部署 1、集群环境准备 2、建立免密通道 3、集群时间同步 4、jdk1.8安装 5、hadoop安装部署 6、Hadoop配置文件配置 7、格式化操作 8、启动hadoop集群 启动HDFS集群: 启动YARN集群 9、访问HDFS的web页面(端口9870)  10、访问Hadoop的web页面(node1:8088)  11、HDFS一些命令

    2024年02月05日
    浏览(30)
  • 大数据开源框架环境搭建(五)——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日
    浏览(31)
  • hadoop3.3.4集群安装部署

    一、环境准备:3台centos7服务器         修改hosts(所有服务器都需要修改)           修改主机名,cdh1为主机名,根据自己定义         安装远程同步工具rsync,用于服务器间同步配置文件         设置时间同步,如果时间相差过大启动会报ClockOutOfSyncException异常,默认是

    2023年04月08日
    浏览(32)
  • 部署HDFS集群(完全分布式模式、hadoop用户控制集群、hadoop-3.3.4+安装包)

    目录 前置 一、上传解压 (一 )上传 (二)解压 二、修改配置文件 (一)配置workers文件 (二)配置hadoop-env.sh文件 (三)配置core-site.xml文件 (四)配置hdfs-site.xml文件 三、分发到hp2、hp3, 并设置环境变量 (一)准备数据目录    (二)配置环境变量 四、创建数据目录,并

    2024年04月14日
    浏览(46)
  • HBASE集群主节点迁移割接手动操作步骤

    HBASE集群主节点指的是包含zk、nn、HM和rm服务的节点,一般这类服务都是一起复用在同一批节点上,我把这一类节点统称为HBASE集群主节点。 本文中使用了rsync、pssh等工具,这类是开源的,自己可以下载安装。还有一类是我自己写的环境变量,xcgraceful_stopRegionserver是用于优雅的

    2024年02月07日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包