项目中要使用statRocks,为了解,特意安装一下,习惯下dorisdb 和mysql 区别
下载安装包
下载地址 www.starrocks.com/zh-CN/downl…
StarRocks-2.0.1.tar.gz
解压到 usr/local 下面,解压路径可以更加实际情况
文件内容
├── be # BE目录
│ ├── bin
│ │ ├── start_be.sh # BE启动命令
│ │ └── stop_be.sh # BE关闭命令
│ ├── conf
│ │ └── be.conf # BE配置文件
│ ├── lib
│ │ ├── dorisdb_be # BE可执行文件
│ │ └── meta_tool
│ └── www
├── fe # FE目录
│ ├── bin
│ │ ├── start_fe.sh # FE启动命令
│ │ └── stop_fe.sh # FE关闭命令
│ ├── conf
│ │ └── fe.conf # FE配置文件
│ ├── lib
│ │ ├── dorisdb-fe.jar # FE jar包
│ │ └── *.jar # FE 依赖的jar包
│ └── webroot
└── udf
启动FE
修改配置文件 fe/conf/fe.conf
LOG_DIR = ${STARROCKS_HOME}/log
DATE = "$(date +%Y%m%d-%H%M%S)"
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Xmx8192m -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:$STARROCKS_HOME/log/fe.gc.log.$DATE"
# For jdk 9+, this JAVA_OPTS will be used as default JVM options
JAVA_OPTS_FOR_JDK_9="-Dlog4j2.formatMsgNoLookups=true -Xmx8192m -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xlog:gc*:$STARROCKS_HOME/log/fe.gc.log.$DATE:time"
##
## the lowercase properties are read by main program.
##
# INFO, WARN, ERROR, FATAL
sys_log_level = INFO
# store metadata, create it if it is not exist.
# Default value is ${STARROCKS_HOME}/meta
meta_dir = ${STARROCKS_HOME}/meta
http_port = 8030
rpc_port = 9020
query_port = 9030
edit_log_port = 9010
mysql_service_nio_enabled = true
# Choose one if there are more than one ip except loopback address.
# Note that there should at most one ip match this list.
# If no ip match this rule, will choose one randomly.
# use CIDR format, e.g. 10.10.10.0/24
# Default value is empty.
priority_networks = 172.17.0.0/24;
设置 meta_dir 目录地址 ${STARROCKS_HOME}/meta, STARROCKS_HOME 是starrocks安装路径,默认安装地址是fe/meta
设置 priority_networks ,startocks 要求fe和be ip 必须在同一个网段内,FE和BE 必须设置一样,本人第一次安装的时候,就在这个上面浪费了很多时间,导致BE 起不来。
启动命令 fe/bin/start_fe.sh --daemon
使用mysql 连接 mysql -h 127.0.0.1 -P9030 -uroot
注意:这里默认root用户密码为空,端口为fe/conf/fe.conf中的query_port配置项,默认为9030
如果连接不成功说明,FE 没起来,在fe/log/ 目录下查看日志
查看FE状态: mysql> SHOW PROC '/frontends'\G
*************************** 1. row ***************************
Name: 172.17.0.1_9010_1644573557622
IP: 172.17.0.1
HostName: 172.17.0.1
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: FOLLOWER
IsMaster: true
ClusterId: 1811003205
Join: true
Alive: true
ReplayedJournalId: 50969
LastHeartbeat: 2022-02-15 23:55:18
IsHelper: true
ErrMsg:
StartTime: 2022-02-14 19:02:55
Version: 2.0.1-f0de9ec
1 row in set (0.25 sec)
启动BE
修改配置文件
# INFO, WARNING, ERROR, FATAL
sys_log_level = INFO
# ports for admin, web, heartbeat service
be_port = 9060
webserver_port = 8040
heartbeat_service_port = 9050
brpc_port = 8060
# Choose one if there are more than one ip except loopback address.
# Note that there should at most one ip match this list.
# If no ip match this rule, will choose one randomly.
# use CIDR format, e.g. 10.10.10.0/24
# Default value is empty.
priority_networks=172.17.0.0/24
# data root path, separate by ';'
# you can specify the storage medium of each root path, HDD or SSD, seperate by ','
# eg:
# storage_root_path = /data1,medium:HDD;/data2,medium:SSD;/data3
# /data1, HDD;
# /data2, SSD;
# /data3, HDD(default);
#
# Default value is ${STARROCKS_HOME}/storage, you should create it by hand.
storage_root_path = ${STARROCKS_HOME}/storage
# Advanced configurations
# sys_log_dir = ${STARROCKS_HOME}/log
# sys_log_roll_mode = SIZE-MB-1024
# sys_log_roll_num = 10
# sys_log_verbose_modules = *
# log_buffer_level = -1
default_rowset_type = beta
修改 storage_root_path 路径,默认 be/storage
priority_networks 和FE设置在同一个网段
启动命令 bin/start_be.sh --daemon
mysql> ALTER SYSTEM ADD BACKEND "be_host:be_heartbeat_service_port";
be_host 为 be 服务ip,如果是多网卡的,需要设置和 fe 一个网段的ip,如果是单台服务器,那么fe的ip 和pe的是一样的
如果配置错误,删除BE节点:
alter system decommission backend "be_host:be_heartbeat_service_port";alter system dropp backend "be_host:be_heartbeat_service_port";
查看BE启动状态
mysql> SHOW PROC '/backends'\G
*************************** 1. row ***************************
BackendId: 31003
Cluster: default_cluster
IP: 172.17.0.1
HostName: 172.17.0.1
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2022-02-14 19:31:06
LastHeartbeat: 2022-02-16 00:09:49
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 11
DataUsedCapacity: 718.000 B
AvailCapacity: 113.258 MB
TotalCapacity: 19.559 GB
UsedPct: 99.43 %
MaxDiskUsedPct: 99.43 %
ErrMsg:
Version: 2.0.1-f0de9ec
Status: {"lastSuccessReportTabletsTime":"2022-02-16 00:09:11"}
DataTotalCapacity: 113.258 MB
DataUsedPct: 0.00 %
1 row in set (0.09 sec)
alive:true 说明起来了
遇到问题
- 提示JAVA_HOME 位置,需要按照java 运行环境
- be和fe起不来,因为fe和be 配置文件 priority_networks 设置不正确,没有在同一个网段。