大数据分析——Apache Doris(七)

216 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第10天,点击查看活动详情

Bison 3.0+

1 查看当前系统的 Bsion 版本 bison -V

2 如果没有,则需要安装 wget ftp.gnu.org/gnu/bison/b… tar -xf bison-3.0.5.tar.xz cd bison-3.0.5 mkdir build cd build ../configure --prefix=/usr/local/bison-3.0.5 make && make install

3 替换为新版本 mv /usr/bin/bison /usr/bin/bison_old ln -s /usr/local/bison-3.0.5/bin/bison /usr/bin/bison

其它

Apache Maven 需要 3.5+ 、Oracle JDK 1.8+ 、Python 2.7+ 这些可自行查找相关资料进行安装。

操作步骤说明
1下载Doris的安装包
 wget https :// mirrors.tuna.tsinghua.edu.cn / apache / incubator / doris / 0 . 13 . 0**-**incubating /  apache-doris-0.13.0.0-incubating-src.tar.gz
2解压缩
 tar -zxf  apache-doris-0.13.0.0-incubating-src.tar.gz
3上传“doris编译修改的配置文件\thirdparty\vars.sh”脚本文件覆盖到“ /export/softwares/ apache-doris-0.13.0.0-incubating-src/thirdparty”目录
  
4为加速 编译可以使用提供的第三方包
 上传“doris直接编译需要下载的第三方包”目录下所有文件上传到“ /export/softwares/ apache-doris-0.13.0.0-incubating-src/thirdparty/src”目录
  
5开始编译
 cd  apache-doris-0.13.0.0-incubating-src****
 # 从 0.13 版本开始,因为协议的不兼容,移除了 mysql-5.7.18 和 lzo-2.10 库#  如果需要访问 mysql 外部表,可以编译时手动添加 WITH_MYSQL=1#  如果需要继续使用 LZO 压缩算法(例如访问早期写入数据时),添加 WITH_LZO=1#  如果编译的机器网速很慢,可以后台执行  #WITH_MYSQL=1 sh build.sh >log.txt 2>&1 &# --clean
 WITH_MYSQL=1 sh build.sh

遇到的问题

js_generator.cc:(.text+0xfc3c): undefined reference to ‘well_known_types_js’

查找 Doris 源码中的 js_embed,一般在三方库的 protobuf 下,直接移除掉,重新编译即可

find ./ -name js_embed mv ./thirdparty/src/protobuf-3.5.1/src/js_embed ./

/lib64/libstdc++.so.6: version ‘GLIBCXX_3.4.21’ not found

问题的原因就是在使用 gcc 编译时,使用本地环境的库 libstdc++.so.6 中的方法时找不到需要的信息,一般是在安装或升级是没有把环境变量的这个库文件升级,解决方法如下:

find / -name "libstdc++.so*" cd /usr/lib64 strings /usr/lib64/libstdc++.so.6 | grep GLIBC

查看 /usr/lib64 目录下的 libstdc 开头的文件 [root@node1 lib64]# ll libstdc* lrwxrwxrwx 1 root root 19 Nov 19 09:07 libstdc++.so.6 -> libstdc++.so.6.0.19 -rwxr-xr-x 1 root root 995840 Sep 30 10:17 libstdc++.so.6.0.19

把高版本的拷贝到 /usr/lib64 下 cp /usr/local/gcc-7.3.0/lib64/libstdc++.so.6.0.24 ./ 创建软连接 rm libstdc++.so.6 ln -s libstdc++.so.6.0.24 libstdc++.so.6