Add more to building from source, extracted from README; create About MaxScale.
This commit is contained in:
parent
517524a8b4
commit
241e4a3175
23
Documentation/About/About-MaxScale.md
Normal file
23
Documentation/About/About-MaxScale.md
Normal file
@ -0,0 +1,23 @@
|
||||
# About MaxScale
|
||||
The MariaDB Corporation **MaxScale** is an intelligent proxy that allows forwarding of database statements to one or more database servers using complex rules, which can be based on a semantic understanding of the database statements and the roles of the various servers within the backend cluster of databases.
|
||||
|
||||
MaxScale is designed to provide load balancing and high availability functionality transparently to the applications. In addition it provides a highly scalable and flexibile architecture, with plugin components to support different protocols and routing decisions.
|
||||
|
||||
MaxScale is implemented in C so as to operate speedily. It also makes extensive use of the asynchronous I/O capabilities of the Linux operating system. The epoll system is used to provide the event driven framework for the input and output via sockets. Similar features in Windows® could be used in future development of MaxScale.
|
||||
|
||||
Many of the services provided by MaxScale are implemented as external shared object modules which can be loaded at runtime. These modules support a fixed interface, communicating the entry points via a structure consisting of a set of function pointers. This structure is called the "module object". Additional modules can be created to work with MaxScale.
|
||||
|
||||
One group of modules provides support for protocols, both for clients that communicate with MaxScale and for backend servers. The code that routes the queries to the backend servers is also loaded as external shared objects and they are referred to as routing modules. Another group of modules work on data as it passes through MaxScale, and they are known as filters.
|
||||
|
||||
A Google Group exists for MaxScale that can be used to discuss ideas, issues and communicate with the MaxScale community:
|
||||
Send email to [maxscale@googlegroups.com](mailto:maxscale@googlegroups.com)
|
||||
or use the [forum](http://groups.google.com/forum/#!forum/maxscale) interface
|
||||
|
||||
Bugs can be reported in the MariaDB Corporation bugs database
|
||||
[bug.mariadb.com](http://bugs.mariadb.com)
|
||||
|
||||
## Installing MaxScale
|
||||
Information about installing MaxScale, either from a repository or by building from source code, is included in the guide [Getting Started with MaxScale](/Documentation/Getting-Started/Getting-Started-With-MaxScale.md).
|
||||
|
||||
The same guide also provides basic information on running MaxScale. More detailed information about configuring MaxScale is given in the [Configuration Guide](/Documentation/Getting-Started/Configuration-Guide.md).
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
## About MaxScale
|
||||
|
||||
- [About MaxScale](About/About-MaxScale.md)
|
||||
- [Release Notes 1.0.4](About/MaxScale-1.0.4-Release-Notes.md)
|
||||
- [Limitations](About/Limitations.md)
|
||||
- [COPYRIGHT](About/COPYRIGHT.md)
|
||||
|
@ -40,9 +40,53 @@ Alternatively you may download the MaxScale source and build your own binaries.
|
||||
|
||||
* MariaDB Develop libraries version 5.5.38 or later
|
||||
|
||||
* libedit 2.11 or later (used by MaxAdmin tool)
|
||||
* libedit 2.11 or later (used by the MaxAdmin tool)
|
||||
|
||||
First clone the GitHub project to your machine either via the web interface, your favorite graphical interface or the git command line
|
||||
The full list of dependencies for the most common distros is provided in the next section.
|
||||
|
||||
### All RHEL, CentOS and Fedora versions:
|
||||
gcc gcc-c++ ncurses-devel bison glibc-devel cmake libgcc perl make libtool
|
||||
openssl-devel libaio libaio-devel librabbitmq-devel
|
||||
In addition, if you wish to to build an RPM package include:
|
||||
rpm-build
|
||||
|
||||
#### RHEL 6, 7, CentOS 6, 7, Fedora:
|
||||
libedit-devel
|
||||
|
||||
#### RHEL 7, CentOS 7:
|
||||
mariadb-devel mariadb-embedded-devel
|
||||
|
||||
#### RHEL 5, 7, CentOS 5, 6, Fedora 19, 20
|
||||
MariaDB-devel MariaDB-server
|
||||
|
||||
#### Fedora 19, 20
|
||||
systemtap-sdt-devel
|
||||
|
||||
### All Ubuntu and Debian versions:
|
||||
build-essential libssl-dev libaio-dev ncurses-dev bison
|
||||
cmake perl libtool librabbitmq-dev
|
||||
If you want to build a DEB package, you will also need:
|
||||
dpkg-dev
|
||||
|
||||
#### Ubuntu 14.04 or later, Debian 8 (Jessie) or later
|
||||
libmariadbclient-dev libmariadbd-dev
|
||||
|
||||
#### Earlier versions of Ubuntu or Debian
|
||||
|
||||
For these, you will need to obtain the MariaDB embedded library. It has to be manually extracted from the tarball. But first ascertain what version of glibc is installed. Run the command:
|
||||
dpkg -l | grep libc6
|
||||
which will show the version number. If the version is less than 2.14 you should obtain the library from:
|
||||
[https://downloads.mariadb.org/interstitial/mariadb-5.5.41/bintar-linux-x86_64/mariadb-5.5.41-linux-x86_64.tar.gz](https://downloads.mariadb.org/interstitial/mariadb-5.5.41/bintar-linux-x86_64/mariadb-5.5.41-linux-x86_64.tar.gz).
|
||||
Otherwise, from:
|
||||
[https://downloads.mariadb.org/interstitial/mariadb-5.5.41/bintar-linux-glibc_214-x86_64/mariadb-5.5.41-linux-glibc_214-x86_64.tar.gz](https://downloads.mariadb.org/interstitial/mariadb-5.5.41/bintar-linux-glibc_214-x86_64/mariadb-5.5.41-linux-glibc_214-x86_64.tar.gz)
|
||||
|
||||
The suggested location for extracting the tarball is /usr so the operation can be done by the following commands:
|
||||
cd /usr
|
||||
tar -xzvf /path/to/mariadb.library.tar.gz
|
||||
where /path/to/mariadb.library.tar.gz is replaced by the actual path and name of the downloaded tarball.
|
||||
|
||||
##Obtaining the MaxScale Source Code
|
||||
Now clone the GitHub project to your machine either via the web interface, your favorite graphical interface or the git command line
|
||||
|
||||
$ git clone https://github.com/mariadb-corporation/MaxScale
|
||||
Cloning into 'MaxScale'...
|
||||
@ -57,7 +101,7 @@ Change directory to the MaxScale directory, create a build directory and change
|
||||
|
||||
$ cd build
|
||||
|
||||
The next step is to run the cmake command to build the Makefile you need to compile Maxscale. There are a number of options you may give to configure cmake and point it to the various packages it requires. These are documented in the MaxScale README file, in this example we will assume the MariaDB developer packages have been installed in a non-standard location and set all the options required to locate these, along with options to build the unit tests and configure the installation target directory.
|
||||
The next step is to run the cmake command to build the Makefile you need to compile Maxscale. There are a number of options you may give to configure cmake and point it to the various packages it requires. These are documented in the MaxScale README file, in this example we will assume the MariaDB developer packages have been installed in a non-standard location and set all the options required to locate these, along with options to build the unit tests and configure the installation target directory.
|
||||
|
||||
$ cmake -DMYSQL\_DIR=/usr/mariadb-5.5.41-linux-x86_64/include/mysql \
|
||||
-DEMBEDDED\_LIB=/usr/mariadb-5.5.41-linux-x86\_64/lib/libmysqld.a \
|
||||
|
Loading…
x
Reference in New Issue
Block a user