CDH 配置Mysql高可用:主從和keepalived
問題描述:配置CDH 配置Mysql高可用,並實現和cdh無縫對接。
主從和keepalived配置步驟:網上很多,這裡就不多贅述了!
配置常用命令:
查詢mysql連線使用的是那臺伺服器:
show variables like "%hostname%";
service keepalived restart
service mysqld restart
service mysqld stop
ps -ef |grep keepalived
問題一:scm無法連線虛擬IP問題。
grant all on *.* to 'scm'@'%' identified by 'scm' with grant option;
flush privileges;
問題二:表無法找到!table not exits,由於主從複製沒有區分表名的大小寫導致。
配置myslq不區分大小寫:vi /etc/my.cnf
lower_case_table_names = 1 #不區分大小寫問題!
問題三:怎麼配置my.cnf
vim my.cnf
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
validate_password=off
log-bin=MySQL-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
server-id=2
binlog-do-db=hive
replicate-do-db=hive
binlog-do-db=oozie
replicate-do-db=oozie
binlog-do-db=hue
replicate-do-db=hue
slave-net-timeout=60
binlog-do-db=temp
replicate-do-db=temp
binlog-do-db=mysql
replicate-do-db=mysql
#replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=information_schema.%
replicate-wild-ignore-table=sys.%
replicate-wild-ignore-table=performance_schema.%
lower_case_table_names = 1
問題四:怎麼配置
! Configuration File for keepalived
global_defs {
router_id mysql-ha
}
vrrp_instance VI_1 {
state BACKUP
interface ens32
virtual_router_id 202
#優先順序,高優先順序競選為master
priority 90
advert_int 1
#設定為不搶佔 注:這個配置只能設定在backup主機上,而且這個主機優先順序要比另外一臺高,另一臺不要設定這個選項
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
172.17.10.155
}
}
virtual_server 172.17.10.155 3306 {
delay_loop 2
lb_algo rr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 172.17.10.153 3306 {
weight 1
notify_down /root/shutdown.sh
TCP_CHECK {
connect_port 3306
connect_timeout 3
nb_get_retry 2
delay_before_retry 1
}
}
}
cat /etc/keepalived/keepalived.conf
問題五:配置完畢後,怎麼對接cdh叢集呢?
修改叢集的配置:
後臺配置檔案修改:主節點
cat /opt/cloudera-manager/cm-5.8.0/etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=172.17.10.155#改為虛擬IP!!!
com.cloudera.cmf.db.name=temp
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=scm
manager介面修改:
1)Cloudera Management Service
2)oozie
3)hive
4)hue
5)根據你的元件,其他地方如果用到了mysql的連線也修改下即可。修改配置:直接搜尋:“資料庫”就可以找到對應的修改項