Apache Atlas在CentOS7中的单机编译过程

前期准备

  • 虚拟机:CentOS7版本的Linux 64系统
  • jdk1.8.1_181 (本次安装使用的是最新版8u201版本 下载地址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
  • maven 3.5.4  (下载地址 https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/)
  • git
  • Apache Atlas 1.1.0 (下载地址 http://atlas.apache.org/Downloads.html)

参考链接

此处感谢各位前辈大佬栽树,非常感谢[鞠躬]

编译环境准备

1. 虚拟机联网设置,具体过程见https://blog.csdn.net/qq_38586378/article/details/86996644

2. jdk环境配置

   2.1 解压tar包到指定目录下(这里使用的是/usr/java)

tar -zxvf jdk-8u201-linux-x64.tar.gz

   2.2 配置环境变量 vi /etc/profile

export JAVA_HOME=/usr/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=${JAVA_PATH}:$PATH

    source /etc/profile 使配置生效

    2.3 检查 java -version && javac

3. maven 环境配置

   3.1 同jdk类似,都是先解压然后配置环境变量  一般会把软件等都安装到/usr/local/src目录下

   3.2 配置环境变量

export MAVEN_HOME=/usr/local/src/maven
export MAVEN_PATH=${MAVEN_HOME}/bin
export PATH=${MAVEN_PATH}:$PATH

 

   3.3 检查 mvn -v

4. 安装git

  4.1 CentOS7版本的Linux系统已经有yum源可以安装git,直接yum install git即可。但是一般来讲安装的git存在版本过老的问题,所以一般会从github官网git项目中下载git源码进行编译后安装得到适合虚拟机使用的版本 

地址https://github.com/git/git/releases

  4.2 压缩包解压 安装编译依赖  一路选择y即可

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

  

   4.3 在解压文件下进行编译 make prefix=/usr/local/git all

   4.4 将git安装到/usr/local/git目录下 make prefix=/usr/local/git install

   4.5 环境配置 vi /etc/profile  && source /etc/profile(或重启虚拟机)

export GIT_PATH=/usr/local/git/bin
export PATH=${GIT_PATH}:$PATH

 

   4.6 检查  git --version

编译过程

基本上流程:源码压缩包解压->编译->打包(生成安装包)->进入atlas bin目录启动atlas->使用atlas

1. 解压 && 编译(选择Apache Atlas中自带的HBase和Solr)注意编译在atlas源码解压后的文件目录下

export MAVEN_OPTS="-Xmx2g -Xms2g" 

mvn clean -DskipTests install

 

-Xmx2g和-Xms2g都是JVM的内存调优,其中前者为heap的最大值,后者为heap的最小值,一般两者值相同,可以防止因为内存收缩/突然增大带来的性能影响。

   如果中途有报错,解决问题后使用mvn install即可(避免clean掉已经编译好的部分)

2. 编译成功  正常不出bug的情况下耗时和电脑网络有关,一般一个小时左右

3. 编译完成后在atlas源码目录下打包

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

注意我使用的是atlas内嵌的hbase和solr,在最后一步需要下载hbase和solr,会很慢甚至有时候下载失败,可以直接自己下载好对应的版本到相应目录了就可以了,这里可以参考http://www.pianshen.com/article/3820166801/

4. 打包成功以后即生成了atlas的安装包,因新版本的性质可以不用解压bin的jar包,直接到源码下distro/target/apache-atlas-1.1.0-bin/apache-atlas-1.1.0目录下直接运行bin/atlas-start.py即可(注意需要设置atlas启动连带hbase和solr启动)

export MANAGE_LOCAL_HBASE=true

export MANAGE_LOCAL_SOLR=true

bin/atlas_start.py

jps检查进程,有hbase的HMaster,atlas的Atlas,还有一个jar进程

5. 检查自带的hbase和solr是否启动成功

分别进入atlas目录下的hbase和solr,对hbase使用hbase shell即可(atlas启动时已经启动了hbase,jps命令下可看到有HMaster进程),对solr查看bin/sorl status即可

6. 定义web ui的atlas用户名和密码以及web路径

  注意此处的admin:admin为用户名:密码,按个人喜好设置即可。master-01为主机名,21000为atlas的端口号

7. 验证web ui,能打开即成功

8. 关闭atlas

bin/atlas_stop.py

关闭后可查看jps,上面的jar、HMaster、Atlas进程消失,网页21000端口打不开即为关闭成功。

错误解决

因为之前自己电脑创建的虚拟机最后都崩了,很多错误没有来得及截图,在这里简单说下,以后有机会补充

1. 如果编译报错与jar包有关,可以试试检查一下jdk的环境配置,CLASSPATH有没有写对

CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${JRE_HOME}/lib:$CLASSPATH

2. 如果编译在一开始报错maven plugin的错误,一般是maven的版本过高或者过低,(绝对的血泪史,过低一般提示很明确国内也有人博客中提到过,过高是查了好久在stackoverflow上看到老外问答,想着死马当活马医试一下没想到最终成功了0v0)

亲测使用3.5.4于apache atlas1.0.0和1.1.0两个版本都支持;另外就是如果有梯子的话最好,下载快而且很稳,如果没有的话maven的setting.xml记得加上阿里云的镜像,加速下载速度 同时记得在里面repository里面加上maven下载缓存复制文件的位置(此处的m2文件夹最好在对应目录下mkdir一下)

<localRepository>${user.home}/repository/maven/m2</localRepository>
<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
</mirror>

3. 到apache atlas repository这块(一共有37个需要编译的东西,这个是其中一个),如果报错,可能是node和npm下不下来,建议搭梯子,具体方法自行百度(后来换了实验室机子就没这个bug了就没在搞下去)

4. 若Solr启动出现下图提示,则使用Solr强制启动的命令:./solr start -c -z localhost:2181 -p 8984 -force

4. 如果编译成功后启动Atlas出现HBase中没有数据库并Solr启动不成功,解决方法参考https://blog.csdn.net/czq850114000/article/details/89518215

5. 如果启动成功Atlas页面create new entity中没有预期实体类,解决方法参考https://community.cloudera.com/t5/Support-Questions/How-to-add-custom-types-to-the-quot-create-new-entity-quot/m-p/200946

6. Atla与Hive集成,参考https://blog.csdn.net/jeffiny/article/details/82841171

7. 如果编译成功后启动Atlas日志文件中显示hbase启动失败(日志如下),则修改hbase的hbase-site.xml,在最后加一条配置即可

<property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
</property>

总结

说真的,搞这个编译就用了我前前后后两个周时间,主要还是自己笔记本的配置太低,虚拟机老卡老死机,然后还有网速也慢,总之硬件环境不行。今晚换了实验室的机子,简直完美,没有bug出现,感动的当场想哭了QAQ。

如果有bug,慢慢排查就是了,另外在这特别感谢放假期间加了一个大佬群,里面有一个Apache Atlas编译问题汇总,真的很全面了,因为也没和作者取得联系,所以也不好直接放文档上来,就只在这放一下群号,有需要的朋友可以加群然后在文件夹里下载,希望对大家有帮助↖(^ω^)↗

发布了41 篇原创文章 · 获赞 9 · 访问量 9781

猜你喜欢

转载自blog.csdn.net/qq_38586378/article/details/87926288