Linux集群部署


LINUX 集群部署 邱波 2005-6-24 第一部部分 公共部分 一 系统环境 1 Linux OS 系统版本 RHEL AS3 UPDATES 4 安装方式 最小安装 系统内核 2.4.21-27.0.4 二 服务组件 1 LVS 套件 主机名 master slaver 服务包 piranha-0.7.10-2 ipvsadm-1.21-9 依赖包 httpd-2.0.46-46 php-4.3.2-23 curl-7.10.6-6 2 GFS 套件 主机名 node01 node02 node03 node04 node05 node06 data01 data02 服务包 GFS GFS-modules-smp 依赖包 perl-Net-Telnet-3.03-1.1 3 MySQL CLUSTER 套件 主机名 master slaver node01 node02 node03 node04 node05 node06 data01 data02 服务包 MySQL-bench-4.1.12-0 MySQL-ndb-management-4.1.12-0 MySQL-server-4.1.12-0 MySQL-client-4.1.12-0 MySQL-embedded-4.1.12-0 MySQL-ndb-extra-4.1.12-0 MySQL-ndb-storage-4.1.12-0 MySQL-shared-4.1.12-0 MySQL-devel-4.1.12-0 MySQL-Max-4.1.12-0 MySQL-ndb-tools-4.1.12-0 依赖包 perl-DBI-1.32-9 4 WWW 套件 主机名 node01 node02 node03 node04 node05 node06 服务包 httpd-2.0.46-46 php-4.3.2-23 php-mysql-4.3.2-23 依赖包 curl-7.10.6-6 三 基本配置 1 主机名 master slaver node01 node02 node03 node04 node05 node06 data01 data02 2 配置文件 /etc/hosts 3 脚本内容 # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.70.1 node01 192.168.70.2 node02 192.168.70.3 node03 192.168.70.4 node04 192.168.70.5 node05 192.168.70.6 node06 192.168.70.100 data01 192.168.70.200 data02 192.168.70.254 master 192.168.70.253 slaver 第二部分 LVS Linux Virtual Server 负载均衡集群 一 LVS Linux Virtual Server 概述 1 基本构成图 2 基本概念 对于使用某个提供的服务的外界用户(如网站或数据库程序)来说,Linux 虚拟服 务器(LVS)群集似乎是一个服务器。事实上,该用户使用的是一对冗余 LVS 路由器之 后的两个或多个服务器的群集。 LVS 群集至少包括两层。第一层由一对配置相似的 Linux 机器或群集成员 (cluster members)组成。这些机器之一充当 LVS 路由器(LVS router),它用来把 来自互联网的请求转到群集。第二层包含一个叫做真实服务器(real servers)的机器 群集。 3 技术特征 高可用性群集(High-availability clustering)使用多个机器来为某个服务或某 组服务提交额外的可靠性。 负载均衡群集(Load-balance clustering)使用特殊的选路技术来给一组服务器 分配任务。 4 LVS 调度算式 循环调度 把每项请求按顺序在真正服务器中循环分派。 加权循环调度 每项请求按顺序在真正服务器中循环分派,但是给能力较大的服务器分派较多的作业。 加权最少连接法(默认) 能力相比带有较少活跃连接的服务器分派较多的请求。 基于地区的最少连接调度 目标 IP 相比带有较少活跃连接的服务器分派较多的请求。 带有复制调度的基于地区的最少连接调度 目标 IP 相比带有较少活跃连接的服务器分派较多的请求。 目标散列调度 通过在静态散列表中查看目标 IP 来给真正服务器分派请求。 源散列调度 通过在静态散列表中查看源 IP 来给真正服务器分派请求。 5 LVS 的选路方法 使用网络地址转换(Network Address Translation)或 NAT 选路(NAT routing)来 进行 LVS 集群。 6 LVS 工作视图 7 LVS 群集的部件 pulse 这是启动和 LVS 路由器相关的所有其它守护进程的控制进程。 lvs lvs 守护进程被 pulse 调用后就会在活跃 LVS 路由器上运行。ipvsadm 该服务共享内核中的 IPVS 路由表。 nanny nanny 监视运行在活跃 LVS 路由器上的守护进程。 二 配置 LVS 1 Piranha 配置工具设置口令 piranha-passwd 2 启动 Piranha 配置工具服务 service piranha-gui start 3 限制对 Piranha 配置工具的使用 /etc/sysconfig/ha/web/secure/.htaccess Order deny,allow Deny from all Allow from 127.0.0.1 4 启用分组转发 /etc/sysctl.conf 中的 net.ipv4.ip_forward = 0 这一行改为: net.ipv4.ip_forward = 1 5 分配防火墙标记 iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 --dport 80 -j MARK --set-mark 80 三 Piranha 配置工具 1 登陆 打开 http://localhost:3636 2 GLOBAL SETTINGS Primary server public IP 主 LVS 节点的可公开选路的真正 IP 地址 Primary server private IP 主 LVS 节点上的另一个网络接口的真正 IP 地址 NAT Router IP 浮动 IP 地址 NAT Router netmask 子网掩码 NAT Router device 浮动 IP 地址的网络接口的设备名称 3 REDUNDANCY 备份 LVS 路由器节点 Redundant server public IP 备份 LVS 路由器节点的公共真正 IP 地址。 Redundant server private IP 备份节点的专用真正 IP 地址。 Heartbeat Interval (seconds) 设置为心跳之间的时间 Assume dead after (seconds) 备份 LVS 路由器节点失效转移的时间。 Heartbeat runs on port 主 LVS 节点的心跳通信端口 4 VIRTUAL SERVERS Name 虚拟服务器名称。 Application port 监听端口号 Protocol UDP 或 TCP Virtual IP Address 虚拟服务器的浮动 IP 地址。 Virtual IP Network Mask 虚拟服务器子网掩码。 Firewall Mark 防火墙标记 Device 浮动 IP 地址绑定的网络设备 Re-entry Time 失效重新加载真正服务器的时间 Service Timeout 失效剔除真正服务器的时间 Quiesce server 防止了新服务器在进入群集的大量连接 Load monitoring tool 监视各个真正服务器的载量 Scheduling 调度算式 Persistence 连接超时前所允许经过的不活跃期间的秒数 Persistence Network Mask 限制某个特定子网的持续性的子网掩码。 5 REAL SERVER Name 真正服务器 Address 真正服务器的 IP Weight 主机权值 6 同步配置文件 scp /etc/sysconfig/ha/lvs.cf n.n.n.n:/etc/sysconfig/ha/lvs.cf scp /etc/sysconfig/iptables n.n.n.n:/etc/sysconfig/ 四 LVS 部署 1 路由转发 vi /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl –p 2 iptables 标记 iptables -t mangle -A PREROUTING -p tcp -d 211.144.137.131/32 --dport 80 -j MARK --set-mark 81 iptables -t mangle -A PREROUTING -p tcp -d 211.144.137.232/32 --dport 80 -j MARK --set-mark 82 iptables -t mangle -A PREROUTING -p tcp -d 211.144.137.233/32 --dport 80 -j MARK --set-mark 83 iptables -t mangle -A PREROUTING -p tcp -d 211.144.137.234/32 --dport 80 -j MARK --set-mark 84 iptables -t mangle -A PREROUTING -p tcp -d 211.144.137.235/32 --dport 80 -j MARK --set-mark 85 3 配置 lvs.cf serial_no = 40 primary = 211.144.137.130 primary_private = 211.144.137.130 service = lvs backup_active = 0 backup = 0.0.0.0 heartbeat = 1 heartbeat_port = 539 keepalive = 6 deadtime = 18 network = nat nat_router = 192.168.70.254 eth1 debug_level = NONE virtual [server_coolh] { active = 1 address = 211.144.137.131 eth0:1 vip_nmask = 255.255.255.224 fwmark = 81 port = 80 send = “GET / HTTP/1.0\r\n\r\n“ expect = “HTTP“ use_regex = 0 load_monitor = none scheduler = wlc protocol = tcp timeout = 12 reentry = 30 quiesce_server = 0 server [node01] { address = 192.168.70.11 active = 1 weight = 1 } server [node02] { address = 192.168.70.21 active = 1 weight = 1 } server [node03] { address = 192.168.70.31 active = 1 weight = 1 } server [node04] { address = 192.168.70.41 active = 1 weight = 1 } server [node05] { address = 192.168.70.51 active = 1 weight = 1 } server [node06] { address = 192.168.70.61 active = 1 weight = 1 } } virtual [server_ccg] { active = 1 address = 211.144.137.132 eth0:2 vip_nmask = 255.255.255.224 fwmark = 82 port = 80 send = “GET / HTTP/1.0\r\n\r\n“ expect = “HTTP“ use_regex = 0 load_monitor = none scheduler = wlc protocol = tcp timeout = 12 reentry = 30 quiesce_server = 0 server [node01] { address = 192.168.70.12 active = 1 weight = 1 } server [node02] { address = 192.168.70.22 active = 1 weight = 1 } server [node03] { address = 192.168.70.32 active = 1 weight = 1 } server [node04] { address = 192.168.70.42 active = 1 weight = 1 } server [node05] { address = 192.168.70.52 active = 1 weight = 1 } server [node06] { address = 192.168.70.62 active = 1 weight = 1 } } virtual [server_bbs] { active = 1 address = 211.144.137.133 eth0:3 vip_nmask = 255.255.255.224 fwmark = 83 port = 80 send = “GET / HTTP/1.0\r\n\r\n“ expect = “HTTP“ use_regex = 0 load_monitor = none scheduler = wlc protocol = tcp timeout = 12 reentry = 30 quiesce_server = 0 server [node01] { address = 192.168.70.13 active = 1 weight = 1 } server [node02] { address = 192.168.70.23 active = 1 weight = 1 } server [node03] { address = 192.168.70.33 active = 1 weight = 1 } server [node04] { address = 192.168.70.43 active = 1 weight = 1 } server [node05] { address = 192.168.70.53 active = 1 weight = 1 } server [node06] { address = 192.168.70.63 active = 1 weight = 1 } } virtual [server_download] { active = 1 address = 211.144.137.134 eth0:4 vip_nmask = 255.255.255.224 fwmark = 84 port = 80 send = “GET / HTTP/1.0\r\n\r\n“ expect = “HTTP“ use_regex = 0 load_monitor = none scheduler = wlc protocol = tcp timeout = 12 reentry = 30 quiesce_server = 0 server [node01] { address = 192.168.70.14 active = 1 weight = 1 } server [node02] { address = 192.168.70.24 active = 1 weight = 1 } server [node03] { address = 192.168.70.34 active = 1 weight = 1 } server [node04] { address = 192.168.70.44 active = 1 weight = 1 } server [node05] { address = 192.168.70.54 active = 1 weight = 1 } server [node06] { address = 192.168.70.64 active = 1 weight = 1 } } virtual [server_wlife] { active = 1 address = 211.144.137.135 eth0:5 vip_nmask = 255.255.255.224 fwmark = 85 port = 80 send = “GET / HTTP/1.0\r\n\r\n“ expect = “HTTP“ use_regex = 0 load_monitor = none scheduler = wlc protocol = tcp timeout = 12 reentry = 30 quiesce_server = 0 server [node01] { address = 192.168.70.15 active = 1 weight = 1 } server [node02] { address = 192.168.70.25 active = 1 weight = 1 } server [node03] { address = 192.168.70.35 active = 1 weight = 1 } server [node04] { address = 192.168.70.45 active = 1 weight = 1 } server [node05] { address = 192.168.70.55 active = 1 weight = 1 } server [node06] { address = 192.168.70.65 active = 1 weight = 1 } } 4 启动 lvs 服务 lvs 5 状态查看 ipvsadm 第三部分 GFS GFS Global File System 数据存储 一 GFS 概述 支持多方式存储,如下图 GFS with a SAN GFS and GNBD with a SAN GFS and GNBD with Direct-Attached Storage 二 GFS 系统环境要素 1 系统需求 Red Hat Enterprise Linux AS, ES, or WS, Version 3, Update 2 or 或更高 ia64, x86-64, x86 SMP supported RAM 最低 256M 2 网络需求 所有 GFS 节点必须接入 TCP/IP 网络,以便于支持 GFS 集群和 lockgulm 系统 3 设备支持 HBA (Host Bus Adapter) Fibre Channel switch FC RAID array or JBOD Size 最大 2 TB 三 GFS 安装 1 软件需求 perl-Net-Telnet Module 时间同步软件 Stunnel 2 GFS 组件 GFS GFS-modules-smp 3 模块加载 depmod –a #在 RPM 安装后运行 modprobe pool #盘区池模块 modprobe lock_gulm # lock_gulm系统 modprobe gfs #GFS 模块 lsmod #检查加载 四 POOL 的操作 1 创建 pool_tool -c [ConfigFile] poolname name minor number subpools number subpool id stripe devices [type] pooldevice subpool id device 2 激活 pool_assemble –a [poolname] # Activating pool_assemble –r [poolname] # Deactivating 3 显示 pool_tool -p [pool] 4 更新配置 pool_tool -g [NewConfigFile] 5 删除 pool_tool -e [PoolName] 6 改名 pool_tool -r [PoolName] [NewPoolName] 7 镜像 pool_tool -m [Number] [PoolName] 8 显示信息 pool_info -v [PoolName] 9 设备检索 pool_info -s [PoolName] 10 多路 pool_mp -m {none | failover | n} [PoolName] 五 GFS 集群系统配置文件 1 cluster.ccs 配置文件 cluster { name = “集群名“ lock_gulm { servers = [“节点名“,..., “节点名“] heartbeat_rate = 心跳时间 <-- 选项 allowed_misses = 允许失效数 <-- 选项 } } 2 fence.ccs 配置文件 fence_devices, fence_gnbd fence_devices{ DeviceName { agent = “fence_gnbd“ server = “ServerName“ . . server = “ServerName“ } DeviceName { . . } } 3 nodes.ccs 配置文件 GNBD Fencing Device Named gnbd fence_devices { gnbd { agent = “fence_gnbd“ server = “nodea“ server = “nodeb“ } } 六 集群系统配置 1 创建 ccs_tool create [Directory] [CCADevice] 2 运行 ccsd -d [CCADevice] 3 导出 ccs_tool extract [CCADevice] [Directory] 4 显示 ccs_tool list [CCADevice] 5 比较 ccs_tool diff [CCADevice] [Directory] 七 GFS 集群锁定系统 1 模式 LOCK_GULM RLM and SLM 集群模式 LOCK_NOLOCK 单用户模式 2 启动 lock_gulmd #没有参数 3 停止 gulm_tool shutdown [IPAddress] 八 GFS 操作 1 格式化 gfs_mkfs -p [LockProtoName] -t [LockTableName] -j [Number] [BlockDevice] 2 挂载 mount -t gfs [BlockDevice] [MountPoint] 3 卸载 umount [MountPoint] 4 配额 gfs_quota limit -u [User] -l [Size] -f [MountPoint] gfs_quota limit -u [Group] -l [Size] -f [MountPoint] gfs_quota warn -u [User] -l [Size] -f [MountPoint] gfs_quota warn -g [Group] -l [Size] -f [MountPoint] 5 显示 gfs_quota get -u [User] -f [MountPoint] gfs_quota get -g [Group] -f [MountPoint] gfs_quota list -f [MountPoint] 6 同步 gfs_quota sync -f [MountPoint] gfs_tool settune [MountPoint] quota_quantum [Seconds] 7 配额开关 gfs_tool settune [MountPoin]t quota_enforce {0|1} 8 更新 gfs_grow [Options] {MountPoint | Device} [MountPoint | Device] 9 增加加载点数量 gfs_jadd -j [Number] [MountPoint] 10 I/O 标记 gfs_tool setflag inherit_directio [Directory] gfs_tool clearflag inherit_jdata [Directory] gfs_tool setflag jdata [File] gfs_tool clearflag jdata [File] 11 更新选项 ctime — 最后改变时间状态 mtime — 最后调整文件或目录时间 atime — 最后访问文件或目录时间 notime — 没有时间选项 12 设置 noatime mount -t gfs [BlockDevice] [MountPoin]t -o noatime 13 显示状态 gfs_tool gettune [MountPoint] 14 设置 atime gfs_tool settune [MountPoint] atime_quantum [Seconds] 15 动态挂起 gfs_tool freeze [MountPoint] gfs_tool unfreeze [MountPoint] 16 容量大小 gfs_tool counters [MountPoint] gfs_tool df [MountPoint] gfs_tool stat [File] 18 修复 gfs_fsck -y [BlockDevice] 19 连接 ln -s [Target] [LinkName] ln -s [Variable] [LinkName] 九 Fencing 系统 1 工作方式 Removal — 从存储器中移除 GFS 节点 Recovery — GFS 节点安全恢复与存储器的连接 2 模块列表 Fending Method Fencing Agent APC Network Power Switch fence_apc WTI Network Power Switch fence_wti Brocade FC Switch fence_brocade McData FC Switch fence_mcdata Vixel FC Switch fence_vixel HP RILOE fence_rib GNBD fence_gnbd xCAT fence_xcat Fending Method Fencing Agent Manual fence_manual 十 GNBD (Global Network Block Device) 1 模块 gnbd.o — 在终端上 GNBD 设备工具,被用作在节点 gnbd_serv.o — 在服务端上 GNBD 设备工具,被用作存储设备 2 GNBD 服务端 gnbd_export -d [PathName] -e [GnbdName] 3 GNBD 终端 gnbd_import -i [Server] 十一 init.d 控制 1 配置文件 /etc/sysconfig/gfs 2 启动 service pool start service ccsd start service lock_gulmd start #节点同步启动 service gfs start #设置/etc/fstab 3 停止 service gfs stop service lock_gulmd stop service ccsd stop service pool stop 十二 GFS 部署 1 系统版本 RHEL AS3 Updates 4 2 内核版本 kernel-smp-2.4.21-27.0.4.EL.i686 3 GFS 版本 GFS-6.0.2-26.i686 GFS-modules-smp-6.0.2-26.i686 4 组件 perl-Net-Telnet-3.03-1.1.el3.dag.noarch 5 GFS 集群方式 LOCK_GULM, RLM Embedded, and GNBD 6 拓扑结构图(GFS 部分) 7 服务器列表 Host Name IP Address Lock Server Node node01 192.168.70.1 TRUE node02 192.168.70.2 TRUE node03 192.168.70.3 TRUE node04 192.168.70.4 TRUE node05 192.168.70.5 TRUE node06 192.168.70.6 TRUE Host Name IP Address Gnbd_fence data01 192.168.70.100 FALSE data02 192.168.70.200 TRUE 8 加载模块 gfs.o gnbd.o lock_harness.o lock_gulm.o pool.o 9 GNBD server (data02) gnbd_export -e cca -d /dev/sdb1 -c gnbd_export -e gfs -d /dev/sdb2 -c 10 每个节点 gnbd_import -i data02 11 POOL(以下存为 pool_gfs.cf) poolname pool_gfs subpools 1 subpool 0 0 1 pooldevice 0 0 /dev/gnbd/gfs 12 CCS data(以下存为 alpha_cca.cf) poolname cca subpools 1 subpool 0 0 1 pooldevice 0 0 /dev/gnbd/cca 13 创建 pool_tool -c alpha_cca.cf pool_gfs.cf 14 激活 (在每个节点) pool_assemble –a 15 创建 CCS 文件 (分别存在/root/alpha 目录下的 cluster.ccs fence.ccs nodes.ccs) cluster { name = “alpha“ lock_gulm { servers = [“node01“, “node02“, “node03“, “node04“, “node05“, “node06“] } } ————————————cluster.ccs———————————— fence_devices { gnbd { agent = “fence_gnbd“ server = “data02“ } } ————————————fence.ccs———————————— nodes { node01 { ip_interfaces { eth0 = “192.168.70.1“ } fence { server { gnbd { ipaddr = “192.168.70.200“ } } } } node02 { ip_interfaces { eth0 = “192.168.70.2“ } fence { server { gnbd { ipaddr = “192.168.70.200“ } } } } node03 { ip_interfaces { eth0 = “192.168.70.3“ } fence { server { gnbd { ipaddr = “192.168.70.200“ } } } } node04 { ip_interfaces { eth0 = “192.168.70.4“ } fence { server { gnbd { ipaddr = “192.168.70.200“ } } } } node05 { ip_interfaces { eth0 = “192.168.70.5“ } fence { server { gnbd { ipaddr = “192.168.70.200“ } } } } node06 { ip_interfaces { eth0 = “192.168.70.6“ } fence { server { gnbd { ipaddr = “192.168.70.200“ } } } } } ———————————nodes.ccs————————————— 16 创建 CCS data 盘区(node01 only) ccs_tool create /root/alpha /dev/pool/alpha_cca 17 启动 ccsd (每个节点) ccsd -d /dev/pool/alpha_cca 18 启动 lock_gulmd(每个节点,至少 2 个节点同时启动) lock_gulmd 19 格式化(node01 only) gfs_mkfs -p lock_gulm -t alpha:gfs -j 6 /dev/pool/pool_gfs 20 挂载(每个节点) mount -t gfs /dev/pool/pool_gfs /gfs 21 init.d 控制参见十一中内容 第四部分 MySQL CLUSTER 数据库集群 MySQL CLUSTER 邱波 2005-6-13 一 MySQL CLUSTER 概述 1 MySQL CLUSTER 结构图 2 管理节点(MGM) 任务 在 MySQL CLUSTER 中管理和配置其它节点:启动关闭节点、执行备份等 状态 MGM 管理和配置其它节点的的任务,必须在所有节点之前启动 启动 ndb_mgmd 3 数据节点(DB) 任务 存储 MySQL CLUSTER 的数据, 状态 在 mysqld 启动之前启动该服务 启动 ndbd 4 SQL 节点(API) 任务 SQL 连接应用,通过 NDBCLUSTER 存储引擎连接到数据节点 状态 最后启动 启动 mysqld 二 基本配置 1 数据节点和 SQL 节点 vi /etc/my.cnf [MYSQLD] ndbcluster ndb-connectstring=n.n.n.n # 管理节点 IP [MYSQL_CLUSTER] ndb-connectstring=n.n.n.n # 管理节点 IP 2 管理节点 vi /etc/config.ini [NDBD DEFAULT] NoOfReplicas=2 DataMemory=80M IndexMemory=52M [TCP DEFAULT] portnumber=PORT #端口 [NDB_MGMD] hostname=MGM #管理节点 [NDBD] hostname=DBA #存储节点 [NDBD] hostname=DBB #存储节点 [MYSQLD] hostname=SQL #SQL 节点 三 定义 MySQL CLUSTER 1 管理节点 [NDB_MGMD]Id 1 到 63 之间 [NDB_MGMD]ExecuteOnComputer 主机名 [NDB_MGMD]PortNumber 监听端口 [NDB_MGMD]LogDestination 日志类型: CONSOLE, SYSLOG, and FILE: [NDB_MGMD]ArbitrationRank 仲裁节点 [NDB_MGMD]ArbitrationDelay 0 一般没必要改变 [NDB_MGMD]DataDir 日志目录 2 数据节点 [NBDB]Id 整数 代替主机名 [NDBD]ExecuteOnComputer 主机名 [NDBD]HostName 自定义主机名 [NDBD]ServerPort 监听端口 [NDBD]NoOfReplicas 拷贝数 默认 2 最大 4 [NDBD]DataDir 日志目录 [NDBD]FileSystemPath 数据和 UNDOLOG 目录 [NDBD]BackupDataDir 备份目录 [NDBD]DataMemory 数据库容量 默认 80MB 最小 1MB 最大等于 RAM [NDBD]IndexMemory 索引容量 默认 18MB 最小 1MB The default value for IndexMemory is 18MB. The minimum is 1MB. [NDBD]MaxNoOfConcurrentTransactions 并发事物数 默认 4096 [NDBD]MaxNoOfConcurrentOperations 最大并发操作数 默认 32768 [NDBD]MaxNoOfLocalOperations 最大本地操作数 没有具体限定 [NDBD]MaxNoOfConcurrentIndexOperations 最大索引并发操作数 默认 8192 [NDBD]MaxNoOfFiredTriggers 最大触发数 默认 4000 [NDBD]TransactionBufferMemory 事物缓存存储器 默认 1MB [NDBD]MaxNoOfConcurrentScans 最大并发检索数 默认 256 最大 500 [NDBD]MaxNoOfLocalScans 最大本地检索数 [NDBD]BatchSizePerLocalScan 本地检索批量 默认 64 [NDBD]LongMessageBuffer 消息缓存器 默认 1MB [NDBD]NoOfFragmentLogFiles REDO log 片段数 默认 8 [NDBD]MaxNoOfSavedMessages 最大被保存消息数 默认 25 [NDBD]MaxNoOfAttributes 最大属性数 默认 1000 [NDBD]MaxNoOfTables 最大所有表数 默认 128 最小 8 最大 1600 [NDBD]MaxNoOfOrderedIndexes 最大请求索引数 默认 128 [NDBD]MaxNoOfUniqueHashIndexes 最大独立索引数 默认 64 [NDBD]MaxNoOfTriggers 最大触发数 默认 768 [NDBD]MaxNoOfIndexes 最大索引数 默认 128 [NDBD]LockPagesInMainMemory 锁定内存中进程 默认 0 [NDBD]StopOnError 错误停止 默认 1 [NDBD]Diskless 无盘 默认 0 [NDBD]RestartOnErrorInsert 查入错误重起 默认 0 [NDBD]TimeBetweenWatchDogCheck 间隔检测时间 默认 4000 毫秒 [NDBD]StartPartialTimeout 启动间隔时间 默认 30000 毫秒 [NDBD]StartPartitionedTimeout 启动间隔后时间 默认 60000 毫秒 [NDBD]StartFailureTimeout 启动失败时间 默认 60000 毫秒 [NDBD]HeartbeatIntervalDbDb 心跳间隔 DB 节点 默认 1500 毫秒 [NDBD]HeartbeatIntervalDbApi 心跳间隔 SQL 节点 默认 1500 毫秒 [NDBD]TimeBetweenLocalCheckpoints 本地检测点间隔时间 默认 20 最大 31 [NDBD]TimeBetweenGlobalCheckpoints 全局检测点间隔时间 默认 2000 毫秒 [NDBD]TimeBetweenInactiveTransactionAbortCheck 检测不活跃事物退出间隔 默认 1000 毫秒 [NDBD]TransactionInactiveTimeout 不活跃事物超时时间 默认 0 [NDBD]TransactionDeadlockDetectionTimeout 事物锁死侦测超时时间 默认 1200 毫秒 [NDBD]NoOfDiskPagesToDiskAfterRestartTUP 默认 40 [NDBD]NoOfDiskPagesToDiskAfterRestartACC 默认 20 [NDBD]NoOfDiskPagesToDiskDuringRestartTUP 默认 40 [NDBD]NoOfDiskPagesToDiskDuringRestartACC 默认 20 [NDBD]ArbitrationTimeout 默认 1000 毫秒 [NDBD]UndoIndexBuffer 默认 2M 最小 1M [NDBD]UndoDataBuffer 默认 16M 最小 1M [NDBD]RedoBuffer 默认 8M 最小 1M [NDBD]LogLevelStartup 默认 1 [NDBD]LogLevelShutdown 默认 0 [NDBD]LogLevelStatistic 默认 0 [NDBD]LogLevelCheckpoint 默认 0 [NDBD]LogLevelNodeRestart 默认 0 [NDBD]LogLevelConnection 默认 0 [NDBD]LogLevelError 默认 0 [NDBD]LogLevelInfo 默认 0 [NDBD]BackupDataBufferSize 默认 2M [NDBD]BackupLogBufferSize 默认 2M [NDBD]BackupMemory 默认 4M [NDBD]BackupWriteSize 默认 32K 3 SQL 节点 [MYSQLD]Id 1 到 63 [MYSQLD]ExecuteOnComputer hostname [MYSQLD]ArbitrationRank 默认 0 [MYSQLD]ArbitrationDelay 默认 0 [MYSQLD]BatchByteSize 默认 32K [MYSQLD]BatchSize 默认 64 最大 992 [MYSQLD]MaxScanBatchSize 默认 256K 最大 16M 四 MySQL Cluster 部署 1 配置文件 MGM my.cnf [ndb_mgm] connect-string=master [ndb_mgmd] config-file=/etc/config.ini config.ini [ndbd default] NoOfReplicas= 2 MaxNoOfConcurrentOperations= 500000 MaxNoOfLocalOperations= 100000 MaxNoOfTables= 1600 MaxNoOfAttributes= 5000 MaxNoOfConcurrentIndexOperations= 100000 MaxNoOfFiredTriggers= 100000 DataMemory= 1024M IndexMemory= 512M TimeBetweenWatchDogCheck= 30000 DataDir= /var/lib/mysql-cluster MaxNoOfOrderedIndexes= 1024 [ndb_mgmd default] DataDir= /var/lib/mysql-cluster [ndb_mgmd] Id=1 HostName= master [ndbd] Id= 2 HostName= data01 [ndbd] Id= 3 HostName= data02 [mysqld] Id= 4 [mysqld] Id= 5 [mysqld] Id= 6 [mysqld] Id= 7 [mysqld] Id= 8 [mysqld] Id= 9 [tcp default] PortNumber= 63132 NDB [mysqld] ndbcluster ndb-connectstring=master [mysql_cluster] ndb-connectstring=master SQL [mysqld] ndbcluster ndb-connectstring = master default_table_type = NDBCLUSTER [mysql_cluster] ndb-connectstring = master 2 启动 MGM mdb_mgmd NDB ndbd SQL service mysql start 3 状态 ndb_mgm> show Connected to Management Server at: master:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @192.168.70.100 (Version: 4.1.12, Nodegroup: 0) id=3 @192.168.70.200 (Version: 4.1.12, Nodegroup: 0, Master) [ndb_mgmd(MGM)] 1 node(s) id=1 @192.168.70.254 (Version: 4.1.12) [mysqld(API)] 6 node(s) id=4 @192.168.70.1 (Version: 4.1.12) id=5 @192.168.70.3 (Version: 4.1.12) id=6 @192.168.70.5 (Version: 4.1.12) id=7 @192.168.70.2 (Version: 4.1.12) id=8 @192.168.70.6 (Version: 4.1.12) id=9 @192.168.70.4 (Version: 4.1.12) 4 关闭 ndb_mgm --shutdow 第五部分 集群优化和其它组件 一 网络 二 APACHE 三 PHP 四 MYSQL 五 NTP 六 LINUX 七 备份 八 安全 九 aws apache 日志分析
还剩32页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

timer00

贡献于2011-11-06

下载需要 15 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf