HBase-1.3.1 集群搭建
什么是HBase?
HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。
HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。
它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。
人们可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问。
准备工作
环境
JDK:1.8
Hadoop Release:2.7.4
centos:7.3
node1(master) 主机: 192.168.252.121
node2(salve) 从机: 192.168.252.122
node3(salve) 从机: 192.168.252.123
node4(ZooKeeper) 主机: 192.168.252.124
依赖环境
Scala
Hadoop
安装
下载解压
在 ndoe1 上操作
su hadoop
cd /home/hadoop/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
tar -xzf hbase-1.3.1-bin.tar.gz
环境变量
如果是对所有的用户都生效就修改vi /etc/profile
文件 如果只针对当前用户生效就修改 vi ~/.bahsrc
文件
sudo vi /etc/profile
#Hbase
export PATH=${HBASE_HOME}/bin:$PATH
export HBASE_HOME=/home/hadoop/hbase-1.3.1/
使环境变量生效,运行 source /etc/profile
使/etc/profile
文件生效
配置 HBase
进入HBase配置文件目录
cd /home/hadoop/hbase-1.3.1/conf/
编辑 hadoop-env.sh
文件,找到 JAVA_HOME
改为 JDK 的安装目录
vi hbase-env.sh
export JAVA_HOME=/lib/jvm
export HBASE_MANAGES_ZK=false
其实HBase里面自带了一个ZooKeeper,而这个属性的值就是是否使用这个自带的ZooKeeper,很显然我这里要使用自己的ZooKeeper,所以修改为false。
修改 hbase-site.xml
打开 core-site.xml文件并对其进行编辑,如下图所示。
vi hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node4:2181</value>
</property>
</configuration>
配置集群
修改 regionservers 文件
删除locahost
,添加所有hbase
节点的主机名
[root@node1 conf]# cat regionservers
node2
node3
复制节点
将 hbase-1.3.1 文件夹重打包后复制到其他子节点
cd /home/hadoop/
tar zcvf hbase.tar.gz hbase-1.3.1
scp hbase.tar.gz hadoop@node2:/home/hadoop/
scp hbase.tar.gz hadoop@node3:/home/hadoop/
在其他子节点 解压
tar -zxvf hbase.tar.gz
集群操作
启动 Hbase
关闭防火墙
systemctl stop firewalld.service
确保 Hadoop,ZooKeeper 已经正常启动,执行以下命令
cd /home/hadoop/hbase-1.3.1/bin
./start-hbase.sh
查看进程服务
查看启动进程,缺少以下任一进程都表示出错
node1 (master)
$ jps
2528 NameNode #hadoop master进程
2720 SecondaryNameNode
2872 ResourceManager
3357 HMaster #hbase master进程
3151 JobHistoryServer
node2,node3 (salve)
$ jps
2528 NodeManager
2417 DataNode
2687 HRegionServer #hbase msalve进程
node3 (ZooKeeper)
$ jps
2285 QuorumPeerMain # ZooKeeper进程
查看端口占用情况
netstat -tnlp | grep java
停止 Hbase
cd /home/hadoop/hbase-1.3.1/bin
./stop-hbase.sh
或者 jps 查看进程kill
掉
Contact
- 作者:鹏磊
- 出处:http://www.ymq.io
- Email:admin@souyunku.com
- 版权归作者所有,转载请注明出处
- Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- opencv+python制作硬核七夕礼物
- 身份验证器是如何验证我们的身份?
- 谷歌开源NLP模型可视化工具LIT,模型训练不再「黑箱」
- MongoDB 案例:Document failed validation 错误
- 利用GoogleAppsScript自动回复短信实现保号
- 用php来查询graphql
- 利用树莓派的摄像模块实现“扫码枪”
- n ../../node_modules/@storybook/channels/dist/index.d.ts:25:9 - error TS1086: An accessor cannot ...
- 要不来重新认识Spring事务?三歪又学到了
- 读者问:学完SSM,该学什么呢?
- go-zero 微服务框架介绍
- redis-cli 未找到命令的一个解决方式
- 【每日一题】42. Trapping Rain Water
- iframe跨域安全
- Efficiently traversing InnoDB B+Trees with the page directory (9.利用页目录实现对B+树的高效遍历)