高端的平面设计网站,专业的网站建设专业平台,网站建设合同 含维护费,电工培训内容Linux 操作系统版本需求
Linux 系统版本当前系统版本CentOS7.1 及以上CentOS8Ubuntu16.04 及以上-
软件需求
软件版本当前版本Java1.81.8.0_391GCC4.8.2 及以上gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
1、查看操作系统版本
方法 1#xff1a;使用命令行
打开终端或…Linux 操作系统版本需求
Linux 系统版本当前系统版本CentOS7.1 及以上CentOS8Ubuntu16.04 及以上-
软件需求
软件版本当前版本Java1.81.8.0_391GCC4.8.2 及以上gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
1、查看操作系统版本
方法 1使用命令行
打开终端或命令行窗口。运行以下命令来查看 CentOS 版本信息
cat /etc/centos-release如果你看到输出中含有 CentOS 7 或 CentOS 8 的版本号则可以确定当前系统的 CentOS 版本。
方法 2使用运行版本命令
同样需要打开终端或命令行窗口。运行以下命令来检查 CentOS 系统中 /etc/os-release 文件的内容
cat /etc/os-release这个命令会显示包含 CentOS 版本信息的输出。在 VERSION_ID 一行中你将能够看到版本号从而确定是 CentOS 7 还是 CentOS 8。
无论使用哪种方法你都将能够确定当前系统运行的是 CentOS 7 还是 CentOS 8。
2、查看GCC版本
要查看 CentOS 8 上安装的 GCC 版本你可以按照以下方法进行操作
打开终端或命令行窗口。运行以下命令来查看 GCC 版本信息
gcc --version该命令将输出 GCC 的版本信息包括主版本号、次版本号等详细信息。
注意如果你的系统中未安装 GCC需要先通过以下命令安装
sudo dnf install gcc使用上述步骤你将能够在 CentOS 8 上查看到安装的 GCC 版本。
3、集群做时钟同步
在 CentOS 8 上你可以使用 chronyd 服务来进行时钟同步。以下是设置时钟同步的步骤 确保 chronyd 服务已安装 sudo dnf install chrony如果你已安装了 chrony则会显示已安装的版本号。 编辑 /etc/chrony.conf 文件 sudo vim /etc/chrony.conf打开文件后你可以根据需要进行配置更改。 添加或更改时间服务器 在 /etc/chrony.conf 文件中你可以找到一些种类为 server 的行。你可以编辑这些行来添加或更改时间服务器。通常你可以在互联网上找到公共的时间服务器。例如你可以在 chrony.conf 文件中添加以下行 ## 注释掉这个一行
# pool 2.centos.pool.ntp.org iburst
# FE 同步授时中心cn.ntp.org.cn
server cn.ntp.org.cn iburst# BE 同步FE的时间
# server 10.10.8.156 iburst 请将 time.example.com 替换为你选择的时间服务器。例如cn.ntp.org.cn 启动并启用 chronyd 服务 sudo systemctl start chronyd
sudo systemctl enable chronyd检查时钟同步状态 chronyc sources这将显示与 chronyd 同步的时间服务器列表以及同步状态。
通过按照上述步骤设置 chronyd 服务你将在 CentOS 8 上实现时钟同步。如果你修改了 chrony.conf 配置文件请确保重新启动 chronyd 服务以使更改生效。
4、设置系统最大打开文件句柄数
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
# 重启服务器生效 reboot
# 通过ulimit 查看是否生效
ulimit -n5、安装Java环境
# Oracle官网下载上传JDK jdk-8u391-linux-x64.tar.gz
[rootlocalhost ~]# cd /u01/
[rootlocalhost u01]# tar -zxf jdk-8u391-linux-x64.tar.gz
[rootlocalhost u01]# vim /etc/profile
export JAVA_HOME/u01/jdk1.8.0_391
export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH$JAVA_HOME/bin:$PATH# 重新加载资源
[rootlocalhost u01]# source /etc/profile
[rootlocalhost u01]# java -version
java version 1.8.0_391
Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)6、Doris 配置 FE
6.1、查看操作系统是否支持avx2指令集没有则下载noavx2的安装包。
要检查你的 CentOS 8 系统是否支持 AVX2 指令集可以使用以下命令来检查 CPU 的功能
grep avx2 /proc/cpuinfo如果你看到类似下面的输出说明你的 CPU 支持 AVX2 指令集
flags : ... avx2 ...其中 flags 列表中包含了支持的 CPU 功能标记。如果你在其中找到了 avx2则表示你的系统 CPU 支持 AVX2 指令集。
如果你的 CPU 不支持 AVX2 指令集那么在上述输出中将找不到 avx2 标记。
请注意要确保你的 CPU 支持 AVX2 指令集你的 CPU 和主板必须支持该功能。虽然 CentOS 8 是一个 64 位操作系统但该操作系统本身并不影响 CPU 功能。因此支持 AVX2 指令集取决于你的 CPU 硬件。
6.2 解压缩修改配置
# 这里没有avx2指令集 下载apache-doris-2.0.2-bin-x64-noavx2.tar.gz
# 上传到服务器 /u01目录下
# 1、解压缩包
[rootlocalhost u01]# tar -zxf apache-doris-2.0.2-bin-x64-noavx2.tar.gz
# 2、这里把FE的文件夹单独拿到/u01 方便后面出问题后删除重新复制一份
[rootlocalhost u01]# cp -r apache-doris-2.0.2-bin-x64-noavx2/fe/ /u01/修改 FE 配置文件 conf/fe.conf 这里我们主要修改两个参数priority_networks 及 meta_dir 如果你需要更多优化配置请参考 FE 参数配置说明进行调整。 添加 priority_networks 参数 [rootlocalhost u01]# vim fe/conf/fe.conf# 修改内容如下
priority_networksx.x.x.0/24注意 这个参数我们在安装的时候是必须要配置的特别是当一台机器拥有多个IP地址的时候我们要为 FE 指定唯一的IP地址。 这里假设你的节点 IP 是 172.23.16.32那么我们可以通过掩码的方式配置为 172.23.16.0/24。 添加元数据目录 # 单独配置元数据目录需要你提前创建好你指定的目录
meta_dir/u01/fe/doris-meta
# 注意生产环境强烈建议单独指定目录不要放在Doris安装目录下最好是单独的磁盘如果有SSD最好测试开发环境可以使用默认配置(默认是在你的Doris FE 安装目录下的 doris-meta)6.3 后台启动FE
在 FE 安装目录下执行下面的命令来完成 FE 的启动。
[rootlocalhost fe]# ./bin/start_fe.sh --daemon6.4查看 FE 运行状态
你可以通过下面的命令来检查 Doris 是否启动成功
rootnarada:/u01/apache-doris-2.0.2-bin-x64/fe# curl http://127.0.0.1:8030/api/bootstrap
{msg:success,code:0,data:{replayedJournalId:0,queryPort:0,rpcPort:0,version:},count:0}这里 IP 和 端口分别是 FE 的 IP 和 http_port默认8030如果是你在 FE 节点执行直接运行上面的命令即可。
如果返回结果中带有 msg:success 字样则说明启动成功。
你也可以通过 Doris FE 提供的Web UI 来检查在浏览器里输入地址
http:// fe_ip:8030 即http://x.x.x.x:8030/
可以看到下面的界面说明 FE 启动成功
注意
这里我们使用 Doris 内置的默认用户 root 进行登录密码是空这是一个 Doris 的管理界面只能拥有管理权限的用户才能登录普通用户不能登录。
6.5连接 FE
我们下面通过 MySQL 客户端来连接 Doris FE下载免安装的 MySQL 客户端
解压刚才下载的 MySQL 客户端在 bin/ 目录下可以找到 mysql 命令行工具。然后执行下面的命令连接 Doris。
[rootlocalhost bin]# pwd
/u01/mysql-5.7.22/bin
[rootlocalhost bin]# ./mysql -uroot -P9030 -h127.0.0.1# 设置登录密码
SET PASSWORD FOR root PASSWORD(narada2023);注意 这里使用的 root 用户是 doris 内置的默认用户也是超级管理员用户具体的用户权限查看 权限管理-P 这里是我们连接 Doris 的查询端口默认端口是 9030对应的是fe.conf里的 query_port-h 这里是我们连接的 FE IP地址如果你的客户端和 FE 安装在同一个节点可以使用127.0.0.1。mysql 无法运行的话要先解决对应报错。 执行下面的命令查看 FE 运行状态
show frontends\G;然后你可以看到类似下面的结果
mysql show frontends\G
*************************** 1. row ***************************Name: fe_cd86c1da_3c70_4ebe_add6_70c7e39b3827Host: x.x.x.xEditLogPort: 9010HttpPort: 8030QueryPort: 9030RpcPort: 9020Role: FOLLOWERIsMaster: trueClusterId: 1027578203Join: trueAlive: true
ReplayedJournalId: 3379LastHeartbeat: 2023-12-06 14:29:20IsHelper: trueErrMsg: Version: doris-2.0.2-rc05-ae923f7CurrentConnected: Yes
1 row in set (0.04 sec)如果 IsMaster、Join 和 Alive 三列均为true则表示节点正常。
7 Doris配置 BE
7.1 同样解压缩复制be到/u01
[rootlocalhost u01]# tar -zxf apache-doris-2.0.2-bin-x64-noavx2.tar.gz
[rootlocalhost u01]# cp -r apache-doris-2.0.2-bin-x64-noavx2/be/ /u01我们进入到 be 目录
修改 BE 配置文件 conf/be.conf 这里我们主要修改两个参数priority_networks 及 storage_root 如果你需要更多优化配置请参考 BE 参数配置说明进行调整。 添加 priority_networks 参数 [rootlocalhost u01]# cd be/conf/
[rootlocalhost conf]# vim be.conf
priority_networksx.x.x.0/24注意 这个参数我们在安装的时候是必须要配置的特别是当一台机器拥有多个IP地址的时候我们要为 BE 指定唯一的IP地址。 配置 BE 数据存储目录 修改 be/conf/be.conf。主要是配置 storage_root_path数据存放目录。默认在be/storage下若需要指定目录的话需要预创建目录。多个路径之间使用英文状态的分号 ; 分隔。 可以通过路径区别节点内的冷热数据存储目录HDD冷数据目录或 SSD热数据目录。如果不需要 BE 节点内的冷热机制那么只需要配置路径即可无需指定 medium 类型也不需要修改FE的默认存储介质配置 注意 如果未指定存储路径的存储类型则默认全部为 HDD冷数据目录。这里的 HDD 和 SSD 与物理存储介质无关只为了区分存储路径的存储类型即可以在 HDD 介质的盘上标记某个目录为 SSD热数据目录。 示例1如下 storage_root_path/home/disk1/doris;/home/disk2/doris;/home/disk2/doris示例2如下 使用 storage_root_path 参数里指定 medium storage_root_path/home/disk1/doris,medium:HDD;/home/disk2/doris,medium:SSD说明 /home/disk1/doris,medium:HDD 表示该目录存储冷数据;/home/disk2/doris,medium:SSD 表示该目录存储热数据; 实际操作 centos这边先不动了直接用默认目录 # 这里是测试环境没有多余的磁盘 用disk1 disk2 区分生产环境挂不同的地址可以用 u01 u02区分
# 预创建目录/u01/disk1/doris /u01/disk2/doris
storage_root_path/u01/disk1/doris,medium:HDD;/u01/disk2/doris,medium:SSD配置 JAVA_HOME 环境变量 由于从 1.2 版本开始支持 Java UDF 函数BE 依赖于 Java 环境。所以要预先配置 JAVA_HOME 环境变量也可以在 start_be.sh 启动脚本第一行添加 export JAVA_HOMEyour_java_home_path 来添加环境变量。 **注意**最开始安装JDK的时候已经把环境变量配置好了所有这里不用管 安装 Java UDF 函数 安装Java UDF 函数因为从1.2 版本开始支持Java UDF 函数需要从官网下载 Java UDF 函数的 JAR 包放到 BE 的 lib 目录下否则可能会启动失败。 **注意**发现lib下面已经有 java_extensions/java-udf 。这里把他复制到lib下面 [rootlocalhost lib]# pwd
/u01/be/lib
[rootlocalhost lib]# cp java_extensions/java-udf/java-udf-jar-with-dependencies.jar .7.2 启动 BE 在 BE 安装目录下执行下面的命令来完成 BE 的启动。 [rootlocalhost bin]# pwd
/u01/be/bin
[rootlocalhost bin]# ./start_be.sh --daemon提示报错1 Please set vm.max_map_count to be 2000000 under root using sysctl -w vm.max_map_count2000000.解决方案 # 临时修改使用sysctl命令临时修改参数的值
sysctl -w vm.max_map_count2000000
# 永久修改:编辑/etc/sysctl.conf文件并增加或修改以下行
rootnarada:/u01/apache-doris-2.0.2-bin-x64/be# vim /etc/sysctl.conf
vm.max_map_count2000000# 保持文件后使用一下命令更改生效
rootnarada:/u01/apache-doris-2.0.2-bin-x64/be# sysctl -p
vm.max_map_count 2000000提示报错2 Please disable swap memory before installation.解决方案 # 关闭交换分区swap
# 使用swapoff -a命令可以关闭所有已启用的交换分区。在执行此命令之前应仔细检查已启用的交换分区并确保关闭它们不会对系统产生不利影响。
swapoff -a7.3添加 BE 节点到集群 通过MySQL 客户端连接到 FE 之后执行下面的 SQL将 BE 添加到集群中 -- 实例ALTER SYSTEM ADD BACKEND be_host_ip:heartbeat_service_port;
ALTER SYSTEM ADD BACKEND be1_ip:9050;
ALTER SYSTEM ADD BACKEND be2_ip:9050;
ALTER SYSTEM ADD BACKEND be3_ip:9050;be_host_ip这里是你 BE 的 IP 地址和你在 be.conf 里的 priority_networks 匹配heartbeat_service_port这里是你 BE 的心跳上报端口和你在 be.conf 里的 heartbeat_service_port 匹配默认是 9050。 查看 BE 运行状态 你可以在 MySQL 命令行下执行下面的命令查看 BE 的运行状态。 SHOW BACKENDS\GAlive : true表示节点运行正常
常见问题
1、MySQL连接报错
./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory解决方案:
这个错误通常是由于缺少 libncurses.so.5 库文件引起的。要解决这个问题你可以尝试以下方法 安装 libncurses.so.5 库文件 sudo dnf install ncurses-compat-libs这个命令将安装 ncurses-compat-libs 软件包它提供了 libncurses.so.5 库文件。 创建软链接 如果安装了 ncurses-compat-libs 软件包但问题仍存在可以尝试创建一个软链接来解决 # 安装以后没有就再建一个软连接。如果已经有了 就不用管了
sudo ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5这个命令将在 /usr/lib64 目录下创建一个 libncurses.so.5 的软链接指向 libncurses.so.6。
尝试以上解决方法后再次运行 ./mysql 命令应该可以成功加载 libncurses.so.5 库文件并启动 MySQL 服务器。
2、导入数据时 max_allowed_packet 值过小
com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (1,347,330 1,048,576). You can change this value on the server by setting the max_allowed_packet variable.# 查询原来的大小是多少,默认是1G
select max_allowed_packet; -- 1048576
# 重新设置大小20*1024*1024; 20代表20G
set global max_allowed_packet 20*1024*1024;3、centos8 查看CPU使用情况
在CentOS中你可以使用 top 命令来查看 CPU 的使用情况。请按照以下步骤进行操作 打开终端或 SSH 连接到 CentOS 服务器。 在终端中输入以下命令并按下回车运行 top在顶部的信息栏中你将看到类似下面的 CPU 使用情况 top - 08:45:23 up 1 day, 3:25, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2047812 total, 196180 free, 1192144 used, 653488 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 659280 avail Mem%Cpu(s) 行列出了 CPU 的使用情况。其中us 代表用户进程占用 CPU 的百分比sy 代表系统进程占用 CPU 的百分比ni 代表改变过优先级的进程占用 CPU 的百分比id 代表空闲 CPU 的百分比wa 代表等待 I/O 的进程占用 CPU 的百分比hi 代表硬件中断占用 CPU 的百分比si 代表软件中断占用 CPU 的百分比st 代表虚拟机被强制获取 CPU 时间的百分比。 在该信息栏中你还可以看到系统的负载情况和内存使用情况等。你可以使用箭头键来上下滚动查看更多进程和信息。
除了 top 命令之外你还可以使用其他一些命令来查看 CPU 使用情况例如 htop 和 mpstat。这些工具提供了更详细和交互式的 CPU 监控信息。你可以使用 yum 或 dnf 命令安装这些工具。
4、centos8 查看IO使用情况
4.1 使用 iotop ,安装命令 sudo dnf install iotop
在 CentOS 8 中你可以使用 iotop 命令来查看磁盘 I/O 使用情况。请按照以下步骤进行操作 打开终端或通过 SSH 连接到 CentOS 8 服务器。 在终端中输入以下命令并按下回车运行 iotop当命令运行后你将看到类似下面的实时磁盘 I/O 使用情况的统计信息
该输出显示了每个活动的进程以及它们的磁盘 I/O 使用情况包括磁盘读取速度DISK READ、磁盘写入速度DISK WRITE以及进程的资源占用情况。你可以根据需要来查看特定进程的 I/O 使用情况和排名。
iotop 命令提供了实时的磁盘 I/O 统计信息可以帮助你监控磁盘活动找到可能引起性能问题的进程。请注意你可能需要以 root 用户身份运行 iotop 命令或具有相应权限的用户。如果系统中没有安装 iotop你可以使用 yum 或 dnf 命令来安装它。
4.2 使用 iostat 安装命令 sudo dnf install sysstat
iostat 命令可以提供关于磁盘 I/O 统计信息的详细报告。请按照以下步骤进行操作 打开终端或通过 SSH 连接到 CentOS 8 服务器。 在终端中输入以下命令并按下回车运行 iostat你将看到类似下面的输出其中包含了磁盘 I/O 使用情况的统计信息 Linux 4.18.0-80.11.2.el8_0.x86_64 (centos) 08/25/20 _x86_64_ (1 CPU)avg-cpu: %user %nice %system %iowait %steal %idle0.10 0.00 0.48 1.13 0.00 98.29Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.83 2.36 2.82 161343 198840
sdb 0.00 0.00 0.00 10 20在输出中kB_read/s 表示每秒的读取速度单位为 kBkB_wrtn/s 表示每秒的写入速度单位为 kBtps 表示每秒的 I/O 操作次数。
4.3 使用 dstat 安装命令 sudo dnf install dstat
dstat 命令可以提供实时的系统资源监视器其中包括磁盘 I/O 使用情况。请按照以下步骤进行操作 打开终端或通过 SSH 连接到 CentOS 8 服务器。 在终端中输入以下命令并按下回车运行 dstat -d你将看到类似下面的输出其中包含了磁盘 I/O 使用情况及其他资源的统计信息 ----total-cpu-usage---- --dsk/total- --dsk/sda-- --dsk/sdb-- --net/total- --paging-- ---system--
usr sys idl wai hiq siq| read writ | read writ | read writ | recv send | in out | int csw
...输出中的read和writ列分别表示读取和写入的数据量。
0.00 10 20 在输出中kB_read/s 表示每秒的读取速度单位为 kBkB_wrtn/s 表示每秒的写入速度单位为 kBtps 表示每秒的 I/O 操作次数。### 4.3 使用 dstat 安装命令 sudo dnf install dstatdstat 命令可以提供实时的系统资源监视器其中包括磁盘 I/O 使用情况。请按照以下步骤进行操作1. 打开终端或通过 SSH 连接到 CentOS 8 服务器。2. 在终端中输入以下命令并按下回车运行
dstat -d 3. 你将看到类似下面的输出其中包含了磁盘 I/O 使用情况及其他资源的统计信息
----total-cpu-usage---- --dsk/total- --dsk/sda-- --dsk/sdb-- --net/total- --paging-- —system– usr sys idl wai hiq siq| read writ | read writ | read writ | recv send | in out | int csw … 输出中的read和writ列分别表示读取和写入的数据量。这些工具可以帮助你监控磁盘 I/O 使用情况以便了解系统的性能和负载情况。你可以根据需要来选择使用其中的一个工具。如果系统中没有安装这些工具你可以使用 yum 或 dnf 命令来安装它们。