1. 程式人生 > >CDH 配置Mysql高可用:主從和keepalived

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的連線也修改下即可。修改配置:直接搜尋:“資料庫”就可以找到對應的修改項