因为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. 拉取镜像,启动容器
- 拉取镜像
docker pull apachedoris/doris-dev:build-env-1.2
- 启动容器,建议同时将镜像中 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
- 下载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. 编译
- 在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>
- 配置环境变量,指定maven的JVM内存,不然在编译过程当中会产生内存溢出。
vim /etc/profile
添加如下内容linux
export MAVEN_OPTS="-Xmx1024m -Xms256m"
- 编译
sh build.sh
须要通过漫长等待,编译成功后安装包在output目录下。spring