开源大数据集群部署(十九)Hbase部署

作者:櫰木

1 HBASE 安装部署

hbase组件部署主机
HMasterhd1.dtstack.com,hd2.dtstack.com
HRegionServerhd3.dtstack.com,hd2.dtstack.com,hd1.dtstack.com

2 创建hbase Kerberos主体

在每台机器上进行生成

bash /data/kerberos/getkeytabs.sh /etc/security/keytab/hbase.keytab hbase
bash /data/kerberos/getkeytabs.sh /etc/security/keytab/hbase.keytab HTTP

3 安装

在hd1.dtstack.com主机root权限下执行

  • 解压安装包
[root@hd1.dtstack.com software]# pwd
[root@hd1.dtstack.com software]#tar -zvxf hbase-2.1.0-bin.tar.gz
  • 设置环境变量
[root@hd3.dtstack.com software]# cat  >>/etc/profile<<EOF
export HBASE_HOME=/opt/hbase
export HBASE_CONF_DIR=/opt/hbase/conf
EOF
[root@hd3.dtstack.com software]# source /etc/profile
  • 修改配置文件

注意,在hadoop开启kerberos情况下,需要在core-site.xml添加以下参数

cat /opt/hadoop/etc/hadoop/core-site.xml<property><name>hadoop.rpc.protection</name><value>authentication,privacy</value>
</property>
在hdfs-site.xml中修改和添加以下参数
cat /opt/hadoop/etc/hadoop/core-site.xml<property><name>dfs.data.transfer.protection</name><value>authentication,privacy</value></property><property><name>dfs.encrypt.data.transfer.cipher.suites</name><value>AES/CTR/NoPadding</value></property>

如果你的Hadoop已经有HA,或者你已经有一个独立的ZooKeeper集群,那么你就需要在hbase-env.sh中把HBase自带的ZooKeeper关掉以防止端口冲突

[root@hd1.dtstack.com conf]# cat >hbase-env.sh<<EOF
HBASE_ROOT_LOGGER=INFO,DRFA
export JAVA_HOME=/opt/java
export HBASE_MANAGES_ZK=false
#export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export HBASE_OPTS="$HBASE_OPTS -Djava.security.auth.login.config=/opt/hbase/conf/zk-jaas-client.conf -Dzookeeper.sasl.client=true -Dzookeeper.sasl.client.username=zookeeper -Dzookeeper.sasl.clientconfig=Client"
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -Djava.security.auth.login.config=/opt/hbase/conf/zk-jaas.conf  -Djavax.security.auth.useSubjectCredsOnly=false -javaagent:/opt/prometheus/jmx_prometheus_javaagent-0.3.1.jar=9530:/opt/prometheus/hbase_master.yml"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Djava.security.auth.login.config=/opt/hbase/conf/zk-jaas.conf  -Djavax.security.auth.useSubjectCredsOnly=false -javaagent:/opt/prometheus/jmx_prometheus_javaagent-0.12.0.jar=9531:/opt/prometheus/hbase_regionserver.yml"
EOF
cat >zk-jaas-client.conf<<EOF
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=false
useTicketCache=true;
};
EOF
cat >zk-jaas.conf<<EOF
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
keyTab="/etc/security/keytab/hbase.keytab"
principal="hbase/hd1.dtstack.com@DTSTACK.COM";
};
com.sun.security.jgss.krb5.initiate {
com.sun.security.auth.module.Krb5LoginModule required
renewTGT=false
doNotPrompt=true
useKeyTab=true
storeKey=true
useTicketCache=false
keyTab="/etc/security/keytab/hbase.keytab"
principal ="hbase/hd1.dtstack.com@DTSTACK.COM";
};
EOF

说明:

  • 启动参数值可根据具体情况调整

修改hbase-site.xml,内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?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><!--The following properties are set for running HBase as a single process on adeveloper workstation. With this configuration, HBase is running in"stand-alone" mode and without a distributed file system. In this mode, andwithout further configuration, HBase and ZooKeeper data are stored on thelocal filesystem, in a path under the value configured for `hbase.tmp.dir`.This value is overridden from its default value of `/tmp` because manysystems clean `/tmp` on a regular basis. Instead, it points to a path withinthis HBase installation directory.Running against the `LocalFileSystem`, as opposed to a distributedfilesystem, runs the risk of data integrity issues and data loss. NormallyHBase will refuse to run in such an environment. Setting`hbase.unsafe.stream.capability.enforce` to `false` overrides this behavior,permitting operation. This configuration is for the developer workstationonly and __should not be used in production!__See also https://hbase.apache.org/book.html#standalone_dist--><property><name>hbase.rootdir</name><value>/hbase/</value></property><!--指定hbase集群为分布式集群--><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property><property><name>hbase.zookeeper.quorum</name><value>hd1.dtstack.com,hd2.dtstack.com,hd3.dtstack.com</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><property><name>zookeeper.znode.parent</name><value>/hbase1</value></property><property><name>hbase.master.info.port</name><value>16010</value></property><property><name>hbase.master.maxclockskew</name><value>150000</value></property><property><name>hbase.rpc.timeout</name><value>300000</value></property><property><name>hbase.master.logcleaner.ttl</name><value>600000</value></property><property><name>hbase.regionserver.handler.count</name><value>25</value></property><property><name>hbase.regionserver.optionalcacheflushinterval</name><value>3600000</value></property><!--Client configurations--><property><name>hbase.client.write.buffer</name><value>2097152</value></property><property><name>hbase.client.pause</name><value>100</value></property><property><name>hbase.client.retries.number</name><value>20</value></property><property><name>hbase.client.keyvalue.maxsize</name><value>10485760</value></property><property><name>hbase.server.keyvalue.maxsize</name><value>10485760</value></property><property><name>hbase.client.perserver.requests.threshold</name><value>2147483647</value></property><!--其他配置--><property><name>hfile.format.version</name><value>3</value></property><property><name>hbase.master.balancer.maxRitPercent</name><value>1</value></property><property><name>hbase.hregion.memstore.flush.size</name><value>134217728</value></property><property><name>hbase.regionserver.offheap.global.memstore.size</name><value>0</value></property><property><name>hbase.hregion.max.filesize</name><value>10737418240</value></property><property><name>hbase.hstore.compactionThreshold</name><value>3</value></property><property><name>hbase.hstore.compaction.kv.max</name><value>10</value></property><property><name>hfile.block.cache.size</name><value>0.4</value></property><property><name>io.storefile.bloom.block.size</name><value>131072</value></property><property><name>hbase.rpc.timeout</name><value>60000</value></property><property><name>hbase.client.operation.timeout</name><value>120000</value></property><property><name>hbase.table.max.rowsize</name><value>1073741824</value></property><!-- 开启kerberos配置  --><!--hbase security--><property><name>hbase.security.authentication</name><value>kerberos</value></property><property><name>hbase.regionserver.kerberos.principal</name><value>hbase/_HOST@DTSTACK.COM</value></property><property><name>hbase.regionserver.keytab.file</name><value>/etc/security/keytab/hbase.keytab</value></property><property><name>hbase.master.kerberos.principal</name><value>hbase/_HOST@DTSTACK.COM</value></property><property><name>hbase.master.keytab.file</name><value>/etc/security/keytab/hbase.keytab</value></property><property><name>hbase.rpc.protection</name><value>authentication</value></property>
</configuration>

注意:

  • zk-jaas.conf因为连接zk配置

  • 添加环境变量

export HBASE_HOME=/opt/hbase
export HBASE_CONF_DIR=/opt/hbase/conf
  • 修改regionserver,添加具体节点
[root@hd1.dtstack.com conf]# cat >regionservers<<EOF
hd3.dtstack.com
hd1.dtstack.com
hd2.dtstack.com
EOF
  • 在conf目录下创建backup-masters
[root@hd1.dtstack.com conf]# cat >backup-masters<<EOF
hd2.dtstack.com
EOF
  • 将配置好的文件发送到其他机器
[root@hd1.dtstack.com software]# scp conf/hbase-site.xml hd2:/opt/hbase/conf/
scp conf/hbase-site.xml hd3:/opt/hbase/conf/
[root@hd1.dtstack.com software]#scp conf/hbase-env.sh hd2:/opt/hbase/conf/
scp conf/hbase-env.sh hd3:/opt/hbase/conf/

4 hbase启动

[hbase@hd1.dtstack.com ~]$ sh start-habse.sh

默认日志路径为$HBASE_HOME/logs
如果启动过程中遇到这个错误
在这里插入图片描述
使用

cd $HBASE_HOME
cp lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar lib/

5 hbase页面

访问地址:http://hd1.dtstack.com:16010/master-status

在这里插入图片描述

6 hbase验证

进行kerberos验证

kinit hbase
在这里插入图片描述

使用hbase shell

cd $HBASE_HOME

./bin/hbase shell

建表

create 'user','base_info'

put数据

put 'user', 'rowkey_10', 'base_info:birthday', '2014-07-10'

scan数据

scan 'user'

在这里插入图片描述
更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

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

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

相关文章

Kaggle注册验证码问题(Captcha must be filled out.)

Kaggle注册验证码问题 Captcha must be filled out.使用Edge浏览器 Header Editor 插件安装 下载插件Header Editor 导入重定向脚本 点击扩展插件&#xff0c; 打开Header Editor插件&#xff0c;进行管理 点击导入输入下载链接进行下载或者导入本地json文件(二者任选其一…

OpenHarmony系统开发之应用接口文件转换工具介绍

简介&#xff1a; 应用接口文件转换工具是根据异构格式接口文件(.h 文件)转换生成 OpenHarmony 系统应用层需要的 TS(type-script)接口文件(*.d.ts)的工具。若某个服务实现方式为 c&#xff0c;且供应用层访问的接口已在.h 文件中定义&#xff0c;此时&#xff0c;NAPI 接口开…

OpenHarmony无人机MAVSDK开源库适配方案分享

MAVSDK 是 PX4 开源团队贡献的基于 MavLink 通信协议的用于无人机应用开发的 SDK&#xff0c;支持多种语言如 C/C、python、Java 等。通常用于无人机间、地面站与通信设备的消息传输。 MAVLink 是一种非常轻量级的消息传递协议&#xff0c;用于与无人机&#xff08;以及机载无…

目标检测评价标准

主要借鉴&#xff1a;https://github.com/rafaelpadilla/Object-Detection-Metrics?tabreadme-ov-file 主要评价指标、术语&#xff1a; Intersection Over Union (IOU)&#xff1a;两个检测框交集面积与并集面积的比值 True Positive (TP)&#xff1a;IOU大于阈值的检测框…

计算机网络——30SDN控制平面

SDN控制平面 SDN架构 数据平面交换机 快速、简单&#xff0c;商业化交换设备采用硬件实现通用转发功能流表被控制器计算和安装基于南向API&#xff0c;SDN控制器访问基于流的交换机 定义了哪些可以被控制哪些不能 也定义了和控制器的协议 SDN控制器&#xff08;网络OS&#…

计算机基础系列 —— 虚拟机代码翻译器(1)

“Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.” ―Linus Torvalds 文中提到的所有实现都可以参考&#xff1a;nand2tetris_sol&#xff0c;但是最好还是自己学习课程实现一…

Spring Cloud GateWay——网关的基本使用

1. 为什么所有的请求先到网关呢&#xff1f; 有了网关就可以对请求进行路由&#xff0c;路由到具体的微服务&#xff0c;减少外界对接微服务的成本&#xff0c;比如&#xff1a;400电话&#xff0c;路由的试可以根据请求路径进行路由、根据host地址进行路由等&#xff0c; 当微…

ios应用内支付

用uniapp开发iOS应用内支付 准备前端代码服务器端处理如果iOS支付遇到问题实在解决不了&#xff0c;可以联系我帮忙解决&#xff0c;前端后端都可以解决&#xff08;添加的时候一定要备注咨询iOS支付问题&#xff09; 准备前端代码 获取支付通道 (uni.getProvider) uni.getPr…

上岸美团了!

Hello&#xff0c;大家好&#xff0c;最近春招正在如火如荼&#xff0c;给大家分享一份美团的面经&#xff0c;作者是一份某双非的硕&#xff08;只如初见668&#xff09;&#xff0c;刚刚通过了美团的3轮面试&#xff0c;已经拿到offer&#xff0c;以下是他的一些分享。 一面&…

module ‘numpy‘ has no attribute ‘int‘

在 NumPy 中&#xff0c;如果遇到了错误提示 "module numpy has no attribute int"&#xff0c;这通常意味着正在尝试以错误的方式使用 NumPy 的整数类型。从 NumPy 1.20 版本开始&#xff0c;numpy.int 已经不再是一个有效的属性&#xff0c;因为 NumPy 不再推荐使用…

mongodb sharding分片模式的集群数据库,日志治理缺失导致写入数据库报错MongoWriteConcernException的问题总结(上)

一、背景 常见的mongodb集群模式有以下三种&#xff1a; 主从复制&#xff08;Master-Slave&#xff09;模式副本集&#xff08;Replica Set&#xff09;模式分片&#xff08;Sharding&#xff09;模式 公司测试环境搭建的集群采用分片模式&#xff0c;有同事反馈说&#xf…

数据结构——链表(双向链表)

大家好&#xff0c;我是小峰&#xff0c;今天给大家讲解的是双向链表&#xff0c;我们先来看看链表的结构。 链表分类 这里带头是哨兵位的头节点 3. 循环与非循环 我们排列一些就可以看出链表的结构种类 这些链表的操作大都差不多 我们今天讲解的是双向带头循环链表 带头双向…