接上篇《构建一个完整的数据仓库(二)如何打造适合公司业务的数据仓库系统》。既然我们要打扰一个数仓,那么我们接下来就来一系列实战的内容。大家如果想学习的话,从本系列第一篇开始看就好。今天来讲讲doris的安装。
一、doris的安装
doris的安装这块需要进行编译,本人编译的doris在阿里云和腾讯云里面都可以使用。但是之前看文章,小米这边的doris提到在他们的服务器里面不能普适,需要另行编译,所以大家在使用的时候要注意下,不能使用现成的,那就直接编辑即可。
1.1、首先我们拉取doris的编译环境
docker pull apache/incubator-doris:build-env-ldb-toolchain-latest
1.2、接着我们运行一下刚才拉取的doris的docker环境。
我们所有的编译都在doris的docker环境里面进行(普通环境的编辑尝试起来比较痛苦,编译的时候会提示缺少各种依赖,然后挨个折腾,非常的麻烦。所以在这里建议使用docker环境编译,放弃掉原生系统编译)
docker run -it -v /root/.m2:/root/.m2 -v /home/pubserver/tools/doris-source/:/root/incubator-doris/ apache/incubator-doris:build-env-ldb-toolchain-latest
运行此命令之后,有个显著的特征,就是我们以前使用的docker 运行起来后就直接告诉我们启动了某个容器,运行上诉命令后,我们就直接进入了docker容器里面了。
1.3、切换jdk环境为1.8
上面我们已经进入了doris的docker环境里面,默认这里是java11,我们日常使用的是java8,因此我们要切换下环境,修改到java8来,所以我们操作一下。
alternatives --set java java-1.8.0-openjdk.x86_64 alternatives --set javac java-1.8.0-openjdk.x86_64 export JAVA_HOME=/usr/lib/jvm/java-1.8.0
1.4、下载源码
cd incubator-doris/ git clone https://github.com/apache/incubator-doris.git
然后我们等着克隆就好了。
出现上图就已经克隆好了。然后我们去目录里面看看源代码
1.5、开始编译
./build.sh
第一次编译涉及到c++的编译和java的编译,耗时大约需要3到4个小时,所以等待的时间比较长,在编译的时候,可以做点其他事情,放松放松。
二、安装
经过上一步的编译之后,我们进到服务器的/home/pubserver/tools/doris-source/incubator-doris/output目录下,可以看到编译后的包,我们安装就要使用这里的包。还有从这里开始,我们的操作就不在docker里面了,是在物理服务器上。
2.1、把包放在统一的文件夹里面
mkdir -p /home/pubserver/doris cp -r apache_hdfs_broker /home/pubserver/doris/ cp -r be /home/pubserver/doris/ cp -r fe /home/pubserver/doris/ cp -r udf /home/pubserver/doris/ cd /home/pubserver/doris/ ls
2.2、打开文件句柄
vi /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536
2.3、关掉swap
swapoff -a 临时关闭
永久关闭的话,需要修改文件及重启,修改内容为:注释掉 /etc/fstab 文件中的 swap配置
2.4、IP段绑定
对应的文件分别是:/home/pubserver/doris/fe/conf/fe.conf 和 /home/pubserver/doris/be/conf/be.conf,把priority_networks的段改成当前服务器的ip段
2.5、配置fe
创建data目录,这里只是演示我们把他放在doris的fe目录下,真实环境是需要放在一块单独挂载的磁盘路径下,本路径是:/home/pubserver/doris/fe/data
mkdir -p /home/pubserver/doris/fe/data
修改/home/pubserver/doris/fe/conf/fe.conf,把JAVA_OPTS=4096的内存改为8G,改完后是:
JAVA_OPTS="-Xmx4096m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:$DORIS_HOME/log/fe.gc.log.$DATE"
然后我们启动一下fe。
./start_fe.sh --daemon
启动完成之后,我们使用jps命令,可以看到一个PaloFe的进程。
如果我们没有看到这个进程,那么就是启动错误了,然后去/home/pubserver/doris/fe/log/fe.log 这个文件里面查看具体的错误信息。
2.6、配置be
be的话我们主要是修改/home/pubserver/doris/be/conf/be.conf里面的storage_root_path,这个path也是一样,如果在生产环境下,建议修改为挂载磁盘的目录路径。
注意:如果是SSD磁盘要在目录后面加上.SSD,HDD磁盘在目录后面加.HDD,例如:storage_root_path=/home/disk1/doris.HDD,50;/home/disk2/doris.SSD,10;/home/disk2/doris。
好了 be的配置暂时就到此为止。先不要启动起来。接着往下。
2.6.1、向master添加node
我们在第一次启动be之前,需要向fe节点添加上be节点的信息。这里我们需要使用到mysql的命令进入到fe。由于doris是兼容mysql协议的,我们一般使用navicat客户端,但是由于是第一次安装部署,这个时候还没有有效的be节点,因此navicat连接不上fe,只能使用mysql客户端去连接be,待添加上be的注册信息,同时be节点启动之后,后续就可以直接使用navicat客户端进行操作了。
执行命令如下:
mysql -h 192.168.31.30 -P 39030 -uroot ALTER SYSTEM ADD BACKEND "192.168.31.30:39050";
然后我们把be启动起来
./start_be.sh --daemon
执行命令:
ps -aux|grep palo_be
出现下图所示,就代表be启动成功了。
到这里我们整个doris单机版本,一个fe,一个be就启动安装完成了。接着我们可以使用navicat进行访问:
navicat里面配置的信息是:
我这里是由于端口冲突,把端口修改成了39030,大家在安装的时候,如果不修改端口,那此端口就是9030。
同时doris还有ui界面,访问地址是:http://192.168.31.30:38030/home,你们在测试的时候,如果没修改端口,那这个http端口是8030。
UI界面和navicat的界面登录账户是:admin或者root,密码为空。
好了总结一下:
1、fe是一套java的程序,主要做nodemanager使用。 2、be是存储节点,非java语言。 3、doris刚完成的安装,登录账户是:admin或者root,密码为空。 4、dorisUI界面也可以直接操作sql,和navicat一样。而且比navicat能看到的信息更多。
最后再补充一下,如果大家不想编译的话,也可以直接去网站下载编译好的包,直接使用即可,下载地址是:官网下载,在官网下载的doris如果运行的话,在服务器上一定要安装jdk11,不要用jdk8,不然要报错,官网的是基于jdk11编译的。
还没有评论,来说两句吧...