Doris源碼編譯(填坑)

因爲doris官方不提供安裝包,須要本身編譯。官網上提供兩種編譯方式,使用docker鏡像編譯和直接下載源碼包進行編譯。下載源碼包編譯會產生各類各樣的環境配置以及依賴下載問題,成功率極低。所以推薦使用docker進行編譯。java

1. 安裝docker

yum -y update
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce-18.06.3.ce
systemctl start docker
systemctl enable  docker

2. 拉取鏡像,啓動容器

  1. 拉取鏡像
docker pull apachedoris/doris-dev:build-env-1.2
  1. 啓動容器,建議同時將鏡像中 maven 的 .m2 目錄掛載到宿主機目錄,以防止每次啓動鏡像編譯時,重複下載 maven 的依賴庫
docker run -it -v /opt/modules/complie-doris/.m2:/root/.m2 -v /opt/modules/complie-doris/incubator-doris-DORIS-0.13.0-release/:/root/incubator-doris-DORIS-0.13.0-release/ apachedoris/doris-dev:build-env-1.2
  1. 下載doris源碼到指定目錄
cd incubator-doris-DORIS-0.13.0-release

wget  http://archive.apache.org/dist/incubator/doris/0.13.0-incubating/apache-doris-0.13.0-incubating-src.tar.gz

# 解壓並進入到解壓包的根目錄
tar  -zxvf  apache-doris-0.13.0-incubating-src.tar.gz    -C ./
cd  apache-doris-0.13.0-incubating-src

3. 編譯

  1. 在fe/pom.xml中有些配置須要修改
<!-- for general repository -->
        <profile>
                <id>general-env</id>
               <activation>
                   <property>
                       <name>!env.CUSTOM_MAVEN_REPO</name>
                   </property>
               </activation>
  
               <repositories>
                   <repository>
                       <id>central</id>
                       <name>central maven repo https</name>
                       <url>https://repo.maven.apache.org/maven2</url>
                   </repository>
                   <!-- for java-cup -->
                   <repository>
                       <id>cloudera-thirdparty</id>
                       <url>https://repository.cloudera.com/content/repositories/third-party/</url>
                       // 將上面兩行配置**改成**下面兩行**
                       <id>cloudera-public</id>
                       <url>https://repository.cloudera.com/artifactory/public/</url>
                   </repository>
                   <!-- for bdb je -->
                   <repository>
                       <id>oracleReleases</id>
                       <url>http://download.oracle.com/maven</url>
                   </repository>
               </repositories>
  
               <pluginRepositories>
                   <!-- for cup-maven-plugin -->
                   <pluginRepository>
                       <id>spring-plugins</id>
                       <url>https://repo.spring.io/plugins-release/</url>
                       // 將上面兩行配置**改成**下面兩行**
                       <id>cloudera-public</id>
                       <url>https://repository.cloudera.com/artifactory/public/</url>
                   </pluginRepository>
               </pluginRepositories>
           </profile>
  1. 配置環境變量,指定maven的JVM內存,不然在編譯過程當中會產生內存溢出。
vim /etc/profile

添加如下內容linux

export MAVEN_OPTS="-Xmx1024m -Xms256m"
  1. 編譯
sh  build.sh

須要通過漫長等待,編譯成功後安裝包在output目錄下。spring

相關文章
相關標籤/搜索