Hadoop3.x完全分布式环境搭建Zookeeper和Hbase

集群规划

IP地址主机名集群身份
192.168.138.100hadoop00主节点
192.168.138.101hadoop01从节点
192.168.138.102hadoop02从节点

Hadoop完全分布式环境搭建请移步传送门

先在主节点上进行安装和配置,随后分发到各个从节点上。

1. 安装zookeeper

1.1 解压zookeeper并添加环境变量

1)解压zookeeper到/usr/local文件夹下

tar -zxvf /usr/local

2)进入/usr/local文件夹将apache-zookeeper-3.8.0-bin改名为zookeeper

cd /usr/localmv apache-zookeeper-3.8.0-bin/ zookeeper

3)添加环境变量

vim /etc/profile
# zookeeper环境变量
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

使配置立即生效

source /etc/profile

1.2 进行集群配置

1)创建文件夹

$ZOOKEEPER_HOME/下创建data/zkData

mkdir datamkdir data/zkData

2)进入$ZOOKEEPER_HOME/conf文件夹下

cd $ZOOKEEPER_HOME/conf

复制模版文件

cat zoo_sample.cfg >> zoo.cfg

修改zoo.cfg

…………
dataDir=/usr/local/zookeeper/data/zkData
…………
# 集群配置
server.1=hadoop00:2888:3888
server.2=hadoop01:2888:3888
server.3=hadoop02:2888:3888

3)在$ZOOKEEPER_HOME/data/zkData/目录下创建myid文件

cd $ZOOKEEPER_HOME/data/zkDatatouch myid

myid文件内容为编号,与zoo.cfg中集群配置的编号对应,如果是server.1(即hadoop00)的myid内容为1,依次类推。

echo 1 >> myid
scp /usr/local/zookeeper/ hadoop01:/usr/local/ # 不要忘记改myid
scp /usr/local/zookeeper/ hadoop02:/usr/local/
scp /etc/profile hadoop01:/etc/profile # 不要忘记执行 source /etc/profile 使文件立即生效
scp /etc/profile hadoop02:/etc/profile

4)启动zookeeper

分别在三台虚拟机上启动zookeeper

zkServer.sh start  # 运行
zkServer.sh stop   # 停止
zkServer.sh status # 查看状态,需要启动所有结点的zookeeper才显示enabled

在这里插入图片描述

2. 安装Hbase

2.1 解压Hbase并添加环境变量

1)解压hbase并重命名

tar -zxvf hbase-2.5.3-bin.tar.gz -C /usr/local/
cd /usr/local
mv hbase-2.5.3-bin.tar.gz hbase

2)添加环境变量

vim /etc/profile
…………
# hbase环境变量
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

使修改立即生效:

source /etc/profile

2.2 进行集群配置

1)修改hbase-env.sh文件

进入/usr/local/hbase/conf目录下

cd /usr/local/hbase/conf

修改hbase-env.sh(文件内容前插入)

…………
# JDK路径
export JAVA_HOME=/usr/local/jdk# 设置使用外置的zookeeper
export HBASE_MANAGES_ZK=false

2)修改hbase-site.xml

<configuration><property><name>hbase.master.maxclockskew</name><value>180000</value></property><!-- 指定HDFS实例地址 --><property><name>hbase.rootdir</name><value>hdfs://hadoop00:9000/hbase</value></property><!-- 启用分布式集群 --><property><name>hbase.cluster.distributed</name><value>true</value></property><!-- ZooKeeper配置:设置ZooKeeper集群节点 --><property><name>hbase.zookeeper.quorum</name><value>hadoop00,hadoop01,hadoop02</value></property><!-- ZooKeeper配置:设置ZooKeeper数据目录 --><property><name>hbase.zookeeper.property.dataDir</name><value>/usr/local/zookeeper/data/zkData</value></property><property><name>hbase.tmp.dir</name><value>/usr/local/hbase/tmp</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>

3)复制hadoop的core-site.xmlhdfs-site.xml到hbase的conf目录下:

cp /usr/local/hadoop/etc/hadoop/core-site.xml /usr/local/hbase/conf/
cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml /usr/local/hbase/conf/

4)在/usr/local/hbase/conf/文件夹下的regionservers文件添加集群的所有主机的主机名

vim regionservers
# 将文件内容中删除后添加
hadoop00
hadoop01
hadoop02

5)分发和运行

将hbse和环境变量分发到另外两台从节点:

scp -r /usr/local/hbase/ hadoop01:/usr/local/hbase
scp -r /usr/local/hbase/ hadoop02:/usr/local/hbasescp -r /etc/profile hadoop01:/etc/profile
scp -r /etc/profile hadoop02:/etc/profile

运行hbase

注:hbase启动之前,一定要先启动zookeeper,且集群所有的节点都要启动!!!否则使用不了hbase即使守护进程都存在

检查zookeeper的状态

在主节点上执行:

zkServer.sh status

出现下图为正常:

在这里插入图片描述

start-hbase.sh # 运行
stop-hbase.sh  # 停止

进入hbase shell,查看其状态是否正常。

hbase shell
status	 # 进入shell后执行

如下图则正常:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring 笔记三 Spring与Web环境集成

文章目录 Spring与Web环境集成ApplicationContext应用上下文获取方式导入Spring集成web的坐标置ContextLoaderListener监听器通过工具获得应用上下文对象SpringMVC概述SpringMVC快速入门 Spring与Web环境集成 ApplicationContext应用上下文获取方式 应用上下文对象是通过new …

Java-Ali图片上传实现

0.application.yml文件中编写配置 sky:alioss: endpoint: 地域节点(概览查看)access-key-id: 密钥账号access-key-secret: 密钥密码bucket-name: Bucket名称spring:servlet:multipart:max-request-size: 100MB # 最大请求文件大小,默认10MBmax-file-size: 10MB # 单个请求文件…

RFID射频识别技术在鞋业中的应用

RFID射频识别技术在鞋业中的应用 在鞋业制造、入库、出库、货物运输的时候都会遇到一个大问题&#xff0c;货物的管理和盘点&#xff0c;传统的人工盘点不但费时费力&#xff0c;还会有人为统计出错的情况出现。十分不方便货物的管理&#xff0c;对货物的出入库和运输造成不少…

2021-2023年历年地震数据,shp矢量数据,含时间、位置、类型、震级等信息

基本信息. 数据名称: 历年地震数据 数据格式: Shp 数据时间: 2021-2023年 数据几何类型: 点 数据坐标系: WGS84坐标系 数据来源&#xff1a;网络公开数据 数据字段&#xff1a; 序号字段名称字段说明1dzlx地震类型2zj震级3zysd震源深度&#xff08;米&#xff09;…

MidJourney笔记(7)-Seeds

我相信很多人在使用MidJourney的时候,都会遇到一个问题,就是如何保持生成图像的一致性,或者相对一致性,差异性不是很大。此时,我们就需要引入一个seed值,类似给这个提示词生成的图片做一个id标识。 那这个seed值怎么使用? 其实,在我们每次生成的图片,都有有一个seed值…

2006年全国水土流失防治区数据,shp/excel格式,多字段,包含防治区名称、类型、编码、二级编码等

基本信息. 数据名称: 全国水土流失防治区数据 数据格式: Shp、Excel 数据时间: 2006年 数据几何类型: 面 数据坐标系: WGS84坐标系 数据来源&#xff1a;网络公开数据 数据字段&#xff1a; 序号字段名称字段说明1city_dm城市代码2city城市名称3mc防治区名称4bhlx…

Linux系统中部署minio服务、开启反向代理、二级域名SSL加固

链接: B站1小时-配置指导视频: 一、创建minio 文件目录(/project/minio) 二、下载Minio wget https://dl.min.io/server/minio/release/linux-amd64/minio 三、在minio目录中-创建日志文件 四、对minio(可以理解为windows系统中的.exe可执行文件) 进行授权 chmod 777 min…

保姆级 Keras 实现 YOLO v3 三

保姆级 Keras 实现 YOLO v3 三 一. 分配 anchor box二. 正负样本匹配规则三. 为每一个 anchor box 打标签3.1 anchor box 长什么样?3.2 每一个 anchor box 标签需要填充的信息有哪些?3.3 ( Δ x , Δ y , Δ w , Δ h ) (\Delta x, \Delta y, \Delta w, \Delta h) (Δx,Δy,…

WebDriverException: Message: unknown error: cannot find Chrome binary解决方法

python3-conda 【直接手动运行chromedriver.exe&#xff0c;保证和chrome的版本好一致】 附上&#xff0c;直接代码写死就可以解决报错误问题&#xff1a; from selenium import webdriver from selenium.webdriver.chrome.options import Options options Options() option…

DC-DC变换集成电路B34063——工作电压范围宽,静态电流小

B34063为一单片DC-DC变换集成电路&#xff0c;内含温度补偿的参考电压源(1.25V)、比较器、能有效限制电流及控制工作周期的振荡器,驱动器及大电流输出开关管等&#xff0c;外配少量元件&#xff0c;就能组成升压、降压及电压反转型DC-DC变换器。 主要特点&#xff1a; ● 工作…

【wimdows电脑上管理员账户与管理员身份的区别】

管理员账户 在控制面板的用户账户中&#xff0c;点击更改账户类型&#xff0c;可以看到目前的账户是“管理员账户”还是“标准账户”。 管理员身份 在快捷方式上右击&#xff0c;可以看到&#xff0c;可以选择以管理员身份运行该软件。 如何查看某个应用是否以管理员身份…

OpenHarmony应用开发——更改应用名称和图标

一、前言 相比其他&#xff0c;可能学者更希望学到的就是更改应用名称和图标&#xff0c;当一个自己的程序运行在手机上的时候&#xff0c;或许更有成就感...... 二、详细步骤 首先&#xff0c;我们要先找到声明应用图标和应用名称的地方。如下图所示&#xff0c;在entry ->…

[Unity] 基于迭代器的协程底层原理详解

Unity 是单线程设计的游戏引擎, 所有对于 Unity 的调用都应该在主线程执行. 倘若我们要实现另外再执行一个任务, 该怎么做呢? 答案就是协程. 协程本质上是基于 C# yield 迭代器的, 使用 yield 语法生成的返回迭代器的方法, 其内部的逻辑执行, 是 “懒” 的, 只有在调用 MoveN…

从任意时间作为起始点读取intel深度相机录制的bag文件

首先介绍两个函数&#xff0c;第一个是seek()。seek()是RealSense SDK中rs2::playback类的一个方法&#xff0c;用于在回放时设置当前时间。 playback.seek(timestamp); 其中&#xff0c;timestamp是希望回放跳转到的时间点&#xff0c;以微秒为单位。以下是一个实例&#xf…

RocketMQ容器化最佳实践

前言 在上一篇文章基于RocketMQ实现分布式事务我们完成基于消息队列实现分布式事务&#xff0c;为了方便后续的开发和环境统一&#xff0c;我们决定将RocketMQ容器化部署到服务器上。所以这篇文章就来演示一下笔者基于docker-compose完成RocketMQ容器化的过程。 本篇文章为了…

【笔试强化】Day 1

文章目录 一、单选1.2.3.4.5.6. &#xff08;写错&#xff09;7. &#xff08;不会&#xff09;8. &#xff08;常错题&#xff09;9.10. &#xff08;写错&#xff09; 二、编程1. 组队竞赛题目&#xff1a;题解&#xff1a;代码&#xff1a; 2. 删除公共字符题目&#xff1a;…

大数据企业如何使用IP代理进行数据抓取

目录 一、引言 二、IP代理概述 三、为什么大数据企业需要使用IP代理 四、使用IP代理进行数据抓取的步骤 1、获取可用的代理IP 2、配置代理IP 3、设置请求头部信息 4、开始数据抓取 5、错误处理和重试 五、IP代理的注意事项 六、总结 一、引言 随着互联网的快速发展…

freeRtos信号量的使用

一.信号量的基本概念 "give"给出资源&#xff0c;计数值加1&#xff1b;"take"获得资源&#xff0c;计数值减1 二.创建信号量 一开始的时候任务1计算&#xff0c;计算完之后信号量里面的计数值增加1&#xff0c;任务2获得信号量&#xff0c;但是任务2里…

Duplicate keys detected: This may cause an update error.【Vue遍历渲染报错的解决】

今天在写项目时&#xff0c;写到一个嵌套评论的遍历时&#xff0c;控制台出现了一个报错信息&#xff0c;但是并不影响页面的渲染&#xff0c;然后一看这个错的原因是 key值重复&#xff0c;那么问题的解决方式就很简单了。&#xff08;vue for循环读取key值时&#xff0c; key…

Nacos配置Mysql数据库

目录 前言1. 配置2. 测试前言 关于Nacos的基本知识可看我之前的文章: Nacos基础版 从入门到精通云服务器 通过docker安装配置Nacos 图文操作以下Nacos的版本为1.1.3 1. 配置 对应的配置文件路径如下: 对应的application.properties为配置文件 需配置端口号 以及 mysql中的…