一、docker安装
(doris官方建议使用doris编译)
转自:https://www.runoob.com/docker/centos-docker-install.html
1. 自动安装
使用curl -sSL https://get.daocloud.io/docker | sh 不太行,报错信息忘记截图了
2.手动安装
卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装 Docker Engine-Community
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置仓库
阿里云
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker Engine-Community
安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受 GPG 密钥,请选是。
二、doris编译
1.踩坑建议
别用mac的docker编译
镜像版本是apache/incubator-doris:build-env-1.2,显示flex版本低,要升级版本。
镜像版本是apache/incubator-doris:build-env-1.3的,官方clone比较慢,然后从gitee上下载的,又编译不过去,一会显示docker内存不足,一会…。
(也可能是自己docker玩的不熟)
想了想
镜像版本1.3的时候,有的时候是docker内存不足,这样的话,增加内存可能行,不过我加了内存,使用-m,发现只能减少内存,不能加。
用的环境
阿里云买的机器,16核,64G
2.编译
参考官方:
https://doris.apache.org/master/zh-CN/installing/compilation.html#%E4%BD%BF%E7%94%A8-docker-%E5%BC%80%E5%8F%91%E9%95%9C%E5%83%8F%E7%BC%96%E8%AF%91-%E6%8E%A8%E8%8D%90
下载 Docker 镜像
docker pull apache/incubator-doris:build-env-1.3
运行镜像
docker run -it apache/incubator-doris:build-env-1.3
选择jdk1.8
$ 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
下载源码
(master)git clone https://github.com/apache/incubator-doris.git
(指定版本)
git clone -b 0.14.0 https://github.com/apache/incubator-doris.git
遇到的坑
fatal: unable to access 'https://github.com/apache/incubator-doris.git/': Encountered end of fi
解决方案
将命令行里的http改为git重新执行。
git clone git://github.com/apache/incubator-doris.git
参考:https://blog.csdn.net/gbz3300255/article/details/97103621/
编译
sh build.sh
遇到的坑:第一次失败
更改了docker的maven地址
vim /usr/share/maven/conf/setting.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
or 在centos中新建:
vim /etc/docker/daemon.json
添加阿里云
{
"registry-mirrors": ["https://o3trwnyj.mirror.aliyuncs.com"]
}
重启demo和docker
sudo systemctl daemon-reload
sudo systemctl restart docker
重新sh sh build.sh 即可。
将编译好的doris拷贝到centos
docker cp 1213313:/root/incubator-doris/output /opt/
关闭docker服务
systemctl stop docker
另一种方法
不需要自己编译
https://cloud.baidu.com/doc/DORIS/s/bkn5owgit
百度提供了已经编译好的。
https://cloud.baidu.com/
三、doris安装
1.按照官网的安装方法即可
http://doris.apache.org/master/zh-CN/installing/install-deploy.html#%E8%BD%AF%E7%A1%AC%E4%BB%B6%E9%9C%80%E6%B1%82
2.遇到的坑
现象:
- doris集群正常使用,读写没问题。在配置fe的高可用的时候出了问题。
- FE的Observer配置不上去
- 配FE的Follower之后,在Follower上查看FE节点信息,只能查看到自己,查看不到集群,在Leader上查看FE节点信息可以查看到所有的FE。
在FE的leader上查看:
在FE的follower上查看:
原因:
没有进行ip绑定,刚开始我以为不需要,就没弄。
解决方案:
官方安装文档上有,priority_networks=10.1.3.0/24。
配置ip绑定之后依然没有作用原因:
- 因为FE的元数据已经写进去之前的IP了,所以需要将FE的元数据删除。
报错日志:
查看元数据:
更改之后查看元数据:
- 如果是因为ip绑定导致, 建议,重装比较简单,因为没有设置ip绑定的话,无论是fe还是be应该是都没有ip绑定,那么就要把fe和be的元数据都删了,设置ip绑定之后,再生成新的id,然后又不太熟悉底层还有啥文件记录没,所以,在测试阶段,重装是最好的办法。
小点
- /24是啥?
“/24”表示这个IP的子网为24位,为子网掩码,指有24个“1”,即“255.255.255.0”。 - 如何知道自己电脑的子网是多少位,对应的是啥
(1) ifconfig,查看ip的netmask
(2)对应表
转自:https://blog.csdn.net/u014695188/article/details/51046413