[新手教程]使用VMware搭建简易DorisDB学习环境(二)

在新手教程(一)中,因为篇幅限制,只详细的描述了VMware Workstation虚拟机安装CentOS 7的步骤,接下来,我们继续开始第二部分:

特别说明:
1、全文所有命令已经考虑了路径,如无特殊说明,均为在CentOS桌面上右键打开终端,终端打开后不要关闭,直接复制粘贴回车执行,非常友好。

2、为避免新手出现不必要的权限问题,文中所有操作均为在CentOS的root用户下执行。

二、虚拟机下CentOS 7针对DorisDB的设置及环境配置

为保证DorisDB能够正常启动和运行,我们还需对CentOS进行一些设置上的调整,并配置Doris的运行环境。

1、关闭Swap分区
内存页(page)swap到磁盘会影响DorisDB的性能,永久关闭步骤:
1)注释/etc/fstab关于swap的配置

vi /etc/fstab

在最后一行前面加上#,对其注释:


2)执行如下命令,调整 swappiness 参数:

echo vm.swappiness=0 >> /etc/sysctl.conf

3)重启

reboot

4)验证(Swap行均为0)

free -m

2、使用ntp自动联网校准时间
在Doris中,FE所在服务器的时钟最多允许5秒时钟偏差,安装ntp校准时间操作如下:
1)安装ntp:

yum install ntp

2)校准时间:

ntpdate cn.pool.ntp.org

3)使用crontab定时计划任务:

crontab -e

加入以下信息:

00 12 * * * /sbin/ntpdate cn.pool.ntp.org

[表示每隔12个小时自动同步。 规则:分、时、日、月、星期]
4)重启crontab计划任务:

/sbin/service crond reload

3、设置文件描述符限制
文件描述符限制过小会导致Doris BE启动报错,永久设置操作如下:
1)修改limits.conf:

vim /etc/security/limits.conf

在末尾添加配置后保存:

* soft nofile 65536
* hard nofile 65536

03
2)注销用户登出,再用root重进系统,使用ulimit -n查看修改是否生效。
进入系统后,输入:

ulimit -n

05

4、开放防火墙端口
DorisDB标准版所用端口有:
8000、8030、8040、8060
9010、9020、9030、9050、9060
与端口相关的命令如下,我们需要将上面端口逐个开通:
开放端口:

firewall-cmd --zone=public --add-port=8000/tcp --permanent

关闭端口:

firewall-cmd --zone=public --remove-port=8000/tcp --permanent

配置立即生效:

firewall-cmd --reload

查看所有开放端口:

firewall-cmd --zone=public --list-ports

开通端口操作如图:

5、配置GCC等环境
Doris要求GCC 4.8.2+,使用yum命令一键配置:

yum -y install gcc

安装后查看版本:

gcc --version

2021-03-10_103121
6、配置JDK 8

1)安装包准备
jdk8官网下载链接如下:
https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html


从官网下载需要注册一个Oracle账号,自行注册,然后下载。
2)检查并移除自带jdk
1、查看CentOS是否自带openjdk环境:

yum list installed |grep java


2、若有自带安装的JDK,卸载命令:

yum -y remove java-1.7.0-openjdk*
yum -y remove java-1.8.0-openjdk*

3、移除后再输入查看指令判断是否已经删除:

yum list installed |grep java

09
3)部署jdk
1、用ifconfig命令查一下本机ip,将安装包通过Xftp工具从当前系统传输至虚拟机CentOS /root目录中,按照提示操作:



2、在user目录下新建java文件夹:

cd /usr/
mkdir java

3、解压jdk安装包,并将解压后的文件夹移动至/usr/java/:

cd ~
tar -zxvf jdk-8u281-linux-x64.tar.gz
mv jdk1.8.0_281 /usr/java/

4)配置环境变量
若希望给所有用户配置java环境,使用root用户登录:
1、编辑/etc/profile文件:

vi /etc/profile

按下i键,然后移动到最后一行,添加如下配置:

#configuration java development enviroument
export JAVA_HOME=/usr/java/jdk1.8.0_281
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后按下esc键,输入:输入wq回车,保存并退出。
2、重新加载系统配置文件:

source /etc/profile

3、检查jdk 是否安装成功:

java -version

11
4、jdk安装包若不需要可删除:

rm -f /root/jdk-8u281-linux-x64.tar.gz

操作至这一步,Doris需要的基础运行环境已经配置完毕。此时,推荐使用虚拟机的快照功能,保存一份当前的系统状态。


13

等待虚拟机左下方保存状态百分比走完,也即拍摄快照完成后,强烈建议使用虚拟机的克隆功能,生成三个系统副本,操作如下:
1、克隆功能需要先关闭当前虚拟机系统,关机后,开始克隆。



2、克隆向导中点击“下一步”
16
3、选择克隆源,克隆自“虚拟机中的当前状态”
17
4、创建完整克隆
18
5、为克隆的虚拟机命名,选择路径,例如在E盘新建一个doris01目录,此处浏览选择该路径:
19
点击“完成”,等待:
20
6、点击“关闭”,克隆完成
21
得到具备Doris环境的虚拟机doris01:
22
重复两次上面操作,比如依次命名为doris02、doris03,注意每次克隆都选择初始安装的那个虚拟机。
后续的Doris部署操作,我们将以doris01、doris02、doris03三台虚拟机来进行。保留初始安装的那套系统及快照作为模版,若后面系统出现无法修复的问题时可以快速克隆补充。

接下来,我们还需要为三台虚拟机各自配置一下静态IP,确保使用过程中IP不会发生变化,以doris01为例,配置方法如下:
1)其他虚拟机关闭,开启doris01虚拟机,进入桌面,切换到/etc/sysconfig/network-scripts/目录下:

cd /etc/sysconfig/network-scripts/

2)编辑配置文件ifcfg-ens33:

vi ifcfg-ens33

3)对照Windows物理主机网络配置信息修改文件内容,Windows信息如图所示:
(查看Windows主机配置信息方法:win+r 输入cmd回车,然后输入ipconfig)
23
对照修改虚拟机配置信息:
修改前:
24
修改后:
25
选择IP时注意不要和当前局域网内的IP冲突。
文字:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.110.116(三台虚拟机各选择一个同网段ip,如116、117、118)
NETMASK=255.255.255.0
GATEWAY=192.168.110.1
DNS1=114.114.114.114
DNS2= 8.8.8.8
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=5896fee7-e4ef-42e1-903f-db093681fb69
DEVICE=ens33
ONBOOT=yes

4)重启网络服务:

service network restart

5)查看各虚拟机IP:

ifconfig


开启doris02服务器,重复上面操作,注意IPADDR=192.168.110.117,注意不要忘记重启网络服务操作;
开启doris03服务器,重复上面操作,注意IPADDR=192.168.110.118,再次提醒不要忘记重启网络服务操作。

DorisDB推荐使用mysql-client来连接,接下来,我们在doris01上安装稳定版的mysql 5.7。
一)准备工作
MySQL5.7 General Availability(GA) Release通用发行版下载地址:
https://dev.mysql.com/downloads/mysql/5.7.html
选择Linux通用版:



下载完成后校验文件MD5码:0884A3562E89FD8ACC82C37D3B52AD3B。

当然,因为CentOS是依照Red Hat Enterprise Linux开放源代码规定释出的源代码编译而成的,故也可以下载MySQL为Red Hat适配的版本,安装方法相同:



MD5: 66E772ACCC4074701E3EF6E6472D7B73

二)安装步骤:
先使用Xftp将安装包复制至虚拟机根目录:

1、在桌面上右键打开终端,先检测系统是否自带mariadb:

rpm -qa|grep mariadb

32
若有,则挨行挨个进行卸载:

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

rpm -qa返回值中显示的有几个,就用rpm -e -nodeps命令卸载几个。

2、为避免不必要的权限问题,将安装包解压后的文件夹重命名为mysql,并移动至/usr/local/。
假设压缩包名称为:mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz,操作步骤如下:
1)对安装包进行解压:

cd ~
tar -zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz

2)等待解压完成,完成后将文件夹重命名为mysql:

mv mysql-5.7.33-linux-glibc2.12-x86_64 mysql

3)未避免不必要的权限问题,将mysql文件夹移动到/usr/local/

mv mysql /usr/local/

3、检查mysql组和用户是否存在,如果没有则创建:

cat /etc/group|grep mysql

[没有返回值即表示不存在]
创建:

groupadd mysql
useradd -r -g mysql mysql

#useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
4、在mysql文件夹中创建data目录:

cd /usr/local/mysql
mkdir data

5、将/usr/local/mysql的所有者及所属组改为mysql:

chown -R mysql.mysql /usr/local/mysql

6、在/usr/local/mysql/support-files目录下创建my_default.cnf:

cd ~
cd /usr/local/mysql/support-files
vim my_default.cnf

粘贴如下配置并保存:

[mysqld]

#设置mysql的安装目录
basedir = /usr/local/mysql
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/mysql.sock
#设置字符集
character-set-server = utf8
#日志存放目录
log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid
[client]
port = 3306
socket = /usr/local/mysql/mysql.sock

7、将配置文件拷贝至etc目录:

cp my_default.cnf /etc/my.cnf

8、配环境变量
打开etc目录profile文件:

cd ~
vi /etc/profile

在末尾加入如下配置:

#configuration mysql enviroument
MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin
export PATH MYSQL_HOME

刷新配置:

source /etc/profile

9、进入mysql目录,初始化mysql:

cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

10、初始化完成之后查看日志:

cat /usr/local/mysql/data/mysqld.log

红框里的是临时密码,单独记录密码,后面首次进入数据库时需要用:


11、把启动脚本放到开机初始化目录:

cp support-files/mysql.server /etc/init.d/mysqld

赋予可执行权限:

chmod +x /etc/init.d/mysqld

添加为服务:

chkconfig --add mysqld

启动服务:

systemctl start mysqld

查看运行状态:

systemctl status mysqld

12、进入mysql并更改密码:

mysql -uroot -p

先按回车,待提示输入密码时再输入密码,不要在-p后面直接加密码,因为随机生成的密码可能包含左括号,而Linux对左括号敏感,直接输入可能会报错。

输入上文图片红框中的初始密码,回车,登陆mysql成功。

修改密码为自己的密码,比如root:

set password=password('root');

13、给用户授权:

grant all privileges on *.* to root@'%' identified by 'root';

flush privileges;

14、输入命令退出mysql,然后重启mysql服务:

exit

重启mysql服务:

systemctl restart mysqld

相关命令:
systemctl restart mysqld(重启服务)
systemctl start mysqld(启动服务)
systemctl stop mysqld(关闭服务)
systemctl status mysqld(查看状态)

15、重启计算机:reboot
登陆后在桌面右键打开终端,查看mysql运行状态,确保mysql可以开机启动:

systemctl status mysqld


16、MySQL安装完毕!mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz安装包若不需要则可以删除:

cd ~
rm -f /root/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz

至此,doris01、doris02和doris03三台虚拟机系统配置完毕,所需环境及工具也已安装完成,建议各自拍摄快照,以便有问题时快速恢复。

下一篇教程,咱们以标准版DorisDB-SE-1.13.1为例,进行Doris集群的手动部署。