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

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

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.hqwc.cn/news/256777.html

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

相关文章

MongoDB的连接数据库,创建、删除数据库,创建、删除集合命令

本文主要介绍MongoDB的连接数据库&#xff0c;创建、删除数据库&#xff0c;创建、删除集合命令。 目录 MongoDB连接数据库连接到本地 MongoDB 实例连接到远程 MongoDB 实例 MongoDB创建和删除数据库MongoDB创建和删除集合创建集合删除集合 MongoDB连接数据库 连接 MongoDB 数…

20231207给NanoPC-T4(RK3399)开发板刷Android12的挖掘机方案的LOG

20231207给NanoPC-T4(RK3399)开发板刷Android12的挖掘机方案的LOG 2023/12/7 23:50 SDK&#xff1a;rk356x_android12_220722.tgz 只修改DTS的DTC部分就【直接】可以跑NanoPC-T4 参考资料&#xff1a; http://www.friendlyelec.com.cn/agent.asp http://www.friendlyelec.com.c…

月报总结|Moonbeam 11月份大事一览

本月Moonbeam也在马不停蹄持续更新&#xff01;随着之前USDC宣布登陆波卡之后&#xff0c;本月也通过XCM来到了Moonbeam&#xff0c;连接区块链世界与传统金融&#xff1b;治理方面&#xff0c;Moonbeam基金会鼓励社区踊跃参与并投票选出新一轮的财政库委员会&#xff0c;为生态…

Java se的语言特征之封装

目录 封装的概念常见的一些包静态成员变量代码块 封装的概念 可以理解为套壳屏蔽细节,将数据和操作数据的方法进行有机的结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互 从语法的层面来理解就是,被private修饰的成员变或者成员方法,只能在当前类中使用,但是可以…

Matlab 用矩阵画图

文章目录 Part.I IntroductionChap.I 预备知识Chap.II 概要Chap.III 杂记 Part.II 用矩阵画图Chap.I 摸索过程Chap.II 绘制专业图Chap.III 矩阵转tiff Part.I Introduction 本文汇总了 Matlab 用矩阵画图的几种方式。 Chap.I 预备知识 关于 *.mat 文件 *.mat文件是 matlab 的…

Appium 并行测试多个设备

一、前置说明 在自动化测试中&#xff0c;经常需要验证多台设备的兼容性&#xff0c;Appium可以用同一套测试运例并行测试多个设备&#xff0c;以达到验证兼容性的目的。 解决思路&#xff1a; 查找已连接的所有设备&#xff1b;为每台设备启动相应的Appium Server&#xff1b…

【React】路由的基础使用

react-router-dom6的基础使用 1、安装依赖 npm i react-router-dom默认安装最新版本的 2、在src/router/index.js import { createBrowserRouter } from "react-router-dom"/* createBrowserRouter&#xff1a;[/home]--h5路由createHashRouter&#xff1a;[/#/ho…

axios调接口传参特殊字符丢失的问题(encodeURI 和 encodeURIComponent)

1、axios调接口特殊字符丢失的问题 项目开发过程中遇到一个接口传参&#xff0c;参数带特殊字符&#xff0c;axios调接口特殊字符丢失的问题 例如接口&#xff1a; get/user/detail/{name} name是个参数直接调接口的时候拼到接口上&#xff0c;get/user/detail/test123#$%&am…

UE Websocket笔记

参考链接 [UE4 C入门到进阶]12.Websocket网络通信 - 哔哩哔哩 包含怎么用Nodejs 写测试服务器 UE4_使用WebSocket和Json&#xff08;上&#xff09; - 知乎 包含Python写测试服务器 UE4_使用WebSocket和Json&#xff08;下&#xff09; - 知乎 示例代码 xxx.Build.cs"W…

一天一个设计模式---原型模式

基本概念 原型模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;其主要目的是通过复制现有对象来创建新对象&#xff0c;而不是通过实例化类。原型模式允许在运行时动态创建对象&#xff0c;同时避免了耦合与子类化。 在原型模式中&#xff0…

canvas绘制矩形和线

实现代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdev…

crmeb本地开发配置代理

crmeb 是一个开源的商城系统&#xff0c; v5 版本是一个前后端分离的项目&#xff0c; 我们从git仓库中下载下来的是一个文件夹&#xff0c;其结构是这样的 我的系统没有使用docker &#xff0c;使用的是 laragon 的系统 所以首先我们要在 nginx 中配置 之后&#xff0c; 我们…