yugabyte
有两组服务:Master
和 TServer
,都通过 raft
提供高可用性支撑;
Master
负责存储元数据信息,以及提供数据库的创建、删除等功能;同时负责数据 负载均衡控制、TServer
故障处理等;TServer
负责用户数据的存储和访问.
单机模式
获取安装包
将编译完成后的安装包拷贝到待部署的机器上/opt
目录下解压备用。
tar xzvf yb2.7.tar.gz
配置依赖库
linuxbrew
采用linuxbrew
编译的安装包,通过运行 post_install.sh
进行配置。
cd yb2.7
./bin/post_install.sh
gcc/clang
采用gcc
或clang
编译的安装包,手动配置依赖库文件
export LD_LIBRARY_PATH=/usr/lib:/usr/lib64:/opt/yb2.7/lib/yb:/opt/yb2.7/lib/yb-thirdparty:/opt/yb2.7/postgres/lib:$ LD_LIBRARY_PATH
修改配置文件
master
修改 conf/local-master.conf 配置文件,将 127.0.0.1 替换为安装软件节点的 IP 地址, 以及磁盘挂载点;
--master_addresses=127.0.0.1:7100
--rpc_bind_addresses=127.0.0.1:7100
--fs_data_dirs=/tmp
--ysql_num_shards_per_tserver=1
--replication_factor=1
tserver
修改 conf/local-tserver.conf 配置文件,将 127.0.0.1 替换为安装软件节点的 IP 地址, 以及磁盘挂载点;
--tserver_master_addrs=127.0.0.1:7100
--rpc_bind_addresses=127.0.0.1:9100
--start_pgsql_proxy
--pgsql_proxy_bind_address=0.0.0.0:5433
--fs_data_dirs=/tmp
--ysql_enable_auth=true
--pg_yb_session_timeout_ms=120000
--ysql_num_shards_per_tserver=1
启动服务
master
./bin/yb-master --flagfile ./conf/local-master.conf
tserver
./bin/yb-tserver --flagfile ./conf/local-tserver.conf
数据库连接
通过数据库连接来验证服务是否成功部署
数据库名账户名密码默认都为yugabyte
[root@dev yb2.7]# ./bin/ysqlsh
Password for user yugabyte:
ysqlsh (11.2-YB-2.7.2.0-b0)
Type "help" for help.
yugabyte=#
连接成功!
集群模式
集群模式至少三节点,这里以三节点为例。
时钟同步
为了保持数据一致性,必须限制不同节点之间的时钟漂移和时钟偏斜,需要配置 NTP服务。 在每台节点上执行:
echo "TZ='Asia/Shanghai'; export TZ" >> /root/.bashrc
source /root/.bashrc
sudo yum install -y epel-release ntp
service ntpd start
最后执行date
命令查看每台节点上的时间是否一致。
获取安装包
在每台节点上都执行单机模式中的获取安装包步骤
配置依赖库
在每台节点上都执行单机模式中的配置依赖库步骤
修改配置文件
node1
master
打开文件/opt/yb2.7/conf/cluster-master-1.conf
:
--master_addresses=node1:7100,node2:7100,node3:7100
--rpc_bind_addresses=node01:7100
--fs_data_dirs=/mnt/disk1,/mnt/disk2
--ysql_num_shards_per_tserver=1
替换实际三节点的ip地址,--rpc_bind_addresses
参数对应的是node1
节点地址,修改--fs_data_dirs
参数对应的数据目录。
tserver
打开文件/opt/yb2.7/conf/cluster-tserver-1.conf
:
--tserver_master_addrs=node1:7100,node2:7100,node3:7100
--rpc_bind_addresses=node1:9100
--start_pgsql_proxy
--pgsql_proxy_bind_address=0.0.0.0:5433
--cql_proxy_bind_address=0.0.0.0:9042
--fs_data_dirs=/mnt/disk1,/mnt/disk2
--ysql_enable_auth=true
--pg_yb_session_timeout_ms=120000
--ysql_num_shards_per_tserver=1
替换实际三节点的ip地址,--rpc_bind_addresses
参数对应的是node1
节点地址,修改--fs_data_dirs
参数对应的数据目录。
node2
master
打开文件/opt/yb2.7/conf/cluster-master-2.conf
:
--master_addresses=node1:7100,node2:7100,node3:7100
--rpc_bind_addresses=node2:7100
--fs_data_dirs=/mnt/disk1,/mnt/disk2
--ysql_num_shards_per_tserver=1
替换实际三节点的ip地址,--rpc_bind_addresses
参数对应的是node2
节点地址,修改--fs_data_dirs
参数对应的数据目录。
tserver
打开文件/opt/yb2.7/conf/cluster-tserver-2.conf
:
--tserver_master_addrs=node1:7100,node2:7100,node3:7100
--rpc_bind_addresses=node2:9100
--start_pgsql_proxy
--pgsql_proxy_bind_address=0.0.0.0:5433
--cql_proxy_bind_address=0.0.0.0:9042
--fs_data_dirs=/mnt/disk1,/mnt/disk2
--ysql_enable_auth=true
--pg_yb_session_timeout_ms=120000
--ysql_num_shards_per_tserver=1
替换实际三节点的ip地址,--rpc_bind_addresses
参数对应的是node2
节点地址,修改--fs_data_dirs
参数对应的数据目录。
node3
master
打开文件/opt/yb2.7/conf/cluster-master-3.conf
:
--master_addresses=node1:7100,node2:7100,node3:7100
--rpc_bind_addresses=node3:7100
--fs_data_dirs=/mnt/disk1,/mnt/disk2
--ysql_num_shards_per_tserver=1
替换实际三节点的ip地址,--rpc_bind_addresses
参数对应的是node3
节点地址,修改--fs_data_dirs
参数对应的数据目录。
tserver
打开文件/opt/yb2.7/conf/cluster-tserver-3.conf
:
--tserver_master_addrs=node1:7100,node2:7100,node3:7100
--rpc_bind_addresses=node3:9100
--start_pgsql_proxy
--pgsql_proxy_bind_address=0.0.0.0:5433
--cql_proxy_bind_address=0.0.0.0:9042
--fs_data_dirs=/mnt/disk1,/mnt/disk2
--ysql_enable_auth=true
--pg_yb_session_timeout_ms=120000
--ysql_num_shards_per_tserver=1
替换实际三节点的ip地址,--rpc_bind_addresses
参数对应的是node3
节点地址,修改--fs_data_dirs
参数对应的数据目录。
启动服务
node1
./bin/yb-master --flagfile conf/cluster-master-1.conf
./bin/yb-tserver --flagfile conf/cluster-tserver-1.conf
node2
./bin/yb-master --flagfile conf/cluster-master-2.conf
./bin/yb-tserver --flagfile conf/cluster-tserver-2.conf
node3
./bin/yb-master --flagfile conf/cluster-master-3.conf
./bin/yb-tserver --flagfile conf/cluster-tserver-3.conf
数据库连接
每台节点上都可以执行数据库连接
[root@dev node1]# ./bin/ysqlsh
Password for user yugabyte:
ysqlsh (11.2-YB-2.7.2.0-b0)
Type "help" for help.
yugabyte=#