程序员开发实例大全宝库

网站首页 > 编程文章 正文

数据治理atlas环境编译与部署(collibra数据治理)

zazugpt 2024-09-09 10:29:15 编程文章 23 ℃ 0 评论

代码编译(外部hbase+solr方式)


避免踩坑

atlas只有源码,安装包需要自行编译,请在github下载对应源码;官网源码可能有问题
atlas编译对jdk版本有要求,至少jdk1.8 151之上
代码子项目dashboardv3/package.json中node-sass版本一定要根据jdk的版本设置(巨坑)
如果使用内嵌HBase+Solr编译,请提前下载好HBase,Solr
最好使用外部Hbase+Solr编译
  1. 安装文档参考https://atlas.apache.org/#/BuildInstallation
  2. 从github下载atlas代码 atlas-branch-2.0.zip
  3. 编译(windows 10):
set MAVEN_OPTS=-Xms1g -Xmx1g
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_181 
# 这里选择外部HBase+Solr安装 
# mvn clean -DskipTests package -Pdist,embedded-hbase-solr 
mvn clean -DskipTests package -Pdist

编译问题

编译问题1: UI子项目死活编译不过,提示python相关的错

   - pom.xml中注释dashboardv2子项目,使用dashboardv3即可
   - pom.xml中修改node.js版本,为本地安装的node.js版本号(我的是v16.5.0)
   - 设置node.js源为国内taobao源
    ```bash
    npm config set registry https://registry.npm.taobao.org --global
    npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
    ```
    - 修改子项目dashboardv3/package.json中node-sass版本(我的是"node-sass": "^6.0.1")
      - 具体版本如何获得(参考https://blog.csdn.net/baobao_123456789/article/details/116047109)
      - node.js版本信息 https://nodejs.org/zh-cn/download/releases/
      - node-sass对应版本下载 https://github.com/sass/node-sass/releases/tag/v6.0.1

编译问题2: HBase,Solr下载不下来(这是刚开始使用内嵌HBase+Solr遇到的问题)

单独下载HBase,Solr
将下载的安装包放置在 distro/hbase与distro/solr目录下
修改pom.xml文件:注释掉其中 hbase与solr get maven goal步骤

编译好之后启动报错:java.lang.NoClassDefFoundError: org/apache/htrace/core/HTraceConfiguration

这是HBase缺少jar包导致
复制lib/client-facing-thirdparty/htrace-core4-4.2.0-incubating.jar到hbase/lib下即可

安装包获取

distro下apache-atlas-{project.version}-server.tar.gz即为我们需要的安装包

环境部署


HBase安装

下载安装

# 进入安装目录 
cd /export/server 

# 下载完整包 
wget http://archive.apache.org/dist/hbase/2.4.9/hbase-2.4.9-bin.tar.gz 

# 解压 
tar xzvf hbase-2.4.9-bin.tar.gz 
# 创建链接 
ln -s hbase-2.4.9 hbase

配置文件hbase/conf/hbase-site.xml修改

    <property>
      <name>hbase.rootdir</name>
      <value>file:///export/data/hbase/root</value>
    </property>
    <property>
      <name>hbase.tmp.dir</name>
      <value>/export/data/hbase/tmp</value>
    </property>

防火墙端口开放

  firewall-cmd --permanent --zone=public --add-port=16010/tcp
  firewall-cmd --reload
  firewall-cmd --zone=public --list-ports

启动

  # 启动
  bin/start-hbase.sh

  # 停止
  bin/stop-hbase.sh

  # 检查状态
  bin/hbase在交换命令行输入status

访问

http://<ip地址>:16010/master-status

bin/hbase
hbase:002:0> status
1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load
Took 0.7231 seconds                                                                                                                                                               
hbase:003:0> 

HBase自带zookeeper

Solr安装

下载安装

  cd /export/server
  wget https://www.apache.org/dyn/closer.lua/lucene/solr/8.11.2/solr-8.11.2.zip
  unzip solr-8.11.2.zip
  ln -s solr-8.11.2 solr

  # 端口开放
  firewall-cmd --permanent --zone=public --add-port=8984/tcp
  firewall-cmd --reload
  firewall-cmd --zone=public --list-ports

启动

  # 启动 (default port 8983)
  # solr start 
  # -c 使用cloud模式, -z 指定zookeeper地址,-p 指定端口, -force 强制启动
  solr start -c -z localhost:2181 -p 8984  -force

  控制台输出:
  ...
  Started Solr server on port 8984 (pid=17327). Happy searching!

  # 停止
  solr stop -p 8984

  # 查看状态
  solr status

  # 创建实例
  solr create -c "my_solr_db"

访问

http://<ip>:8984/solr

Solr 9+ 需要Java 11+

Kafka安装

下载安装

  cd /export/server
  wget http://archive.apache.org/dist/kafka/2.6.0/kafka_2.12-2.6.0.tgz
  tar xzvf kafka_2.12-2.6.0.tgz
  ln -s kafka_2.12-2.6.0 kafka

配置修改

  #编辑 kafka/config/server.properties
  #broker.id=0 
  #port=9092 #端口号 
  #host.name=localhost #单机可直接用localhost
  #log.dirs= #日志存放路径可修改可不修改
  zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181 

启动

./kafka-server-start.sh -daemon ../config/server.properties

Atlas安装(外部hbase+solr方式)

上传安装

  上传编译好的安装包apache-atlas-2.3.0-SNAPSHOT-server.tar.gz
  cd setup #非root安装
  tar xzvf apache-atlas-2.3.0-SNAPSHOT-server.tar.gz
  cd apache-atlas-2.3.0-SNAPSHOT

配置-集成外部HBase

  # 编辑conf/atlas-application.properties:
  atlas.graph.storage.hostname=localhost:2181 # HBase自带的zookeeper

  # 编辑conf/atlas-env.sh:
  export HBASE_CONF_DIR=/export/server/hbase/conf

配置-集成外部Solr & Solr初始化

  # 编辑conf/atlas-application.properties:
  atlas.graph.index.search.backend=solr 
  atlas.graph.index.search.solr.mode=cloud 
  atlas.graph.index.search.solr.zookeeper-url=localhost:2181

  # 创建solr core
  solr create  -c vertex_index -force
  solr create -c edge_index -force
  solr create -c fulltext_index -force

配置-集成外部Kafka

  # 编辑conf/atlas-application.properties:
  atlas.notification.embedded=false
  atlas.kafka.data=${sys:atlas.home}/data/kafka
  atlas.kafka.zookeeper.connect=localhost:2181
  atlas.kafka.bootstrap.servers=localhost:9026

Atlas端口开放

  firewall-cmd --permanent --zone=public --add-port=21000/tcp
  firewall-cmd --reload
  firewall-cmd --zone=public --list-ports

启动

  # 启动
  bin/atlas_start.py

  # 停止
  bin/atlas_stop.py

访问 http://<ip>:21000/login.jsp 默认用户名/密码: admin/admin

REST API使用


token设置

# 用户名/密码以admin/admin为例
# token设置示例如下代码所示

host=os.environ['ATLAS_HOSTNAME']
port=21000
username='admin'
password='admin'
url=f"http://{host}:{port}/api/atlas/v2/types/typedefs"

token = str(base64.b64encode(bytes(f'{username}:{password}', encoding='utf8')), encoding='utf8')

response = requests.post(url=url, headers={ 'Authorization': f'Basic {token}'}, json=reqbody)

print(response.text)

# 注意: curl小技巧
# curl -u 'admin:123456' http://xxx
# 等同于
# curl -v -H 'Authorization: Basic YWRtaW46MTIzNDU2' http://xxx

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表