## 首先查看系统内核版本是否满足3.10版本
uname -r
##确保yum源是最新的
yum update -y
## 卸载yum的旧版本
yum remove docker docker-common docker-selinux docker-engine
## yum-util 工具包和 devicemapper 驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
## 设置 yum 源(加速 yum 下载速度)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
## 查看所有仓库中所有 docker 版本,并选择特定版本安装,一般可直接安装最新版
yum list docker-ce --showduplicates | sort -r
##选择最新最稳定的docker版本进行安装
yum install docker-ce -y
## 启动docker
systemctl start docker
## docker开机自启动
systemctl enable docker
##查看是否安装成功
docker version
官网地址
https://doris.apache.org/downloads/downloads.html#apache-doris
我的安装包:
链接:https://pan.baidu.com/s/1oH3b1oTTJjoGejP9cYl1nA?pwd=283g
提取码:283g
–来自百度网盘超级会员V2的分享
把安装包扔到服务器啦
tar -xvf apache-doris-0.15.0-incubating-src.tar.gz -C /usr/local/
## docker拉取对应版本的镜像
docker pull apache/incubator-doris:build-env-for-0.15.0
## 查看镜像是否加载完成
docker images
## 挂载本地目录运行镜像
docker run -it \
-v /usr/local/.m2:/root/.m2 \
-v /usr/local/apache-doris-0.15.0-incubating-src/:/root/apachedoris-0.15.0-incubating-src/ \
apache/incubator-doris:build-env-for-0.15.0
##挂载之后root就是一个符号了
## 但是环境是java11 要切换成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
##测试环境
echo $JAVA_HOME
##把doris-repo.tar.gz扔到服务器解压 换一个root的会话
tar -zxvf doris-repo.tar.gz -C /usr/local/
##可以看见/usr/local/下面有.m2文件夹
cd .m2 ##ls 可以看见repository
##切换docker的会话
cd apachedoris-0.15.0-incubating-src/ #就是在~下
##第一次编译要加--clean,因为有clean可以去掉一些不兼容的组件
[root@32ca727fc912 apache-doris-0.15.0-incubating-src]sh build.sh --clean --be --fe --ui
## 如果编译失败了,就可以把--clean去掉
sh build.sh
编译成功的截图(编译了一个小时三十六分钟之后的成果)
cd output # 会有be fe udf
集群部署
qianfeng01 FE(LEADER) BE BROKER
qianfeng02 FE(FLOLLWER) BE BROKER
qianfeng03 FE(FLOLLWER) BE BROKER
生产环境中FE和BE要分开
##qianfeng01可以退出容器
exit
##把编译之后的三个文件拷贝到自己的文件夹(/usr/local/)
cd /usr/local/apache-doris-0.15.0-incubating-src/output/
cp -r ./* /usr/local/doris
打开文件数(可以使用 ulimit -a查看软硬链接的数量)
下面这个步骤三台机器都要搞
vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
1)创建存放元数据的目录
mkdir -p /usr/local/doris/doris-meta
2)配置文件
cd /usr/local/doris/fe/conf/
vi fe.conf #是修改!
#修改元数据库的目录
meta_dir = /usr/local/doris/doris-meta
#修改绑定 ip
priority_networks = 192.168.10.101/24
注意
生产环境不要把元数据放在安装目录
3)启动
启动之前
cd /usr/local/doris/fe/bin
vi start_fe.sh
##自己要在java这边参数添加JAVA_HOME
export JAVA_HOME=/usr/local/jdk/
不添加无法打印日志,而且会显示JAVA_HOME no set
[root@qianfeng01 fe]# ./bin/start_fe.sh --daemon
[root@qianfeng01 fe]# cd log
[root@qianfeng01 log]# ll
总用量 44
-rw-r--r--. 1 root root 0 6月 25 19:39 fe.audit.log
-rw-r--r--. 1 root root 19347 6月 25 19:39 fe.gc.log.20220625-193907
-rw-r--r--. 1 root root 8305 6月 25 19:39 fe.log
-rw-r--r--. 1 root root 6390 6月 25 19:39 fe.out
-rw-r--r--. 1 root root 666 6月 25 19:39 fe.warn.log
4)启动之后的查看
方式一
[root@qianfeng01 log]# jps -l
107056 org.apache.doris.PaloFe
109338 sun.tools.jps.Jps
12126 org.apache.zookeeper.server.quorum.QuorumPeerMain
[root@qianfeng01 log]#
方式二
[root@qianfeng01 log]# ps -ef|grep fe
root 66 2 0 14:37 ? 00:00:00 [deferwq]
root 107056 1 3 19:39 pts/0 00:00:13 /usr/local/jdk//bin/java -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:/usr/local/doris/fe/log/fe.gc.log.20220625-193907 org.apache.doris.PaloFe
root 109681 8743 0 19:46 pts/0 00:00:00 grep --color=auto fe
方式三
http://qianfeng01:8030
账号:root
密码:
1)分发qianfeng01中的be到其他两台机器上
scp -r /usr/local/doris/be qianfeng02:/usr/local/doris
scp -r /usr/local/doris/be qianfeng03:/usr/local/doris
2)创建 BE 数据存放目录(就是每台机器都要创建这两个目录)
mkdir -p /usr/local/doris/doris-storage1
mkdir -p /usr/local/doris/doris-storage2
3)修改配置(qianfeng01,qianfeng02,qianfeng03) 他们就是配置文件的网络地址不一样
qianfeng01
vim /usr/local/doris/be/conf/be.conf
#配置文件中指定数据存放路径:
storage_root_path = /usr/local/doris/doris-storage1;/usr/local/doris/doris-storage2
#修改绑定 ip(每台机器修改成自己的 ip)
priority_networks = 192.168.10.101/24
qianfeng02
vim /usr/local/be/conf/be.conf
#配置文件中指定数据存放路径:
storage_root_path = /usr/local/doris/doris-storage1;/usr/local/doris/doris-storage2
#修改绑定 ip(每台机器修改成自己的 ip)
priority_networks = 192.168.10.102/24
qianfeng03
vim /usr/local/be/conf/be.conf
#配置文件中指定数据存放路径:
storage_root_path = /usr/local/doris/doris-storage1;/usr/local/doris/doris-storage2
#修改绑定 ip(每台机器修改成自己的 ip)
priority_networks = 192.168.10.103/24
4)在FE中添加所有BE节点
qianfeng01
#启动fe
cd /usr/local/doris/fe/bin/
start_all.sh --daemon
[root@qianfeng01 fe]# jps
4341 PaloFe
4527 Jps
创建目录
mkdir -p /usr/local/mysql-client/
上传rpm包到qianfeng02(一个没有装mysql的机器上)/usr/local/mysql-client/
链接:https://pan.baidu.com/s/1lxsQGsANTIW3zBTU8VTJ3w?pwd=zftc
提取码:zftc
–来自百度网盘超级会员V2的分享
把上面的三个安装包放到/usr/local/mysql-client/下面
1)mysqlclient的安装(qianfeng02上演示)
#检查系统有没有mysql
rpm -qa|grep mariadb
#存在就卸载
rpm -e --nodeps XXX
#安装
rpm -ivh /usr/local/mysql-client/*
2)使用MysqlClient连接FE
mysql -h qianfeng01 -P 9030
注意:我是上面这个指令才进入mysql,其他人是加了-uroot
正常的指令应该是 `mysql -h qianfeng01 -P 9030 -uroot`,但是我的会报错
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.01 sec)
mysql>SET PASSWORD FOR 'root' = PASSWORD('1234');
##如果退出来了
mysql -h qianfeng01 -P 9030 -p'1234'
mysql>ALTER SYSTEM ADD BACKEND "qianfeng01:9050";
mysql>ALTER SYSTEM ADD BACKEND "qianfeng02:9050";
mysql>ALTER SYSTEM ADD BACKEND "qianfeng03:9050";
#查看
mysql> SHOW PROC '/backends';
#有拒绝连接很正常记得看每个机器的第一排,如果fe和be都启动了是没有0和null的
#就是要开启fe和be,然后再通过mysql的client去查看SHOW PROC '/backends';
如果没有0就是成功的
5)编译broker(下次更,网速慢到编译卡了)
在qianfeng01这台机器上
docker run -it \
-v /usr/local/.m2:/root/.m2 \
-v /usr/local/apache-doris-0.15.0-incubating-src/:/root/apachedoris-0.15.0-incubating-src/ \
apache/incubator-doris:build-env-for-0.15.0
[root@2b3115e2d5d7 ~]# cd apachedoris-0.15.0-incubating-src/
[root@2b3115e2d5d7 apachedoris-0.15.0-incubating-src]# cd fs_brokers/
[root@2b3115e2d5d7 fs_brokers]# ls
apache_hdfs_broker
[root@2b3115e2d5d7 fs_brokers]# cd apache_hdfs_broker/
[root@2b3115e2d5d7 apache_hdfs_broker]# ll
total 24
drwxrwxr-x. 2 root root 51 Nov 16 2021 bin
-rwxrwxr-x. 1 root root 1773 Nov 16 2021 build.sh
drwxrwxr-x. 2 root root 82 Nov 16 2021 conf
-rw-rw-r--. 1 root root 19478 Nov 16 2021 pom.xml
drwxrwxr-x. 4 root root 30 Nov 16 2021 src
#切换一下java环境,默认是java11,切换到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
sh build.sh