白泽 Byzer-lang 集成 Hive 3.1.2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了白泽 Byzer-lang 集成 Hive 3.1.2相关的知识,希望对你有一定的参考价值。

参考技术A Ubuntu 20.04 单机部署, JDK 8,各应用介绍如下。Hadoop Hive均正常运行。本文介绍 白泽 以 Client 模式部署至 Yarn,并读写 Hive 数据。以 hadoop 账号执行操作。

hive 配置放置到 $SPARK_HOME/conf

配置 HiveMetastore

Spark 3.1.1 默认匹配 Hive 2.3.7; 与我们的环境不符,因而手动配置。

注意: 拷贝 hive 3.1.2 hivemetastore 及其依赖包。

验证 spark 可以访问 hive 表

需要先在 HDFS 创建 Delta 目录

前面已经打通了 Hadoop Spark Hive, 可以启动 Byzer-lang 了。按照以下脚本启动。

执行后,Byzer-lang log 出现以下信息,表示启动成功

然后启动 Notebook, 配置和启动脚本这里不再赘述。登录 Notebook,在 Data Catalog 里看到 Hive 表 zjc_11

https://spark.apache.org/docs/3.1.1/sql-data-sources-hive-tables.html#interacting-with-different-versions-of-hive-metastore

Atlas部署并集成HIVE

文章目录

01、概述

  • Atlas:提供元数据管理和治理的服务
    企业可以对 自己Hadoop生态的数据资产 构建目录,进行分类和治理
  • 主要功能:元数据分类、元数据检索、血缘依赖(表到表、字段到字段)
    官网:https://atlas.apache.org

Atlas架构图(待补充)
atlas服务、图(边、节点、节点注释)、solr、Kafka、HIVE、hook……

02、集群规划、版本、环境变量

  • Atlas自带的HBase、Solr等,本文是集成外部的,预装JDK、Zookeeper、Kafka、HBase、Hive

  • 集群规划
    https://yellow520.blog.csdn.net/article/details/115536550

  • 环境变量
    https://blog.csdn.net/Yellow_python/article/details/112692486

03、Solr集群部署

  • Apache SolrTM是 建立在Apache LuceneTM之上的 开源的企业搜索平台
  • 在此处,Solr的作用是:加快元数据的搜索
  • 下载地址:https://solr.apache.org/

在每个节点创建名为Solr的系统用户

useradd solr
echo solr | passwd --stdin solr

解压、修改户主

tar -zxvf solr-7.7.3.tgz
mv solr-7.7.3 solr
chown -R solr:solr solr
mv solr $B_HOME/solr

修改配置文件

vim $B_HOME/solr/bin/solr.in.sh
ZK_HOST="hadoop102:2181,hadoop103:2181,hadoop104:2181"

分发到每个节点

rsync.py $B_HOME/solr

在每个节点,使用solr用户来启动Solr(前提是ZooKeeper在运行)

sudo -i -u solr $B_HOME/solr/bin/solr start

Web端口为8983,任意节点都可

注意Cloud菜单栏

关闭Solr的命令(每台机执行)

sudo -i -u solr $B_HOME/solr/bin/solr stop

04、安装Atlas服务

下载编译好的Atlas:
https://download.csdn.net/download/Yellow_python/79106345

解压、改名

tar -zxvf apache-atlas-2.1.0-server.tar.gz
mv apache-atlas-2.1.0 $ATLAS_HOME

配置

vim $ATLAS_HOME/conf/atlas-application.properties
#########  Server Properties  #########
atlas.rest.address=http://hadoop102:21000
# If enabled and set to true, this will run setup steps when the server starts
atlas.server.run.setup.on.start=false

#########  Entity Audit Configs  #########
atlas.audit.hbase.zookeeper.quorum=hadoop102:2181,hadoop103:2181,hadoop104:2181

05、配置Atlas存储到外部HBase

修改图的存储地址(Zookeeper地址,HBase集群依赖ZooKeeper)

vim $ATLAS_HOME/conf/atlas-application.properties
atlas.graph.storage.hostname=hadoop102:2181,hadoop103:2181,hadoop104:2181

告诉Atlas,外部HBase配置的路径

vim $ATLAS_HOME/conf/atlas-env.sh
export HBASE_CONF_DIR=$HBASE_HOME/conf

06、Atlas集成Solr

vim $ATLAS_HOME/conf/atlas-application.properties
atlas.graph.index.search.backend=solr
atlas.graph.index.search.solr.mode=cloud
atlas.graph.index.search.solr.zookeeper-url=hadoop102:2181,hadoop103:2181,hadoop104:2181

Solr创建collection(图的 顶点、边、全文)

sudo -i -u solr $B_HOME/solr/bin/solr create  -c vertex_index -d $ATLAS_HOME/conf/solr -shards 3 -replicationFactor 2
sudo -i -u solr $B_HOME/solr/bin/solr create -c edge_index -d $ATLAS_HOME/conf/solr -shards 3 -replicationFactor 2
sudo -i -u solr $B_HOME/solr/bin/solr create -c fulltext_index -d $ATLAS_HOME/conf/solr -shards 3 -replicationFactor 2

创建后

07、Atlas集成Kafka

vim $ATLAS_HOME/conf/atlas-application.properties

atlas.kafka.data=Kafka数据存放位置

atlas.notification.embedded=false
atlas.kafka.data=/opt/module/kafka/data
atlas.kafka.zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
atlas.kafka.bootstrap.servers=hadoop102:9092,hadoop103:9092,hadoop104:9092

08、Atlas集成Hive

解压hook

tar -zxvf apache-atlas-2.1.0-hive-hook.tar.gz

把hook复制到Atlas安装路径

cp -r apache-atlas-hive-hook-2.1.0/* $ATLAS_HOME/

HIVE环境添加HIVE-hook的jar路径

cd $HIVE_HOME/conf
mv hive-env.sh.template hive-env.sh
vim hive-env.sh
export HIVE_AUX_JARS_PATH=$ATLAS_HOME/hook/hive

HIVE配置添加Hook

vim $HIVE_HOME/conf/hive-site.xml
<property>
    <name>hive.exec.post.hooks</name>
    <value>org.apache.atlas.hive.hook.HiveHook</value>
</property>

加入Atlas的HIVE-Hook配置

vim $ATLAS_HOME/conf/atlas-application.properties
######### HIVE Hook Configs #######
atlas.hook.hive.synchronous=false
atlas.hook.hive.numRetries=3
atlas.hook.hive.queueSize=10000
atlas.cluster.name=primary

将Atlas配置文件atlas-application.properties拷贝到HIVE

cp $ATLAS_HOME/conf/atlas-application.properties  $HIVE_HOME/conf/

09、启动Atlas

$ATLAS_HOME/bin/atlas_start.py

浏览器访问hadoop102:21000
端口:21000
账号:admin
密码:admin

10、Hive元数据初次导入

$ATLAS_HOME/hook-bin/import-hive.sh

输入用户名和密码admin

11、Atlas服务密码修改

Atlas配置里,有个用户凭证

cd $ATLAS_HOME/conf
cat users-credentials.properties

文件原本内容如下

#username=group::sha256-password
admin=ADMIN::a4a88c0872bf652bb9ed803ece5fd6e82354838a9bf59ab4babb1dab322154e1
rangertagsync=RANGER_TAG_SYNC::0afe7a1968b07d4c3ff4ed8c2d809a32ffea706c66cd795ead9048e81cfaf034

admin=ADMIN::后面是SHA256算法加密后的密文

把密码修改为123456的方法如下:

1、生成密文

echo -n 123456 | sha256sum

2、替换ADMIN::后面的密文,可直接在原文件上替换,本文是复制一个新文件

cp users-credentials.properties users-credentials-2.properties
vim users-credentials-2.properties
admin=ADMIN::8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

3、修改atlas-application.properties中的身份验证
(如果密文是直接在users-credentials.properties上替换,则省略此步)

vim $ATLAS_HOME/conf/atlas-application.properties
atlas.authentication.method.file=true
atlas.authentication.method.file.filename=$sys:atlas.home/conf/users-credentials-2.properties

4、重启Atlas

$ATLAS_HOME/bin/atlas_stop.py
$ATLAS_HOME/bin/atlas_start.py

12、附录

en🔉cn
atlasˈætləsn. 地图册;第一颈椎
hookhʊkn. 钩
backend'bæk,ɛndn. 后端
vertexˈvɜːrteksn. 顶点
synchronousˈsɪŋkrənəsadj. 同步的;同时的
embeddedɪmˈbedɪdadj. 嵌入(或插入、埋入)……之中的;v. 使嵌入
SHASecure Hash Algorithm安全散列算法
credentialkrəˈdenʃln. 资格;文凭;v. 给……提供证书

血缘展示样例

以上是关于白泽 Byzer-lang 集成 Hive 3.1.2的主要内容,如果未能解决你的问题,请参考以下文章

HBase与Hive的集成操作

Hive 整合Hbase

HIVE元数据管理(待)

CODEVS——T1332 上白泽慧音 || 洛谷——P1726 上白泽慧音

1332 上白泽慧音

luogu P1726 上白泽慧音