MaxScale은 MariaDB의 앞단에서 HA 및 query routing, CDC 등을 처리해주는 솔루션입니다. MariaDB는 물론, mariadb-server-galera도 Red Hat Software Collections (RHSCL)에 포함되어 있습니다만, 현재로서는 MaxScale은 포함되어 있지 않습니다.
하지만 MaxScale은 open source이므로 source로부터 쉽게 build할 수 있습니다.
[cecuser@p606-kvm1 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.1 (Ootpa)
먼저 일반적인 개발 환경을 위해 필요한 package들을 설치합니다.
다음으로는 아래 OS package들을 설치하고, Rambbit-MQ와 Jansson 등의 open source SW를 source로부터 build합니다. 원래 이 과정들은 MaxScale source code package 중에서 포함된 install_build_deps.sh를 수행하면 자동으로 되는 것입니다만, ppc64le에서는 일부 수행 오류가 나는 것이 있어서 다음과 같이 수동으로 수행하면 됩니다.
[cecuser@p606-kvm1 ~]$ sudo yum install -y libtool openssl-devel libaio libaio-devel libedit systemtap-sdt-devel rpm-sign wget gnupg pcre-devel flex rpmdevtools git wget tcl tcl-devel openssl libuuid-devel xz-devel sqlite sqlite-devel pkgconfig lua lua-libs rpm-build createrepo yum-utils gnutls-devel libgcrypt-devel pam-devel libcurl-devel nodejs-devel
[cecuser@p606-kvm1 ~]$ git clone https://github.com/alanxz/rabbitmq-c.git
[cecuser@p606-kvm1 ~]$ cd rabbitmq-c
[cecuser@p606-kvm1 rabbitmq-c]$ git checkout v0.7.1
[cecuser@p606-kvm1 rabbitmq-c]$ sudo make install
[cecuser@p606-kvm1 rabbitmq-c]$ cd ..
[cecuser@p606-kvm1 ~]$ git clone https://github.com/akheron/jansson.git
[cecuser@p606-kvm1 ~]$ cd jansson
[cecuser@p606-kvm1 jansson]$ git checkout v2.9
[cecuser@p606-kvm1 jansson]$ mkdir build && cd build
[cecuser@p606-kvm1 build]$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_FLAGS=-fPIC -DJANSSON_INSTALL_LIB_DIR=/usr/lib64
[cecuser@p606-kvm1 build]$ make
[cecuser@p606-kvm1 build]$ sudo make install
[cecuser@p606-kvm1 build]$ cd ../..
[cecuser@p606-kvm1 ~]$ wget -q -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories https://downloads.apache.org/avro/stable/c/
[cecuser@p606-kvm1 ~]$ tar -zxf avro-c-1.9.2.tar.gz
[cecuser@p606-kvm1 ~]$ cd avro-c-1.9.2
[cecuser@p606-kvm1 avro-c-1.9.2]$ mkdir build && cd build
[cecuser@p606-kvm1 build]$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC
[cecuser@p606-kvm1 build]$ make && sudo make install
[cecuser@p606-kvm1 build]$ cd ../..
이제 MaxScale의 source를 download 받습니다.
[cecuser@p606-kvm1 ~]$ git clone https://github.com/mariadb-corporation/MaxScale
[cecuser@p606-kvm1 ~]$ cd MaxScale/
[cecuser@p606-kvm1 MaxScale]$ mkdir build && cd build
원래 manual에는 아래와 같이 install_build_deps.sh를 수행하라고 되어 있지만, 하지 마십시요. 위에서 이미 수동으로 다 처리했으며, 이걸 수행하면 x86용 binary를 download 받아서 멀쩡한 nodejs 관련 파일을 망쳐놓는 오작동을 합니다.
cmake를 수행합니다.
[cecuser@p606-kvm1 build]$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
그리고 다음 파일에서 ppc64만 있고 ppc64le가 없어서 발생하는 error가 있으므로, 아래와 같이 수정합니다.
[cecuser@p606-kvm1 build]$ vi ../query_classifier/qc_sqlite/sqlite-src-3110100/config.guess
...
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc64le:Linux:*:*) # 추가
echo powerpc64le-unknown-linux-${LIBC} # 추가
exit ;; # 추가
...
다음은 make를 수행하면 됩니다.
[cecuser@p606-kvm1 build]$ make && sudo make install
테스트를 해보면 모두 정상 수행되는 것을 보실 수 있습니다.
[cecuser@p606-kvm1 build]$ make test
Running tests...
Test project /home/cecuser/MaxScale/build
Start 1: test_mxb_log
1/62 Test #1: test_mxb_log ........................ Passed 0.01 sec
Start 2: test_semaphore
2/62 Test #2: test_semaphore ...................... Passed 12.01 sec
Start 3: test_worker
...
61/62 Test #61: test_hintparser ..................... Passed 0.01 sec
Start 62: test_masking_rules
62/62 Test #62: test_masking_rules .................. Passed 0.01 sec
100% tests passed, 0 tests failed out of 62
Total Test time (real) = 108.24 sec
Wynn Las Vegas - JM Hub
답글삭제Wynn Las Vegas. Hotel Details. Las 천안 출장안마 Vegas. Amenities. Location. 7.7 sq ft, 1292 양주 출장샵 m², 718 삼척 출장마사지 suites, 광주 출장안마 1292 경상남도 출장샵