数据治理(六):编译 Atlas 安装包

【记录】数据治理工具Apache Atlas 编译集成CDH并部署使用 写在前面: 随着大数据业务越来越复杂,有数仓中大量的细分的历史表,各类用户状态表,以及数据集市之后大量的统计表。当业务有所改变,或者埋点规则改变或者修复之前已存在的bug时。一个小小的改动,可能会对指标统计造成很多改变,但是在开发过程中,如果任务过多,时常会有忘记修改此处字段,究竟有多少脚本需要改变的情况。因此在各大论坛寻求解决方案,最终确定了使用Apache Atlas来进行数据治理,为了实现当修改某张表的某个字段时,会对哪些任务造成影响。 一、下载 综合大量相关资料,目前没有特别好的编译好的包。大部分都 阅读详情

编译 Atlas 安装包

一、Atlas2.1.0 源码下载

Atlas 官网没有提供 Atlas 的安装包,需要下载 Atlas 的源码后编译安装,下载 Atlas 源码需要登录 Atlas 官网下载 Atlas:https://atlas.apache.org/#/Downloads,选择2.1.0版本:

二、Atlas 与其他框架依赖

Atlas 内部架构使用到了 kafka 来做元数据注入和消费,使用到了 janus gragh 图数据做数据读写,这个图数据库内部又使用了 HBase 和 Solr 做数据存储和搜索。Kafka 和 HBase 又需要使用 zookeeper。HBase 又依赖于 HDFS。以上这些所有框架在安装 Atlas 时可以使用 Atlas 集成自带的,也可以使用外部安装好的,一般企业开发中,都会选择让 Atlas 使用外部安装好的这些框架,所以打包时需要选择不使用内嵌框架方式。

Atlas 依赖的框架有如下:Zookeeper、HDFS、Hive、HBase、Kafka、Solr,默认集群中已经安装好了除 Solr 之外的框架,此教程使用的版本如下:

由于后期安装的 Atlas 版本是 2.1.0 最新版,Atlas 需要监控 Hive 中的元数据,Atlas2.1.0 版本支持的 Hive 版本最低为 3.1.0,HBase 版本最低是 HBase2 版本之上,Hive3.0+版本之上与 Hadoop3.x+版本以上兼容,HBase2 版本与 Hadoop 版本兼容关系如下图示,所以这里综合考虑选择 Hadoop3.1.4 版本,Hive 选择 3.1.2 版本,HBase 选择 2.2.6 版本。

三、安装 Hadoop3.1.4 版本

  • 安装 Hadoop3.1.4 版本之前首先卸载旧的 Hadoop 版本,卸载步骤如下:

1、停止 HDFS 集群,在 Zookeeper 中删除 HDFS 对应的元数据目录

[root@node3 bin]# zkCli.sh [zk: localhost:2181(CONNECTED) 5] rmr /hadoop-ha[zk: localhost:2181(CONNECTED) 6] rmr /yarn-leader-election

复制代码

2、删除各个节点上的 HDFS 安装包

# node1节点[root@node1 bin]# cd /software/[root@node1 software]# rm -rf ./hadoop-2.9.2/#node2节点[root@node2 bin]# cd /software/[root@node2 software]# rm -rf ./hadoop-2.9.2/#node3节点[root@node3 bin]# cd /software/[root@node3 software]# rm -rf ./hadoop-2.9.2/#node4节点[root@node4 bin]# cd /software/[root@node4 software]# rm -rf ./hadoop-2.9.2/#node5节点[root@node5 bin]# cd /software/[root@node6 software]# rm -rf ./hadoop-2.9.2/

复制代码

3、删除 5 个节点上的/opt/data/目录下除了 zookeeper 外的目录

#此目录是安装Hadoop 时生成的配置目录,重装需要删除rm -rf /opt/data/hadooprm -rf /opt/data/journal

复制代码

4、删除各个节点上 HADOOP_HOME 环境变量

这里也可以不删除,后面重建后,直接修改,然后 Source 即可生效即可。

  • 安装 Hadoop3.1.4 版本步骤如下:

1)节点划分

2)下载 Hadoop3.1.4 版本

下载地址:Apache Hadoop

3)上传下载好的 Hadoop 安装包到 node1 节点上,并解压

[root@node1 software]# tar -zxvf ./hadoop-3.1.4.tar.gz

复制代码

4)在 node1 节点上配置 Hadoop 的环境变量

[root@node1 software]# vim /etc/profileexport HADOOP_HOME=/software/hadoop-3.1.4/export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
#使配置生效source /etc/profile

复制代码

5)配置 $HADOOP_HOME/etc/hadoop 下的 hadoop-env.sh 文件

#导入JAVA_HOMEexport JAVA_HOME=/usr/java/jdk1.8.0_181-amd64/

复制代码

6)配置 $HADOOP_HOME/etc/hadoop 下的 hdfs-site.xml 文件

<configuration>    <property>        <!--这里配置逻辑名称,可以随意写 -->        <name>dfs.nameservices</name>        <value>mycluster</value>    </property>    <property>        <!-- 禁用权限 -->        <name>dfs.permissions.enabled</name>        <value>false</value>    </property>    <property>        <!-- 配置namenode 的名称,多个用逗号分割  -->        <name>dfs.ha.namenodes.mycluster</name>        <value>nn1,nn2</value>    </property>    <property>        <!-- dfs.namenode.rpc-address.[nameservice ID].[name node ID] namenode 所在服务器名称和RPC监听端口号  -->        <name>dfs.namenode.rpc-address.mycluster.nn1</name>        <value>node1:8020</value>    </property>    <property>        <!-- dfs.namenode.rpc-address.[nameservice ID].[name node ID] namenode 所在服务器名称和RPC监听端口号  -->        <name>dfs.namenode.rpc-address.mycluster.nn2</name>        <value>node2:8020</value>    </property>    <property>        <!-- dfs.namenode.http-address.[nameservice ID].[name node ID] namenode 监听的HTTP协议端口 -->        <name>dfs.namenode.http-address.mycluster.nn1</name>        <value>node1:50070</value>    </property>    <property>        <!-- dfs.namenode.http-address.[nameservice ID].[name node ID] namenode 监听的HTTP协议端口 -->        <name>dfs.namenode.http-address.mycluster.nn2</name>        <value>node2:50070</value>    </property>
    <property>        <!-- namenode 共享的编辑目录, journalnode 所在服务器名称和监听的端口 -->        <name>dfs.namenode.shared.edits.dir</name>        <value>qjournal://node3:8485;node4:8485;node5:8485/mycluster</value>    </property>
    <property>        <!-- namenode高可用代理类 -->        <name>dfs.client.failover.proxy.provider.mycluster</name>        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>    </property>
    <property>        <!-- 使用ssh 免密码自动登录 -->        <name>dfs.ha.fencing.methods</name>        <value>sshfence</value>    </property>
    <property>        <name>dfs.ha.fencing.ssh.private-key-files</name>        <value>/root/.ssh/id_rsa</value>    </property>
    <property>        <!-- journalnode 存储数据的地方 -->        <name>dfs.journalnode.edits.dir</name>        <value>/opt/data/journal/node/local/data</value>    </property>
    <property>        <!-- 配置namenode自动切换 -->        <name>dfs.ha.automatic-failover.enabled</name>        <value>true</value>    </property>
</configuration>

复制代码

7)配置 $HADOOP_HOME/ect/hadoop/core-site.xml

<configuration>    <property>        <!-- 为Hadoop 客户端配置默认的高可用路径  -->        <name>fs.defaultFS</name>        <value>hdfs://mycluster</value>    </property>    <property>        <!-- Hadoop 数据存放的路径,namenode,datanode 数据存放路径都依赖本路径,不要使用 file:/ 开头,使用绝对路径即可            namenode 默认存放路径 :file://${hadoop.tmp.dir}/dfs/name            datanode 默认存放路径 :file://${hadoop.tmp.dir}/dfs/data        -->        <name>hadoop.tmp.dir</name>        <value>/opt/data/hadoop/</value>    </property>
    <property>        <!-- 指定zookeeper所在的节点 -->        <name>ha.zookeeper.quorum</name>        <value>node3:2181,node4:2181,node5:2181</value>    </property>
</configuration>

复制代码

8)配置 $HADOOP_HOME/etc/hadoop/yarn-site.xml

<configuration>    <property>        <name>yarn.nodemanager.aux-services</name>        <value>mapreduce_shuffle</value>    </property>    <property>        <name>yarn.nodemanager.env-whitelist</name>        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>    </property>
    <property>        <!-- 配置yarn为高可用 -->        <name>yarn.resourcemanager.ha.enabled</name>        <value>true</value>    </property>    <property>        <!-- 集群的唯一标识 -->        <name>yarn.resourcemanager.cluster-id</name>        <value>mycluster</value>    </property>    <property>        <!--  ResourceManager ID -->        <name>yarn.resourcemanager.ha.rm-ids</name>        <value>rm1,rm2</value>    </property>    <property>        <!-- 指定ResourceManager 所在的节点 -->        <name>yarn.resourcemanager.hostname.rm1</name>        <value>node1</value>    </property>    <property>        <!-- 指定ResourceManager 所在的节点 -->        <name>yarn.resourcemanager.hostname.rm2</name>        <value>node2</value>    </property>    <property>        <!-- 指定ResourceManager Http监听的节点 -->        <name>yarn.resourcemanager.webapp.address.rm1</name>        <value>node1:8088</value>    </property>    <property>        <!-- 指定ResourceManager Http监听的节点 -->        <name>yarn.resourcemanager.webapp.address.rm2</name>        <value>node2:8088</value>    </property>    <property>        <!-- 指定zookeeper所在的节点 -->        <name>yarn.resourcemanager.zk-address</name>        <value>node3:2181,node4:2181,node5:2181</value></property><property>       <!-- 关闭虚拟内存检查 -->    <name>yarn.nodemanager.vmem-check-enabled</name>    <value>false</value></property>    <!-- 启用节点的内容和CPU自动检测,最小内存为1G -->    <!--<property>        <name>yarn.nodemanager.resource.detect-hardware-capabilities</name>        <value>true</value>    </property>--></configuration>

复制代码

9)配置 $HADOOP_HOME/etc/hadoop/mapred-site.xml

<configuration>    <property>        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property></configuration>

复制代码

10)配置 $HADOOP_HOME/etc/hadoop/workers 文件

[root@node1 ~]# vim /software/hadoop-3.1.4/etc/hadoop/workersnode3node4node5

复制代码

11)配置 $HADOOP_HOME/sbin/start-dfs.sh 和 stop-dfs.sh 两个文件中顶部添加以下参数,防止启动错误

HDFS_DATANODE_USER=rootHDFS_DATANODE_SECURE_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_JOURNALNODE_USER=rootHDFS_ZKFC_USER=root

复制代码

12)配置 $HADOOP_HOME/sbin/start-yarn.sh 和 stop-yarn.sh 两个文件顶部添加以下参数,防止启动错误

YARN_RESOURCEMANAGER_USER=rootYARN_NODEMANAGER_USER=root

复制代码

13)将配置好的 Hadoop 安装包发送到其他 4 个节点

[root@node1 ~]# scp -r /software/hadoop-3.1.4 node2:/software/[root@node1 ~]# scp -r /software/hadoop-3.1.4 node3:/software/[root@node1 ~]# scp -r /software/hadoop-3.1.4 node4:/software/[root@node1 ~]# scp -r /software/hadoop-3.1.4 node5:/software/

复制代码

14)在 node2、node3、node4、node5 节点上配置 HADOOP_HOME

#分别在node2、node3、node4、node5节点上配置HADOOP_HOMEvim /etc/profileexport HADOOP_HOME=/software/hadoop-3.1.4/export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
#最后记得Sourcesource /etc/profile

复制代码

15)启动 HDFS 和 Yarn

#在node3,node4,node5节点上启动zookeeperzkServer.sh start
#在node1上格式化zookeeper[root@node1 ~]# hdfs zkfc -formatZK
#在每台journalnode中启动所有的journalnode,这里就是node3,node4,node5节点上启动hdfs --daemon start journalnode
#在node1中格式化namenode[root@node1 ~]# hdfs namenode -format
#在node1中启动namenode,以便同步其他namenode[root@node1 ~]# hdfs --daemon start namenode
#高可用模式配置namenode,使用下列命令来同步namenode(在需要同步的namenode中执行,这里就是在node2上执行):[root@node2 software]# hdfs namenode -bootstrapStandby
#node1上启动HDFS,启动Yarn[root@node1 sbin]# start-dfs.sh[root@node1 sbin]# start-yarn.sh注意以上也可以使用start-all.sh命令启动Hadoop集群。

复制代码

16)访问 WebUI

访问 HDFS : http://node1:50070

访问 Yarn WebUI :http://node1:8088

17)停止集群

#停止集群 [root@node1 ~]# stop-dfs.sh [root@node1 ~]# stop-yarn.sh注意:以上也可以使用 stop-all.sh 停止集群。

复制代码

四、安装 Hive3.1.2 版本

  • 安装 Hive 之前首先卸载旧版本的 Hive1.2.1,卸载步骤如下:

1)删除 node1、node3 节点上的 Hive 安装包

#在node1节点删除Hive安装包[root@node1 ~]# cd /software/[root@node1 software]# rm -rf ./hive-1.2.1/
#在node3节点删除Hive安装包[root@node3 ~]# cd /software/[root@node3 software]# rm -rf ./hive-1.2.1/

复制代码

2)登录 mysql ,删除 Hive 元数据库 hive

[root@node2 ~]# mysql -u root -p123456mysql> drop database hive;

复制代码

3)删除 node1、node3 节点上的 hive 环境变量

这里也可以不删除,后面直接修改即可。

安装 Hive3.1.2 版本步骤如下:

1)节点划分

2)下载 Hive3.1.2 版本

下载地址:Index of /apache/hive/hive-3.1.2

3)将下载好的 Hive 安装包上传到 node1 节点上,并修改名称

[root@node1 ~]# cd /software/[root@node1 software]# tar -zxvf ./apache-hive-3.1.2-bin.tar.gz[root@node1 software]# mv apache-hive-3.1.2-bin hive-3.1.2

复制代码

4)将解压好的 Hive 安装包发送到 node3 节点上

[root@node1 ~]# scp -r /software/hive-3.1.2/ node3:/software/

复制代码

5)配置 node1、node3 两台节点的 Hive 环境变量

vim /etc/profileexport HIVE_HOME=/software/hive-3.1.2/export PATH=$PATH:$HIVE_HOME/bin
#source  生效source /etc/profile

复制代码

6)在 node1 节点 $HIVE_HOME/conf 下创建 hive-site.xml 并配置

<configuration> <property>  <name>hive.metastore.warehouse.dir</name>  <value>/user/hive/warehouse</value> </property> <property>  <name>javax.jdo.option.ConnectionURL</name>  <value>jdbc:mysql://node2:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value> </property> <property>  <name>javax.jdo.option.ConnectionDriverName</name>  <value>com.mysql.jdbc.Driver</value> </property> <property>  <name>javax.jdo.option.ConnectionUserName</name>  <value>root</value> </property> <property>  <name>javax.jdo.option.ConnectionPassword</name>  <value>123456</value> </property></configuration>

复制代码

7)在 node3 节点 $HIVE_HOME/conf/中创建 hive-site.xml 并配置

<configuration> <property>  <name>hive.metastore.warehouse.dir</name>  <value>/user/hive/warehouse</value> </property> <property>  <name>hive.metastore.local</name>  <value>false</value> </property> <property>  <name>hive.metastore.uris</name>  <value>thrift://node1:9083</value> </property></configuration>

复制代码

8)node1、node3 节点删除 $HIVE_HOME/lib 下“guava”包,使用 Hadoop 下的包替换

#删除Hive lib目录下“guava-19.0.jar ”包[root@node1 ~]# rm -rf /software/hive-3.1.2/lib/guava-19.0.jar [root@node3 ~]# rm -rf /software/hive-3.1.2/lib/guava-19.0.jar 
#将Hadoop lib下的“guava”包拷贝到Hive lib目录下[root@node1 ~]# cp /software/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /software/hive-3.1.2/lib/
[root@node3 ~]# cp /software/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /software/hive-3.1.2/lib/

复制代码

9)将“mysql-connector-java-5.1.47.jar”驱动包上传到 node1 节点的 $HIVE_HOME/lib 目录下

上传后,需要将 mysql 驱动包传入 $HIVE_HOME/lib/目录下,这里 node1,node3 节点都需要传入。

10)在 node1 节点中初始化 Hive

#初始化hive,hive2.x版本后都需要初始化[root@node1 ~]# schematool -dbType mysql -initSchema

复制代码

11)在服务端和客户端操作 Hive

#在node1中登录Hive ,创建表test[root@node1 conf]# hivehive> create table test (id int,name string,age int ) row format delimited fields terminated by '\t';
#向表test中插入数据hive> insert into test values(1,"zs",18);
#在node1启动Hive metastore[root@node1 hadoop]# hive --service metastore &
#在node3上登录Hive客户端查看表数据[root@node3 lib]# hivehive> select * from test;OK1  zs  18

复制代码

五、安装 HBase2.2.6 版本

由于后期安装的 Atlas 版本是 2.1.0,需要的 HBase 版本至少是 HBase2 版本之上,所以这里安装 HBase2.2.6,HBase2.x 版本支持的 Hadoop 版本为 2.7.1+以上。

  • 首先卸载旧版本 HBase ,卸载步骤如下:

1)删除 HBase 在 Zookeeper 中的元数据

[root@node5 software]# zkCli.sh[zk: localhost:2181(CONNECTED) 1] rmr /hbase

复制代码

2)在 node3、node4、node5 节点上删除 HBase 安装包

[root@node3 ~]# cd /software/[root@node3 software]# rm -rf ./hbase-1.2.9/[root@node4 ~]# cd /software/[root@node4 software]# rm -rf ./hbase-1.2.9/[root@node5 ~]# cd /software/[root@node6 software]# rm -rf ./hbase-1.2.9/

复制代码

3)删除 node3、node4、node5 节点上的 HBase 环境变量

这里也可以不删除,后面直接修改即可。

  • 重新安装 HBase 步骤如下:

1)下载 HBase 2.2.6

下载地址:https://archive.apache.org/dist/hbase/2.2.6/

2)规划 HBase 集群节点

#将下载好的HBase安装包上传至node4节点/software下,并解压[root@node4 software]# tar -zxvf ./hbase-2.2.6-bin.tar.gz

复制代码

当前节点配置 HBase 环境变量

#配置HBase环境变量[root@node4 software]# vim /etc/profileexport HBASE_HOME=/software/hbase-2.2.6/export PATH=$PATH:$HBASE_HOME/bin
#使环境变量生效[root@node4 software]# source /etc/profile

复制代码

3)配置 $HBASE_HOME/conf/hbase-env.sh

#配置HBase JDKexport JAVA_HOME=/usr/java/jdk1.8.0_181-amd64/
#配置 HBase不使用自带的zookeeperexport HBASE_MANAGES_ZK=false

复制代码

4)配置 $HBASE_HOME/conf/hbase-site.xml

<configuration>  <property>        <name>hbase.rootdir</name>        <value>hdfs://mycluster/hbase</value>  </property>  <property>        <name>hbase.cluster.distributed</name>        <value>true</value>  </property>  <property>        <name>hbase.zookeeper.quorum</name>        <value>node3,node4,node5</value>  </property>  <property>        <name>hbase.unsafe.stream.capability.enforce</name>        <value>false</value>  </property></configuration>

复制代码

5)配置 $HBASE_HOME/conf/regionservers,配置 RegionServer 节点

node3node4node5

复制代码

6)配置 backup-masters 文件

手动创建 $HBASE_HOME/conf/backup-masters 文件,指定备用的 HMaster,需要手动创建文件,这里写入 node5,在 HBase 任意节点都可以启动 HMaster,都可以成为备用 Master ,可以使用命令:hbase-daemon.sh start master 启动。

#创建 $HBASE_HOME/conf/backup-masters 文件,写入node5[root@node4 conf]# vim backup-mastersnode5

复制代码

7)复制 hdfs-site.xml 到 $HBASE_HOME/conf/下

[root@node4 conf]# scp /software/hadoop-3.1.4/etc/hadoop/hdfs-site.xml /software/hbase-2.2.6/conf/

复制代码

8)将 HBase 安装包发送到 node3,node5 节点上,并在 node3,node5 节点上配置 HBase 环境变量

[root@node4 software]# cd /software[root@node4 software]# scp -r ./hbase-2.6.2 node3:/software/[root@node4 software]# scp -r ./hbase-2.6.2 node5:/software/

复制代码

注意:在 node3、node5 上配置 HBase 环境变量。

9)重启 Zookeeper、重启 HDFS 及启动 HBase 集群

#注意:一定要重启Zookeeper,重启HDFS,在node4节点上启动HBase集群[root@node4 software]# start-hbase.sh 
#访问WebUI,http://node4:16010。停止集群:在任意一台节点上stop-hbase.sh

复制代码

六、安装 Solr 5.5.1

Solr 是 Apache 下的一个顶级开源项目,采用 Java 开发,它是基于 Lucene 的全文搜索服务器。Solr 提供了比 Lucene 更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。

Solr 可以独立运行,它可运行在 Jetty(Solr 内置的小服务器,类似于一个小型 Tomcat 服务器)、Tomcat 等这些 Servlet 容器中。Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr 根据 XML 文档添加、删除、更新索引。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回 XML、JSON 等格式的查询结果进行解析,组织页面布局。另外,Solr 不提供构建 UI 的功能,它只提供了一个管理界面,通过管理界面可以查询 Solr 的配置和运行情况。

Solr 下载地址:http://archive.apache.org/dist/lucene/solr/5.5.1/solr-5.5.1.tgz

  • 下载完成后,按照下面步骤进行 Solr 安装:

1)划分节点

这里搭建 Solr 采用分布式方式安装,节点划分如下:

2)将下载好的 Solr 安装包上传至 node3 节点,并解压

[root@node3 software]# tar -zxvf ./solr-5.5.1.tgz 

复制代码

3)配置 Solr bin 目录下 solr.in.sh 文件

编辑 $SOLR_HOME/bin/solr.in.sh 文件,修改以下内容,也可追加写入,ZK_HOST:配置 zookeeper 集群,这里需要使用 zookeeper 来协调 Solr 集群节点。SOLR_HOST:指定当前 SOLR 节点 Host。

ZK_HOST="node3:2181,node4:2181,node5:2181"SOLR_HOST="node3"

复制代码

4)将 Solr 安装包分发到 node4,node5 节点上

#分发到node4,node5节点[root@node3 software]# scp -r ./solr-5.5.1 node4:/software/[root@node3 software]# scp -r ./solr-5.5.1 node5:/software/
#分发完成之后,需要在node4,node5节点$SOLR_HOME/bin/solr.in.sh中修改对应的SOLR_HOST为对应节点。SOLR_HOST="node4"SOLR_HOST="node5"

复制代码

5)每台节点启动 zookeeper

[root@node3 ~]# zkServer.sh start[root@node4 ~]# zkServer.sh start[root@node5 ~]# zkServer.sh start

复制代码

6)在每台节点启动 Solr

#进入每台节点$SOLR_HOME/bin下,启动Solr[root@node3 bin]# ./solr start[root@node4 bin]# ./solr start[root@node5 bin]# ./solr start

复制代码

7)查看 Solr WebUI

访问任意一台节点 http://node3:8983/ 查看 WebUI

七、安装 Maven 3.6.3

由于编译 Atlas 源码需要用到 Maven 进行编译,这里需要安装 Maven,Maven 只需要安装到一台节点即可,在安装 Maven 节点上后期进行编译 Atlas 源码包。Maven 下载地址:http://maven.apache.org/download.cgi 这里下载 Maven 版本为:3.6.3,下载 Maven 完成后,按照以下步骤配置 Maven。

1)上传 Maven 安装包到 node3 节点,并解压

[root@node3 software]# tar -zxvf ./apache-maven-3.6.3-bin.tar.gz

复制代码

2)配置 Maven 环境变量

#打开 /etc/profile在最后追加以下内容[root@node3 software]# vim /etc/profileexport MAVEN_HOME=/software/apache-maven-3.6.3/export PATH=$PATH:$MAVEN_HOME/bin
#配置环境变量生效[root@node3 software]# source /etc/profile

复制代码

3)检查是否安装 Maven 成功

[root@node3 software]# mvn -vApache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)Maven home: /software/apache-maven-3.6.3Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_181-amd64/jreDefault locale: en_US, platform encoding: UTF-8OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

复制代码

4)修改默认下载源为阿里镜像源

为了编译源码下载包更快,可以修改 $MAVEN_HOME/conf/settings.xml 文件,添加阿里镜像源,注意:将以下内容放在“...”之间。此外,maven 下载包默认对应的仓库位置在user.home/.m2/repository目录下,”{user.home}”为当前用户家目录。

<!-- 添加阿里云镜像--><mirror>    <id>nexus-aliyun</id>    <mirrorOf>central</mirrorOf>    <name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror><mirror>    <id>UK</id>    <name>UK Central</name>    <url>http://uk.maven.org/maven2</url>    <mirrorOf>central</mirrorOf></mirror><mirror>    <id>repo1</id>    <mirrorOf>central</mirrorOf>    <name>Human Readable Name for this Mirror.</name>    <url>http://repo1.maven.org/maven2/</url></mirror><mirror>    <id>repo2</id>    <mirrorOf>central</mirrorOf>    <name>Human Readable Name for this Mirror.</name>    <url>http://repo2.maven.org/maven2/</url></mirror>

复制代码

八、编译 Atlas 源码

  • 编译 Atlas 源码步骤如下:

1)将下载好的 Atlas 安装包上传到 node3 节点上,并解压

[root@node3 software]# tar -zxvf ./apache-atlas-2.1.0-sources.tar.gz 

复制代码

2) 修改 Atlas pom.xml 文件

修改文件/software/apache-atlas-sources-2.1.0/pom.xml 中 663 行,将各大数据组件对应的版本改成与自己集群中对应的版本。

<hadoop.version>3.1.4</hadoop.version><hbase.version>2.2.6</hbase.version><solr.version>5.5.1</solr.version><hive.version>3.1.2</hive.version><kafka.version>0.11.0.3</kafka.version><zookeeper.version>3.4.13</zookeeper.version>

复制代码

3)修改 Atlas 源码中 disto 目录下 pom.xml 文件

由于在子工程 distro 中,HBase 和 solr 的下载路径是外网,这里修改替换成清华大学下载网址,速度更快。需要修改“/software/apache-atlas-sources-2.1.0/distro”路径下 pom.xml 的大概 254&258 行。

<hbase.tar>http://mirrors.tuna.tsinghua.edu.cn/apache/hbase/${hbase.version}/hbase-${hbase.version}-bin.tar.gz</hbase.tar><solr.tar>http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/${solr.version}/solr-${solr.version}.tgz</solr.tar>

复制代码

4)编译 Atlas 源码

#进入/software/apache-atlas-sources-2.1.0目录[root@node3 ~]# cd /software/apache-atlas-sources-2.1.0
#将编译器的初始堆内存调大,在把最大堆内存调大,因为文件比较大,用的内存比较多[root@node3 apache-atlas-sources-2.1.0]# export MAVEN_OPTS="-Xms2g -Xmx2g"
#执行以下命令编译[root@node3 apache-atlas-sources-2.1.0]# mvn clean -DskipTests package -Pdist

复制代码

注意:如果想使用内置的 hbase 和 solr 可以执行以下命令进行编译,不过编译过程很痛苦:

mvn clean -DskipTests package -Pdist,embedded-hbase-solr

历经千辛万苦,Atlas 编译完成,此图为证:

注意:以上编译可能会由于网络波动在中途出现编译不通过问题,可以直接重新执行编译命令,同时结合编译错误解决。

5)查看编译好的安装包

进入目录“/software/apache-atlas-sources-2.1.0/distro/target”下,查看编译好的安装包及解压好的包。

6)编译完成之后,可以将 maven 下载的仓库打包保存,方便后期再次编译

[root@node3 ~]# cd ~[root@node3 ~]# tar -czvf mvn_repo.tar.gz ./.m2/ 

复制代码

九、编译错误解决

1)“Cannot dowload ....linux-x64-72_binging.node”

编译过程中遇到以上错误,原因是对应的网站不能访问,被墙掉了,可以根据给出的网址手动单独下载“linux-x64-72_binging.node”,下载完成后上传到“/software”目录下,在环境变量中加入:

export SASS_BINARY_PATH=/software/linux-x64-72_binding.node

复制代码

附件如下:

source 生效后,重新执行编译命令,当编译完成后,需要手动删除此环境变量。

2)“npm install”卡住,不继续进行

这种情况是 npm(和 vue 前端相关管理工具)安装不上,按照以下命令,可以预先安装上 npm,安装完成后,一定重新打开 xshell 页面,进入对应路径继续编译。

[root@node3 ~]# curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -[root@node3 ~]# yum install -y nodejs[root@node3 ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org

复制代码

3)Maven 下载“pentaho-aggdesigner-algorithm-5.1.5-jhyde”包卡住

这个包在阿里云镜像中不存在,只能由外网下载,这里下载太慢导致下载不下来,所以直接找个 Maven 仓库,找到对应的“pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar”上传到 Maven 仓库“/root/.m2/repository/org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde”目录下即可。此 jar 包的附件如下:

数据治理(六):编译Atlas安装包 编译Atlas安装包 一、Atlas2.1.0源码下载 Atlas官网没有提供Atlas的安装包,需要下载Atlas的源码后编译安装,下载Atlas源码需要登录Atlas官网下载Atlas:https://atlas.apache.org/#/Downloads,选择2.1.0版本: 二、Atlas与其他框架依赖 Atlas内部架构使用到了kafka来做元数据注入和消费,使用到了janus gragh图数据做数据读写,这个图数据库内部又使用了HBase和Solr做数据存储和搜索。Kafka和 阅读详情

相关推荐

数据治理(七):Atlas搭建启动

Atlas搭建启动 一、Atlas配置 这里安装Atlas选择单节点安装,一般公司使用单节点即可。安装步骤如下: 1、移动Atlas编译好的安装包 将编译好的Atlas安装包移动到/software下进入“/software/apache-atlas-sources-2.1.0/distro/target/apache-atlas-2.1.0-bin”路径下,将“apache-atlas-2.1.0”移动到“/software”下 [root@node3 ~]# cd /software/a

Lansonli(蓝深李)的博客 2266

atlas的编译全过程

atlas的编译全过程 atlas现在是市场很受欢迎的数据管理工具,但是atlas的下载完是一个源码的项目,无法使用,必须编译(就是由源程序到目标程序的过程内含代码生成,代码集成,语法分析,词法分析,依赖下载),下面就是atlas使用maven在linux的编译过程 1.首先在你的linux机器中要有apache-maven-3.6.3-bin.tar.gz 先把maven安装在机器中,安装的方法...

weixin_45896475的博客 2881

Apache Atlas 2.0.0 数据治理平台快速部署包

在信息技术领域,数据治理逐渐成为企业IT战略的核心部分,旨在确保数据的安全性、合规性、质量和价值。Apache Atlas作为开源数据治理和元数据管理平台,为企业提供了强大的工具来实现这一战略目标。本章将为您提供一个关于Apache Atlas的概览,包括其核心功能和数据治理平台的价值。我们将探讨Apache Atlas如何通过其独特的架构和元数据管理能力,帮助企业打造高效的数据治理环境,实现数据资产的透明化和有序管理。

weixin_42298254的博客 647

Atlas 2.4.0编译

进入 apache-atlas-2.4.0-sources\apache-atlas-sources-2.4.0\distro\target目录查看。3.进行编译:创建 Apache Atlas 包以在具有功能性 Apache HBase 和 Apache Solr 实例的环境中进行部署。进入 distro/target/ 目录下查看。利用IDEA构建项目。2.进入项目文件根目录 进行文件构建。看下下面情况就说明构建好了。看见下面情况,说名打包成功。1.利用IDEA来进行编译。2.上传maven安装包。

weixin_44340038的博客 788

vue-atlas-美丽的Vue组件库。-Vue.js开发

atlas https://vue-atlas.com上的文档和示例安装和使用$ yarn add vue-atlas#或$ npm install vue-atlas用法导入everyt atlas https://vue-atlas.com上的文档和示例安装和使用用法$ yarn add vue-atlas#或$ npm install vue-atlas用法导入所有内容缩小的样式表大约为200kb(压缩后为30kb)。 如果您对此感到担心,请在下面查看如何仅导入较小捆绑包所需的组件。 //无论您的Vue入口点在哪里。 从'vue-atlas'导入Va导入'vue-atlas / dist / vue-atlas.css'Vue.use(Va,'en')//或'es','fr','ru'导入一些规范

apache-atlas-2.1.0.zip

基于Centos7+JDK1.8+Maven3.6编译的Atlas安装包

大数据组件安装步骤,Atlas本地编译以及生产环境部署

hadoop\hbase\hive\kafka\zookeeper\atlas安装,atlas本地编译过程

Do_BUG的博客 1866

Dirsearch的下载、安装和使用(全)

Dirsearch工具的下载、安装和使用,超详细超全面

weixin_68416970的博客 1万+

Atlas源码编译

4.1 Atlas源码编译 4.1.1 安装Maven 1)Maven下载:https://maven.apache.org/download.cgi 2)把apache-maven-3.6.1-bin.tar.gz上传到linux的/opt/software目录下 3)解压apache-maven-3.6.1-bin.tar.gz到/opt/module/目录下面 [root@hadoop102 software]# tar -zxvf apache-maven-3.6.1-bin.tar.gz -C /

qq_44665283的博客 629

JMeter压测Dubbo接口的完整落地方案(适配3.x)

Dubbo作为主流Java微服务RPC框架,其接口压测长期面临协议私有、注册发现复杂、序列化耦合度高等技术门槛。理解Dubbo基于TCP长连接、泛化调用与SPI扩展机制的核心原理,是实现稳定压测的前提;技术价值在于绕过HTTP网关直击服务核心链路,保障大促等关键场景的性能可信度;典型应用场景包括电商订单链路压测、风控/库存等内部Dubbo服务SLA验证,以及CI/CD中性能左移实践。本文聚焦Dubbo 3.x版本,提供零第三方插件、可复用、避坑的JMeter Java Sampler落地路径。

weixin_33700809的博客 549

ArcGIS中根据DEM和地形起伏度进行地貌分类划分

大家好我是GIS蒲公英,数字高程模型(digital elevation model, DEM)经常都被用到专题地图的底图中,下面来我们来交流一下仅选择海拔和地形起伏度两个指标,用DEM来进行地貌类型的自动判别划分

GIS蒲公英的博客 3万+

数据治理平台对比及atlas的安装和介绍

第1节 数据治理平台对比 目前数据治理的平台 开源并且有详细文档的话就三个 Apache Atlas(Hortonworks) Atlas于2015年7月开始在Hortonworks进行孵化。 Atlas 1.0于2018年6月发布。 git地址:https://github.com/apache/atlas 官网:http://atlas.apache.org/ DataHub (LinkedIn) LinkedIn开源出来的,原来叫做WhereHows 。经过一段时间的发展,datahub于2020

huni的博客 6058

1.2 固态变压器:传统工频变压器的局限与SST的技术起源

本小节明确传统工频变压器在电力系统中的基础定位与核心工作特性,系统分析其在新型电力系统场景下的固有技术瓶颈,梳理固态变压器(Solid State Transformer, SST,又称电力电子变压器Power Electronic Transformer, PET)从概念提出到工程化成熟的完整演进路径,为后续SST技术优势、设计需求与规范符合性要求的讲解建立底层逻辑,同时对应GB/T 40429-2021《电力电子变压器通用技术要求》的需求制定背景。

技术工作者 657

数据治理一-Atlas2.1编译踩坑之路

坑爹的东西,花了我2天时间才成功编译!主要一个问题卡的太久 - 。 -。把我的踩坑过程记录一下,希望可以帮助大家,有其他问题可以在评论区留言,我会一一解答。 一、编译环境 contOS7 JDK8 Maven 3.6 部署包:2.1.0https://atlas.apache.org/#/Downloads mvn仓库地址:http://maven.aliyun.com/nexus/content/groups/public 编译环境不一样,问题肯能不一样。 二、安装atlas 1、下..

b379685397的博客 3281

CentOS7下通过YUM源高效部署Zabbix7 Agent指南

本文详细指导在已结束生命周期的CentOS7系统上,通过更换YUM源(如阿里云镜像)并添加Zabbix官方仓库,高效部署Zabbix7 Agent。文章涵盖从源配置、软件安装、关键参数修改到服务启动与防火墙设置的全流程,帮助用户解决依赖错误,快速建立服务器监控。

weixin_29230059的博客 267

RI-CLPM vs CLPM:什么时候该用随机截距交叉滞后模型?

本文深入对比了交叉滞后模型(CLPM)与随机截距交叉滞后模型(RI-CLPM)的核心差异与应用场景。RI-CLPM通过分离个体间稳定特质与个体内动态波动,能更纯净地估计变量间的动态因果关系,避免CLPM可能存在的混淆。文章提供了清晰的模型选择决策框架,并辅以Mplus语法示例,帮助研究者根据变量特质稳定性与研究问题,正确选用模型以确保结论的严谨性。

weixin_29276847的博客 302

Atlas 2.1.0 实践(1)—— 编译Atlas

为什么要做数据治理?业务繁多,数据繁多,业务数据不断迭代。人员流动,文档不全,逻辑不清楚,对于数据很难直观理解,后期很难维护。在大数据研发中,原始数据就有着非常多的数据库,数据表。而经过...

大数据流动 510

【Frida Android】实战篇8:客户端证书认证绕过 Hook 教程

通过重写类的方法,自定义证书校验逻辑;利用配置文件,从系统层面管理证书信任策略;以及通过 OkHttp 框架提供的方法,实现证书的强绑定校验。这些内容主要围绕客户端如何验证服务端证书的合法性展开。客户端证书认证。当 APK 预置了客户端证书,并且服务端会对客户端证书进行校验时,传统的中间人攻击方式将面临新的挑战。我们将深入分析这种场景的工作原理,并详细介绍如何通过技术手段获取客户端证书、配置中间人工具,最终成功实现抓包分析。

水滴石穿 1426

数据治理之元数据管理的利器——Atlas入门实战宝典(万字长文)

来源:浪尖聊大数据随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程。作为Hadoop生态最紧密的元数据管理与发现工具,Atlas在其中扮演着重要的位置。但是其官方文档不是很丰富,也不够详细。所以整理了这份文档供大家学习使用。本文档基于Atlas2.1.0版本,整理自部分官网内容,各种博客及实践过程。文章较长,建议收藏。本文档共分为8个部分,层级结构如下图所示。文档版权为公众号...

大数据星球-浪尖 1148

蓝桥杯 stm32 PWM 测量频率

参考 数据手册:比赛 的板子 上面有两个信号发生器,如下图。通过 扭动 可变电阻 (R40, R39), 来实现 PWM 频率的改变。PA15PB4。PA15,PB4分别使用TIM2_CH1TIM3_CH1来对频率进行捕获。

wuyiyu_的博客 2931

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Atlas 2.1.0 实践之编译Atlas-Hive

Atlas 2.1.0 实践之编译Atlas-Hive 问题前景: Hive 2.2.0以下的低版本存在bug,字段级的血缘数据不能自动生成,需升级hive版本到2.2.0及以上才能正常生成字段级的血缘数据。所以记录一篇编译Atlas-Hive。 问题导读: 1、为什么要做数据治理? 2、如何安装并使用Altas? 3、执行maven编译打包? 4、踩过哪些坑? 为什么要做数据治理?业务繁多,数据繁多,业务数据不断迭代。人员流动,文档不全,逻辑不清楚,对于数据很难直观理解,后期...

格子衫 307

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Atlas数据治理

大数据自学笔记——Atlas数据治理学习笔记

我的笔记 874

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数据治理之元数据管理的利器——Atlas入门宝典

它通常是一个经典的单体前端(可能是一个 Flask 应用程序),连接到主要存储进行查询(通常是 MySQL/Postgres),一个用于提供搜索查询的搜索索引(通常是 Elasticsearch),并且对于这种架构的第 1.5 代,也许一旦达到关系数据库的“递归查询”限制,就使用了处理谱系(通常是 Neo4j)图形查询的图形索引。要在Atlas中存储新类型的元数据,需要了解类型系统组件的概念。作为对人工智能团队的数据支撑,我们听到的最多的质疑是 “正确的数据集”,他们需要正确的数据用于他们的分析。

jane9872的博客 1973

数据治理之元数据管理的利器——Atlas入门宝典(万字长文)

随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程。作为Hadoop生态最紧密的元数据管理与发现工具,Atlas在其中扮演着重要的位置。但是其官方文档不是很丰富,也不够...

大数据星球-浪尖 1645

Apache Atlas 使用说明文档

Apache Atlas 使用说明文档 【下载地址】ApacheAtlas使用说明文档 Apache Atlas是一款强大的元数据管理工具,帮助用户高效管理数据资产。它提供了丰富的功能,包括元数据搜索、分类、术语管理和数据血缘追踪,支持与Hive、Spark等大数据工具的深度整合。通过直观的管理界面和灵活的API,用户可...

gitblog_06738的博客 1246

源码编译打包_Atlas 2.1.0 实践(1)—— 编译Atlas

为什么要做数据治理? 业务繁多,数据繁多,业务数据不断迭代。人员流动,文档不全,逻辑不清楚,对于数据很难直观理解,后期很难维护。 在大数据研发中,原始数据就有着非常多的数据库,数据表。 而经过数据的聚合以后,又会有很多的维度表。如果想要对这些数据做好管理,光用文字、文档等东西是不够的,必须用图。 Atlas就是把元数据变成图的工具。http://atlas.apache.org/ Atlas是一...

weixin_36142226的博客 661
上一篇: 数据治理(四):数据仓库数据质量管理
下一篇: 数据治理(八):Atlas 集成 Hive
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值