LEXST 1.1 for Windows
30th March, 2009 ,
please find latest version of this Guide at http://www.lexst.com
1. Check the Software Before Install LEXST
5.1 Master Node(s) Installation
5.2 User Node Installation
5.3 Data Node Installation
5.4 Call Node Installation
5.5 Remote Node Installation
5.6 Log Node Installation
6.1. Allocation of Ports
6.1.1. Allocation of Port for Remote Procedure Call
6.1.2. Allocation of Port for Listening to Service Shutdown
6.1.3. Allocation of Port for log
6.1.4. Allocation of port_for remote control6.2. Configure the log
6.2.1 Configure the Log Port Number6.3.Configure RPC(Remote Procedure Call) Port
6.4 Configure the number of Standby Nodes
6.5 Indexing Space on User Node
6.6 IP list of Master Node
6.7 Disk Sector
6.8 Local Path and Local IP
6.9 Space of data node
6.10 User name space on user node
6.11 The table head space in user node
6.12 Shutdown(Quit) Service Configuration
Please check the software package before install LEXST. The package should include:
1. Lexstmasterinstall.exe
2. Lexstloginstall.exe
3. Lexstdata.exe
4. Lexstcallinstall.exe
5. Lexstuserintall.exe
6. Lexstremoteinstall.exePlease NOTE: Some components of the LEXST are compiled in Java script, you need to install Java JDK(6.0 or above) before running Lexst, users can download Java at website of sun, http://java.sun.com
Install JDK 6.0(or above) in each node.
Lexst system consists of nodes, usually a node means a server, but users can install multiple nodes on one server, if there is no enough number of servers available.
There are 6 kinds of nodes, master, log, user, data, Call and remote nodes, some kinds of node need one or a few backups, the backup servers are "Standby Nodes", they are copies of the "main nodes". Once a Primary node fails, one of its Standby Nodes will take the role immediately.
There is another kind of node named "Idle Node", Idle node is sleeping in most time. Once a user node or data node need extra disk space to store data.
License controls how many data nodes, user nodes, Call nodes can be deployed.
1. Master node:
Master node is center of LEXST system, it controls all other nodes, and checks the status of nodes at regular intervals. There can be a few Master nodes in the system, but only one is working, others are "Standby Master Nodes", one of the "Standby Master Nodes" will be selected automatically and immediately as the "Primary Master Node", if the primary one fails.
Administrator decides how many "standby master node" needed in LEXST cluster,
2. Log node:
Log node records all activities of other nodes, administrator can check the log and track problems here.
3. User node
User nodes manage the registered users, user rights, and security policies, how many user nodes (including primary and standby nodes) can be deployed in system is decided by license.
4. Data node
Lexst handles data here, insert, update, search,and delete. How many data nodes (including primary and standby nodes) can be deployed in system is decided by license.
5. Call node
Call node handles requests from users, how many Call nodes (including the primary and standby nodes) can be deployed in system id decided by license. Tools and API are provided here to users for further development.
6. Remote Node
Remote node has a graphic interface, administrator can login, create, manage, and remove users. Users can login here to create table, alter table, remove table, insert data, search data, update data rows, and delete rows.
7. Limits on Node numbers
Lexst limits the number of nodes through license, if client buy 10 nodes license, the total number of following nodes can not exceed 10:
Data nodes(include primary, standby, and idle nodes);
User node(include primary, standby, and idle nodes);
Call node(include primary, standby, and idle nodes);
NOTE: Clients can deploy as many Master nodes and Remote nodes as he/she likes.
"ONE NODE ON ONE SERVER", is the guideline when installing the nodes, because Lexst is a distributed system. However, if user have not enough number of servers initially, a few nodes(even all nodes) can be installed on one server.
1. Master Node(s) Installation
On the "Master" server(s), which will play the role of "Master node(s)", run LEXSTMasterinstall.exe,the application would be installed in the directory instructed.
On the "User server(s)", run Lexstuserinstall.exe,the application would be installed in the directory you instructed.
On the "Data server(s)", run Lexstdatainstall.exe, the application would be installed in the directory you instructed.
On the "Call" server(s),run Lexstcallinstall.exe, the application would be installed in the directory you instructed.
5. Remote Configure Node(s) Installation
On the "Remote " server(s), run LexstRemoteinstall.exe, the application would be installed in the directory you instructed.
On the "LOG" server(s), run LogNode.exe, the application would be installed in the directory you instructed.
RPC(Remote Procedure Call) allocation:
| Master | 8000 | Master Node is the center of LEXST system, Port 8000 is the default port number for the communications between all nodes,usually it should not be changed to other port. z However if it has to be changed to other port, Master Port number must be changed either in file "local.xml" and "local.ini" of each node server. |
| User | 8010 | allocated by Master Node,used in User Node, see it in the file local.xml under master directory |
| Data | 8020 | allocated by Master Node,used in Data Node, see it in the file local.xml under master directory |
| Call | 8030 | allocated by Master Node,used in Call Node, see it in the file local.xml under master directory |
Port of Listening to Service Shutdown:
| Master | 7000 | LPSQ accepts and handle the request of "Service Quit" from Local IP or trusted IPs. LPSQ starts when the node starts, you can also see the allocation in the file "shutdown.ini" in each respective node |
| User | 7010 | |
| Data | 7020 | |
| Call | 7030 | |
| Log | 7040 |
| Master | 9000 | log port number assigned by the master node to log server, all servers shall connect to log server as clients, log server records the activities of nodes. User shall ensure the port numbers identical in the whole LEXST cluster. |
| User | 9010 | |
| Data | 9020 | |
| Call | 9030 |
Allocation of Port of Remote Control
| Master Node | 6000 | This port is bound when Remote Node starts, which will connect to "Master Node" through this port. This configuration info and option can aslo be found in file "lexst/Call/local.xml". |
All local.xml files under each directory are in identical format, the lables are explained as following:
<tag>: name of the nodes
<level>:shows one of four different levels: "Debug","Info","Warning","Erro"
<console-print>: if the log info shall be printed to console
<target>: where the log info be sent and stored, "server"--log server;"file"--saved as local file;"none"-->log info not stored
<directory>: where the log file stored in local node
<savetime>: how long the log info shall be kept before it is sent or saved locally
<sizeout>: how much log info shall be kept before it is sent or saved locally
<connect-mode>: Mode "TCP" or Mode "UDP" will be used when sending the log info to log server.
log ports are configured in local.xml file of master node
<tag>: name of nodes, "Master","UserServer","DataSever","CallServer",or "Any" , the tag "<tag>" shall not be changed in any case.
<tcp-port>: the TCP port number
<udp-port>: the UDP port number
RPC(Remote Procedure Call) Port Configuration:
RPC is configured in the local.xml file on Master Node.
<bind-port> which local socket port bound by RPC
<any-bindport> After <bind-port> being bound, if other port is also allowed bound by RPC, "yes" value is default.
Configured in "local.xml " file of Master node. However the configuration here sometimes is limited by the license, particuarlly for those small cluster.
<user-cluster> how many Standby Nodes of each unique "user node" in the LEXST searching cluster allowed. Minimum number is "1", and only one node(primary) plays the role of this very "user-node", the other ones with identical content are "Standby User Nodes".
<data-cluster> how many standby nodes of each unique "data node" in the LEXST searching cluster allowed. Minimum number is "1", and only one node plays the role of this very "DATA-node", the other ones with identical content are standby nodes.
Indexing space of user node is specified in file "local.xml" on Master node,
<index-size>: how many byte can be used as indexing space on user node, it shall be a number greater than "0", an ideal value shall bewteen "1048576" and " 104857600", i.e. ( bewteen 1 M and 100 M). Too big index wastes, too small index results low efficiency.
It is specified on the data node, user node and Call node
<address>: IP address and port number of master node.
It is specified in "local.xml" on user node and data node.
<sectors-size> size of sectors of local hard disk (unit is byte)
It is specified in the local.xml file on the data node, user node and Call node
<local-path> local path, shall be specified manually after the node installed.
<local-ip> local IP address, if user input "localhost" or "127.0.0.1", the node would choose a physical IP
It's specified in "local.xml" on data node:
<table-path> show the path where the tables shall be stored.
<index-path> where the first leve index shall be stored.
<index2-path> where the second level index shall be stored.
<swap-path> where to store the temp files created during running time. the space size shall greater than the biggest talbe size.
It is specified in "local.xml" file on user node:
<table-path> username space, where the user names stored
<index-path> where the user name index(level 1) stored.
<index2-path> where the user name index(level 2) stored.
<swap-path> where user node exchange temporary data during running time.
The table head space in user node
It's specified in "local.xml" file on user node:
<table-path> where the username table head stored in usernode<index-path> where the user name table head index(level 1) stored.
<index2-path> where the user name table head index(level 2) stored.
<swap-path> where user node exchange temporary data of table head during running time.
Shutdown(Quit) Service Configuration
shutdown-ip: Local IP address bound by shutdown service, if leave blank, the system would choose one available automatically.
shutdown-port: Which port will keep listening to service shutdown activity, this port number is pre-assigned, you can see the allocation here.
accept-address: Shutdown requests from which IPs shall be accepted.
The LEXST license includes two files "message.ac" and "message.key", which locats in the master directory. Upon starting, the master node would check the license. If license need to be upated, just put the new license files into the directory, and overwrite the old ones. Before the updates, user can verify the license.
1. Start
Follow steps blow to start Lexst in proper order:
1.On Master-node: run "lexst/master/master.exe"
2.On Log-node: run "lexst/log/logsvr.exe"
3.On User-node: run "lexst/uer/usersvr.exe"
4. On Data node: run "lexst/data/datasvr.exe"
5. On Call node: run "lexst/Call/Call.exe"
6. On remote node: run "lexst/remote/remote.exe", where administrator can login
Note: You must follow the steps in correct sequence to ensure the whole cluster work properly.
After all above nodes started, you can start "standby" nodes whenever you want.
Login: Username: Administrator, initial passoword:12345678
Server (IP:Port) example: 192.168.0.1:6000 or 127.0.0.1:6000
2. Shutdown (Quit) Service
click shutdown.exe to quit service, each diretory has a "shutdown.exe" file. Administrator can romotely shutdown nodes from master node.
You must follow the sequence below to shutdown:
1. remote node (if any running)
2. Call node
3. Data node
4. User node
5. Log node
6. Master node
Note: You must follow the steps in correct sequence, to prevent from damages to data stored.
1. Tune the Memory Usage
Two parameters control the memory usage, Xms32m and Xms128m, they are specified in the file "startup.lxs".Defaultly system will allocate 20%-80% of available memory of system.2. Start Mode
All node except "Remote node" shall run in server mode, this specification can be found at startup.lxs file.
1. Java version: Before installing LEXST, user must install JAVA JDK(5.0 or above) on each node (except "remote node"). Some user may try to install JRE only, but our test shows that under JRE, the system is not as stable as that under JDK.
2. Firewall and Virus Killer: Users shall ensure the port and communications between nodes is usable, configure your firewall or virus killer remove the limits on LEXST, and ports LEXST uses.
3. Make sure at least one master node, one log node, one data node, one user node, one Call node is running.
4. Files bigger than 4G: The current popular system is 32 bits, for some very very huge tables, indexing file size will exceed 4G. In this case, users can switch to 64 bit operation system which support files size bigger than 4G.
5. Memory overflow: LEXST can handle momory overflow, but overflow obviously will affect the stability of operation system, users shall adjust memory usage to avoid overflow.
6. A survey on LEXST users shows around 75% hardware problems come from hard disk. Because LEXST is designed to handle large scale concurrent search requests, frequent read-write operations require users take care to the hard disk, particularly for those.
7. Definite the indexing space: When user creating table, LEXST allocates indexing space for the table, user shall request appropriate indexing space according to the table data volume. For example: 2,000,000 indexs take 10 M space, 20,000,000 indexs take 100 M space, and so on...
8. When user created a new table, LEXST system would seek a most suitable data node and create data space for the table, it takes a while, around one minute.
9. Repare Data: Fragments would be found when a windows system has been running for a period of time, and it may slow down applications, LEXST system offers tools to repair the windows fragments. During the repairring,LEXST can't handle any searching request.
10. Except remote node, all other nodes shall be running in server mode.
11. This documents shall be used only when LEXST users install and maintain in Windows system. For any question, please contact us, LEXST has the right of final explaination.
Here are sample of the JDBC,which is a connection between Java and your existing database system. (All major database systems published their own JDBC drivers).
JDBC Driver :C:\SQLServer\lib\sqlservier.jar; http://10.1.2.63:522/lib/driver.jar
Bootstarp: com.microsoft.driver.sql.SQLStartup
JDBC URL: jdbc:sqlserver://10.1.23.69:1433;DatabaseName=Warp;
please find latest version of this Guide at http://www.lexst.com