分布式数据库
Doris
Doris规划
Doris常用命令
Doris Manager
X2Doris数据同步工具
DataX
DataX Web
Tidb
Tidb规划
数据库压测
TPC-H
dbsyncer 数据同步
本文档使用MrDoc发布
返回首页
-
+
Doris
2025年2月14日 12:22
admin
#SQL转换 https://play.selectdb.com/sql-convertor?case_sensitive=0&from=mysql --- #部署步骤 https://doris.incubator.apache.org/zh-CN/docs/install/deploy-manually/integrated-storage-compute-deploy-manually --- https://doris.apache.org/zh-CN/docs/install/deploy-manually/integrated-storage-compute-deploy-manually --- #下载地址 https://doris.apache.org/download --- #部署 ##装前配置 ####关闭 swap 分区 #在部署 Doris 时,建议关闭 swap 分区。swap 分区是内核发现内存紧张时,会按照自己的策略将部分内存数据移动到配置的 swap 分区,由于内核策略不能充分了解应用的行为,会对 Doris 性能造成较大影响。所以建议关闭。 swapoff -a --- #永久关闭 # /etc/fstab # <file system> <dir> <type> <options> <dump> <pass> tmpfs /tmp tmpfs nodev,nosuid 0 0 /dev/sda1 / ext4 defaults,noatime 0 1 # /dev/sda2 none swap defaults 0 0 /dev/sda3 /home ext4 defaults,noatime 0 2 ####增加虚拟内存区域 #为了保证 Doris 有足够的内存映射区域来处理大量数据,需要修改 VMA(虚拟内存区域)。如果没有足够的内存映射区域,Doris 在启动或运行时可能会遇到 Too many open files 或类似的错误。 #通过以下命令可以永久修改虚拟内存区域至少为 2000000,并立即生效: cat >> /etc/sysctl.conf << EOF vm.max_map_count = 2000000 EOF # Take effect immediately sysctl -p ####网络连接溢出时自动重置新连接 #在部署 Doris 时,需要确保在 TCP 连接的发送缓冲区溢出时,连接会被立即中断,以防止 Doris 在高负载或高并发情况下出现缓冲区阻塞,避免连接被长时间挂起,从而提高系统的响应性和稳定性。 #通过以下命令可以永久设置系统自动重置新链接,并立即生效: cat >> /etc/sysctl.conf << EOF net.ipv4.tcp_abort_on_overflow=1 EOF # Take effect immediately sysctl -p ####相关端口畅通 #如果发现端口不通,可以试着关闭防火墙,确认是否是本机防火墙造成。如果是防火墙造成,可以根据配置的 Doris 各组件端口打开相应的端口通信。 sudo systemctl stop firewalld.service sudo systemctl disable firewalld.service ####增加系统的最大文件句柄数 #Doris 由于依赖大量文件来管理表数据,所以需要将系统对程序打开文件数的限制调高。 #通过以下命令可以调整最大文件句柄数。在调整后,需要重启会话以生效配置: vi /etc/security/limits.conf * soft nofile 1000000 * hard nofile 1000000 ####安装并配置 NTP 服务 #Doris 的元数据要求时间精度要小于 5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。 #通常情况下,可以通过配置 NTP 服务保证各节点时钟同步。 sudo systemctl start_ntpd.service sudo systemctl enable_ntpd.service --- ##安装 ##部署 FE Master 节点 ####1、创建元数据路径 #在部署 FE 时,建议与 BE 节点数据存储在不同的硬盘上。 #在解压安装包时,会默认附带 doris-meta 目录,建议为元数据创建独立目录,并将其软连接到默认的 doris-meta 目录。生产环境应使用单独的 SSD 硬盘,不建议将其放在 Doris 安装目录下;开发和测试环境可以使用默认配置。 --- ## Use a separate disk for FE metadata mkdir -p <doris_meta_created> mkdir -p /opt/doris_data ## Create FE metadata directory symlink ln -s <doris_meta_original> <doris_meta_created> ln -s /opt/apache-doris-2.1.8.1-bin-x64/fe/doris-meta/ /opt/doris_data --- ####2、修改 FE 配置文件 #FE 的配置文件在 FE 部署路径下的 conf 目录中,启动 FE 节点前需要修改 conf/fe.conf。 vim /opt/apache-doris-2.1.8.1-bin-x64/fe/conf/fe.conf --- #在部署 FE 节点之前,建议调整以下配置: --- ## modify Java Heap JAVA_OPTS="-Xmx16384m -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" ## modify case sensitivity lower_case_table_names = 1 ## modify network CIDR priority_networks = 10.1.3.0/24 ## modify Java Home JAVA_HOME = <your-java-home-path> |参数|修改建议 |--|-- |JAVA_OPTS|指定参数 -Xmx 调整 Java Heap,生产环境建议 16G 以上。 |lower_case_table_names|设置大小写敏感,建议调整为 1,即大小写不敏感。 |priority_networks|网络 CIDR,更具网络 IP 地址指定。在 FQDN 环境中可以忽略。 |JAVA_HOME|建议 Doris 使用独立于操作系统的 JDK 环境。 --- ####3、启动 FE 进程 #通过以下命令可以启动 FE 进程 bin/start_fe.sh --daemon /opt/apache-doris-2.1.8.1-bin-x64/fe/bin/start_fe.sh --daemon #####FE 进程将在后台启动,日志默认保存在 log/ 目录。如果启动失败,可通过查看 log/fe.log 或 log/fe.out 文件获取错误信息。 cat /opt/apache-doris-2.1.8.1-bin-x64/fe/log/fe.log cat /opt/apache-doris-2.1.8.1-bin-x64/fe/log/fe.out --- ####4、检查 FE 启动状态 #####通过 MySQL 客户端连接 Doris 集群,初始化用户为 root,默认密码为空。 mysql -uroot -P<fe_query_port> -h<fe_ip_address> mysql -uroot -P9030 -h127.0.0.1 #####链接到 Doris 集群后,可以通过 show frontends 命令查看 FE 的状态,通常要确认以下几项 show frontends;  --- #状态说明 Alive 为 true 表示节点存活; Join 为 true 表示节点加入到集群中,但不代表当前还在集群内(可能已失联); IsMaster 为 true 表示当前节点为 Master 节点。 --- ##部署 FE 集群(可选) ####1、创建元数据目录 参考部署 FE Master 节点,创建 doris-meta 目录 ####2、修改 FE Follower 节点配置文件 参考部署 FE Master 节点,修改 FE Follower 节点配置文件。通常情况下,可以直接复制 FE Master 节点的配置文件。 ####3、在 Doris 集群中注册新的 FE Follower 节点 在启动新的 FE 节点前,需要先在 FE 集群中注册新的 FE 节点。 --- ## connect a alive FE node mysql -uroot -P<fe_query_port> -h<fe_ip_address> --- ## registe a new FE follower node ALTER SYSTEM ADD FOLLOWER "<fe_ip_address>:<fe_edit_log_port>" --- #如果要添加 observer 节点,可以使用 ADD OBSERVER 命令 ## register a new FE observer node ALTER SYSTEM ADD OBSERVER "<fe_ip_address>:<fe_edit_log_port>" --- ####4、启动 FE Follower 节点 #####通过以下命令,可以启动 FE Follower 节点,并自动同步元数据。 bin/start_fe.sh --helper <helper_fe_ip>:<fe_edit_log_port> --daemon #####其中,helper_fe_ip 是 FE 集群中任何存活节点的 IP 地址。--helper 参数仅在第一次启动 FE 时需要,之后重启无需指定。 #####判断 Follower 节点状态 #与 FE Master 节点状态判断相同,添加 Follower 节点后,可通过 show frontends 命令查看节点状态,IsMaster 应为 false。 --- show frontends --- ##部署 BE 节点 ####1、创建数据目录 #####BE 进程应用于数据的计算与存储。数据目录默认放在 be/storage 下。生产环境通常将 BE 数据与 BE 部署文件分别存储在不同的硬盘上。BE 支持数据分布在多盘上以更好的利用多块硬盘的 I/O 能力。 ## Create a BE data storage directory on each data disk mkdir -p <be_storage_root_path> mkdir -p /opt/doris_be_data ####2、修改 BE 配置文件 #####BE 的配置文件在 BE 部署路径下的 conf 目录中,启动 BE 节点前需要修改 conf/be.conf。 vim /opt/apache-doris-2.1.8.1-bin-x64/be/conf/be.conf --- ## modify storage path for BE node storage_root_path=/home/disk1/doris,medium:HDD;/home/disk2/doris,medium:SSD ## modify network CIDR priority_networks = 10.1.3.0/24 ## modify Java Home in be/conf/be.conf JAVA_HOME = <your-java-home-path> ####参数解释如下: |参数|修改建议 |---|--- |priority_networks|网络 CIDR,更具网络 IP 地址指定。在 FQDN 环境中可以忽略。 |JAVA_OPTS|指定参数 -Xmx 调整 Java Heap,生产环境建议 2G 以上。 |JAVA_HOME|建议 Doris 使用独立于操作系统的 JDK 环境。 --- ####3、在 Doris 中注册 BE 节点 #####在启动 BE 节点前,需要先在 FE 集群中注册该节点: ## connect a alive FE node mysql -uroot -P<fe_query_port> -h<fe_ip_address> mysql -uroot -P9030 -h127.0.0.1 ## registe BE node ALTER SYSTEM ADD BACKEND "<be_ip_address>:<be_heartbeat_service_port>" ALTER SYSTEM ADD BACKEND "172.16.81.206:9050"; --- show backends;  --- ####4、启动 BE 进程 #####通过以下命令可以启动 BE 进程: bin/start_be.sh --daemon /opt/apache-doris-2.1.8.1-bin-x64/be/bin/start_be.sh --daemon #####BE 进程在后台启动,日志默认保存在 log/ 目录。如果启动失败,请检查 log/be.log 或 log/be.out 文件以获取错误信息。 cat /opt/apache-doris-2.1.8.1-bin-x64/be/log/be.out --- ####5、查看 BE 启动状态 #####连接 Doris 集群后,可通过 show backends 命令查看 BE 节点的状态。 ## connect a alive FE node mysql -uroot -P<fe_query_port> -h<fe_ip_address> mysql -uroot -P9030 -h127.0.0.1 ## check BE node status show backends;  #####通常情况下需要注意以下几项状态: Alive 为 true 表示节点存活 TabletNum 表示该节点上的分片数量,新加入的节点会进行数据均衡,TabletNum 逐渐趋于平均。 --- ##验证集群正确性 ####登录数据库 使用 MySQL 客户端登录 Doris 集群。 ## connect a alive fe node mysql -uroot -P<fe_query_port> -h<fe_ip_address> ####检查 Doris 安装信息 #####通过 show frontends 与 show backends 可以查看数据库各实例的信息。 -- check fe status show frontends \G -- check be status show backends \G #####修改 Doris 集群密码 在创建 Doris 集群时,系统会自动创建一个名为 root 的用户,并默认设置其密码为空。为了提高安全性,建议在集群创建后立即为 root 用户设置一个新密码。 -- check the current user select user(); +------------------------+ | user() | +------------------------+ | 'root'@'192.168.88.30' | +------------------------+ -- modify the password for current user SET PASSWORD = PASSWORD('doris_new_passwd'); --- ##web访问 浏览器访问 http://FE_IP:8030 http://172.16.81.206:8030 ####使用默认账号admin(密码为空)登录管理界面 
分享到: