当前位置: 首页 > news >正文

基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建基于Hadoop的全分布式集群---任务9:HBase的安装和部署

任务描述

任务内容为HBase的安装部署与测试。

任务指导

HBase集群需要整个集群所有节点安装的HBase版本保持一致,并且拥有相同的配置

具体配置步骤如下:

1. 解压缩HBase的压缩包

2. 配置HBase的环境变量

3. 修改HBase的配置文件,HBase的配置文件存放在HBase安装目录下的conf中

4. 首先在一台节点对整个HBase集群进行配置,再将此节点的配置发送到集群的其它节点上。

5. 具体需要修改的HBase的配置文件包括 hbase-site.xml、hbase-env.sh、regionservers

任务实现

1、HBase安装

这里已经将压缩包存放在/opt/software目录下,解压命令如下:

[root@master1 ~]# tar -zxvf /opt/software/hbase-2.3.5-bin.tar.gz -C /opt/app/

设置HBase环境变量(master1、slave1、slave2)这里以master1为例:

[root@master1 ~]# vi /etc/profile
export HBASE_HOME=/opt/app/hbase-2.3.5
export PATH=$PATH:$HBASE_HOME/bin

使用【source  /etc/profile】使配置文件生效。

2、配置hbase-env.sh文件

[root@master1 ~]# cd $HBASE_HOME/conf
[root@master1 conf]# vi hbase-env.sh

在文件末尾添加如下配置:

export JAVA_HOME=/opt/app/jdk1.8.0_181
export HBASE_MANAGES_ZK=false

3、配置 hbase-site.xml文件,该文件存放在$HBASE_HOME/conf目录下,配置内容如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements.  See the NOTICE file* distributed with this work for additional information* regarding copyright ownership.  The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License.  You may obtain a copy of the License at**     http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/
-->
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master1:9000/hbase</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master1:2181,slave1:2181,slave2:2181</value>
</property>
</configuration>

4、配置regionservers文件

[root@master1 conf]# vi regionservers
slave1
slave2

5、将Hadoop的配置文件拷贝到HBase的conf目录

[root@master1 ~]# cp $HADOOP_HOME/etc/hadoop/core-site.xml $HBASE_HOME/conf
[root@master1 ~]# cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml $HBASE_HOME/conf

6、将master1的HBase分发至整个集群:

[root@master1 ~]# cd /opt/app
[root@master1 app]# scp -r hbase-2.3.5 slave1:/opt/app/
[root@master1 app]# scp -r hbase-2.3.5 slave2:/opt/app/

7、测试

HBase使用ZooKeeper保存元数据,在启动前需要保证ZooKeeper集群(master1、slave1、slave3)已启动,命令如下:

# zkServer.sh start

#在master1上启动HBase集群

[root@master1 ~]# start-hbase.sh

此时可以通过16010端口产看HBase的Web UI界面,如【http://master1:16010】。

#新建一个名为test的表,使其只包含一个名为data的列,表和列族属性都为默认值

[root@master1 ~]# hbase shell
hbase(main):001:0> create 'test','data'
0 row(s) in 0.4150 seconds

#通过键入help查看帮助命令,运行list查看新建的表是否存在

hbase(main):003:0> list
TABLE
test
1 row(s) in 0.0230 seconds

#在列族data中二个不同的行和列上插入数据,然后列出表内容

hbase(main):004:0> put 'test','row1','data:1','values1'
0 row(s) in 0.1280 seconds
hbase(main):005:0> put 'test','row2','data:2','values2'
0 row(s) in 0.0090 seconds
hbase(main):006:0> scan 'test'
ROW COLUMN+CELL
row1 column=data:1, timestamp=1473585137461, value=values1
row2 column=data:2, timestamp=1473585158072, value=values2
2 row(s) in 0.0200 seconds

#删除刚创建的表test,需要先设为禁用,然后删除,不设置会报错:

hbase(main):008:0> drop 'test'
ERROR: Table test is enabled. Disable it first.
hbase(main):009:0> disable 'test'
0 row(s) in 1.1800 seconds
hbase(main):010:0> drop 'test'
0 row(s) in 0.1570 seconds

#为后续功能创建命名空间

create_namespace 'ns_ct'

#为后续功能创建表

create 'ns_ct:calllog','f1','f2'
http://www.lryc.cn/news/392950.html

相关文章:

  • go语言day09 通道 协程的死锁
  • 黑马的ES课程中的不足
  • STM32 中断编程入门
  • 使用maven搭建一个SpingBoot项目
  • 使用 HTTPS 已成为网站的标配了
  • 前后端分离Nginx
  • 【简单讲解下Tauri】
  • mac上挂载linux目录
  • Linux系统的服务——以Centos7为例
  • Numpy矩阵运算
  • Spring容器Bean之XML配置方式
  • 【Rust入门】生成随机数
  • 普通Java工程如何在代码中引用docker-compose.yml中的environment值
  • 微观特征轮廓尺寸测量:光学3D轮廓仪、共焦显微镜与台阶仪的应用
  • Rust开发环境搭建
  • 图文识别0难度上手~基于飞浆对pdf简易ocr并转txt
  • FFmpeg常用命令手册
  • CTF入门知识点
  • Leetcode 完美数
  • springboot中的定时任务编写
  • 第100+14步 ChatGPT学习:R实现随机森林分类
  • C#面 :ASP.Net Core中有哪些异常处理的方案?
  • 论文辅导 | 基于多尺度分解的LSTM⁃ARIMA锂电池寿命预测
  • 开关阀(4):对于客户技术要求信息的识别
  • Python统计实战:时间序列分析之二阶曲线预测和三阶曲线预测
  • Drools开源业务规则引擎(三)- 事件模型(Event Model)
  • 智慧校园行政办公升级,日程监控不可或缺
  • RedHat运维-Linux SSH基础3-sshd守护进程
  • 医院产科信息化管理系统源码,智慧产科管理系统,涵盖了从孕妇到医院初次建档、历次产检、住院分娩、统计上报到产后42天全部医院服务的信息化管理。
  • Softmax作为分类任务中神经网络输出层的优劣分析