当前位置:   article > 正文

Ambari 编译_ambari编译

ambari编译

image.png

编译 Ambari

下载安装包

软件安装 :

sudo yum install -y wget git psutils python-devel rpm-build java-1.8.0-openjdk-devel
  • 1

搭建 http 服务

sudo yum install -y httpd

sudo systemctl enable httpd

sudo systemctl start httpd
  • 1
  • 2
  • 3
  • 4
  • 5

image.png

  • hadoop-3.1.1.tar.gz
  • hbase-2.0.2.tar.gz
  • grafana-6.7.4.linux-amd64.tar.gz
  • apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz

放到 http 服务的 /var/www/html/compile-ambari目录

sudo mkdir compile-ambari
  • 1

image.png

下载安装包

sudo wget https://repo.huaweicloud.com/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
sudo wget https://repo.huaweicloud.com/apache/hbase/2.0.2/hbase-2.0.2-bin.tar.gz
sudo wget https://dl.grafana.com/oss/release/grafana-6.7.4.linux-amd64.tar.gz
sudo wget https://repo.huaweicloud.com/apache/phoenix/apache-phoenix-5.0.0-HBase-2.0/bin/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz
  • 1
  • 2
  • 3
  • 4

image.png

Maven

下载 Maven3.6.3

wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
  • 1

image.png

解压 Maven

tar -zxvf apache-maven-3.6.3-bin.tar.gz
  • 1

image.png

配置文件

vim settings.xml
  • 1

image.png

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- 存储本地位置 --> 
  <localRepository>/opt/module/maven-3.6.3/apache-maven-3.6.3/repository</localRepository>

  <!--下载仓库 --> 
  <mirrors>

    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>central</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

    <mirror>
      <id>mirror</id>
      <mirrorOf>central,jcenter,!rdc-releases,!rdc-snapshots</mirrorOf>
      <name>mirror</name>
      <url>https://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    
    <!-- 国内华为源 -->
    <mirror>
      <id>huaweicloud</id>
      <mirrorOf>central</mirrorOf>
      <url>https://repo.huaweicloud.com/repository/maven/</url>
    </mirror>
    
    <!-- 中央仓库1 -->
    <mirror>
      <id>repo1</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>https://repo1.maven.org/maven2/</url>
    </mirror>

    <!-- 中央仓库2 -->
    <mirror>
      <id>repo2</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>https://repo2.maven.org/maven2/</url>
    </mirror>
  </mirrors>
  
  <profiles>
    <!-- java版本 --> 
    <profile>
        <id>jdk-1.8</id>
        <activation>
          <activeByDefault>true</activeByDefault>
          <jdk>1.8</jdk>
        </activation>

        <properties>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
          <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        </properties>
    </profile>
  </profiles>

</<settings>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

由于编译相关 jar 包较难下载,所以提供仅用于 ambari 编译的 maven repository,将该 repository 替换放在 repository目录即可

ambari repository :
链接:https://pan.baidu.com/s/1zeK_nsi-E9Gcsnk4eH5PFA?pwd=g9nq
提取码:g9nq

tar -zxvf maven-repository.tar.gz -C /opt/module/maven-3.6.3/apache-maven-3.6.3
  • 1

image.png

mv maven-repository repository
  • 1

配置环境变量

vim /etc/porfile.d/my_env.sh
  • 1
#MAVEN_HOME
export MAVEN_HOME=/opt/module/maven-3.6.3/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
  • 1
  • 2
  • 3
source /etc/profile
  • 1

image.png

下载 Ambari

下载:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/ambari/ambari-2.7.6/apache-ambari-2.7.6-src.tar.gz
  • 1

解压 :

tar zxvf apache-ambari-2.7.6-src.tar.gz
  • 1

image.png

HDP

添加 HDP3.1 配置文件 , 把 .txt 去掉在解压

HDP.zip.txt

把内容复制到 ambari-server\src\main\resources\stacks\HDP

image.png

配置文件

修改主目录下的 pom 文件,新增 hdp 仓库:

image.png

  <repository>
    <releases>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
      <checksumPolicy>warn</checksumPolicy>
    </releases>
  
    <snapshots>
      <enabled>false</enabled>
      <updatePolicy>never</updatePolicy>
      <checksumPolicy>fail</checksumPolicy>
    </snapshots>
  
    <id>HDPReleases</id>
    <name>HDP Releases</name>
    <url>https://repo.hortonworks.com/content/repositories/releases/</url>
    <layout>default</layout>
  </repository>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

image.png

修改 ambari-metrics/pom.xml,将 hbase、hadoop、grafana 的下载地址替换为本地地址:

image.png

  <hbase.tar>http://localhost/compile-ambari/hbase-2.0.2-bin.tar.gz</hbase.tar>
  <hadoop.tar>http://localhost/compile-ambari/hadoop-3.1.1.tar.gz</hadoop.tar>
  <grafana.tar>http://localhost/compile-ambari/grafana-6.7.4.linux-amd64.tar.gz</grafana.tar>
  <phoenix.tar>http://localhost/compile-ambari/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz</phoenix.tar>
  • 1
  • 2
  • 3
  • 4

image.png

编译

/opt/module/ambari-src/apache-ambari-2.7.6-src下编译

mvn -B clean install package rpm:rpm -DnewVersion=2.7.6.0.0 -DskipTests -Drat.skip -Dpython.ver="python >= 2.7" -Preplaceurl
  • 1

image.png

秘密武器

这里一直有问题 , 要使用秘密武器就可以了,我用的 clash , 大家百度使用

.sh 去掉使用 , 运行程序
clash.sh

image.png

把文件放在 /root/.config/clash

.txt 去掉使用

Country.mmdb.txt

image.png

局部秘密武器 :

export proxy="http://127.0.0.1:7890"
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
export no_proxy="localhost, 127.0.0.1, ::1"
  • 1
  • 2
  • 3
  • 4
  • 5

成功 :

image.png

安装 postgresql-server

yum install postgresql-server
  • 1

image.png

rpm -ivh ambari-server-2.7.6.0-0.x86_64.rpm
  • 1

image.png

实时编译 Ambari

总体思路:

  • 对 ambari-admin , ambari-web 模块单独编译(因为二次开发主要是针对这两个模块)
  • 利用 brunch watch 功能,对文件夹源码进行实时监控编译,提高开发效率

ambari-admin 编译

下载包

全局安装 gulp、bower

npm install -g gulp
  • 1

image.png

npm install -g bower
  • 1

image.png

安装bower的依赖包

bower install
  • 1

安装 gulp-webserver

npm install gulp-webserver --save-dev

npm install gulp-load-plugins

npm install gulp-clean
  • 1
  • 2
  • 3
  • 4
  • 5

修改 .bowerrc 配置

修改 /opt/module/ambari-src/apache-ambari-2.7.6-src/ambari-admin/src/main/resources/ui/admin-we/.bowerrc

# 说明:添加一行"allow_root": true 允许以root用户执行bower命令。也可以在执行命令的时候通过参数设定 如:bower install –allow-root 
{
  "directory": "app/bower_components",
  "allow_root": true
}
  • 1
  • 2
  • 3
  • 4
  • 5

image.png

修改 gulpfile.js 文件

// add
var webserver = require('gulp-webserver');
var current = "test";
var config = {
  start_task:{
    test:"webserver",
    build:"build"
  }
};

// add
gulp.task('webserver', function(){
  gulp.src('app').pipe(webserver({
    port: 18080,//端口
    host: 'cpucode102',//域名
    livereload: true,//实时刷新代码。不用f5刷新
    directoryListing: true,
    //fallback:'index.html',
    open:true
  }))
});

//add
gulp.task('xml',function(){
  return gulp.src('app/view.xml')
    .pipe(gulp.dest('dist'))
});

//edit
gulp.task('build', ['html', 'views', 'images', 'fonts', 'extras', 'xml']);

//edit
gulp.task('default', ['clean'], function () {
  gulp.start(config.start_task[current]);
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

image.png

建立软链接

切换到 ambari-server对应 admin 页面的目录下

cd  /var/lib/ambari-server/resources/views/work
  • 1

备份 ADMIN_VIEW{2.7.6.0}

mv ADMIN_VIEW\{2.7.6.0\} ADMIN_VIEW\{2.7.6.0\}.bak
  • 1

image.png

建立软链接

ln -s /opt/module/ambari-src/apache-ambari-2.7.6-src/ambari-admin/src/main/resources/ui/admin-web/dist ADMIN_VIEW\{2.7.6.0\}
  • 1

image.png

复制文件

cp ADMIN_VIEW\{2.7.6.0\}.bak/view.xml ADMIN_VIEW\{2.7.6.0\}/

cp ADMIN_VIEW\{2.7.6.0\}.bak/view.xml /opt/module/ambari-src/apache-ambari-2.7.6-src/ambari-admin/src/main/resources/ui/admin-web/app/
  • 1
  • 2
  • 3

image.png

gulp
  • 1

重启服务

ambari-server restart
  • 1

界面访问: http://ip:port(默认8080) 查看效果

image.png

ambari-web 编译

创建软链接

cd /usr/lib/ambari-server

# 备份web
mv web web.bak

# 创建软链接
ln -s /opt/module/ambari-src/apache-ambari-2.7.6-src/ambari-web/public web
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

image.png

实时监控编译

监控编译

# 编译
brunch build

# 或 实时监控编译
brunch watch
  • 1
  • 2
  • 3
  • 4
  • 5

image.png

重启 ambari-server

ambari-server restart
  • 1

image.png

界面访问: http://ip:port(默认8080) 查看效果

image.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/705859
推荐阅读
相关标签
  

闽ICP备14008679号