Thứ sáu, 02/06/2017 | 00:00 GMT+7

how-to-config-an-orientdb-cluster-on-ubuntu-16-04

OrientDB là một database NoSQL đa mô hình với sự hỗ trợ cho database đồ thị và tài liệu. Nó là một ứng dụng Java và có thể chạy trên bất kỳ hệ điều hành nào. Nó cũng hoàn toàn có ACID -complaint với hỗ trợ phân cụm và sao chép nhiều chủ, cho phép mở rộng quy mô theo chiều ngang dễ dàng.

Tuy nhiên, từ "cluster" trong OrientDB có thể đề cập đến hai khái niệm khác nhau:

  1. Bạn có thể có một cụm các nút OrientDB, là các server chạy OrientDB. Điều này ngụ ý sử dụng ít nhất một server vật lý (hoặc cloud ), vì nhiều version OrientDB có thể chạy trên một server .
  2. Bạn cũng có thể có một cụm trong cơ sở dữ liệu OrientDB, là một group các bản ghi có cùng kiểu hoặc giá trị. Một cụm như vậy cũng có thể tồn tại trên nhiều server hoặc được giới hạn trong một server .

Trọng tâm của bài viết này là về loại cụm đầu tiên, tức là một cụm nút. Trong chế độ cụm, OrientDB chạy trong kiến trúc phân tán nhiều chủ hoặc ít chủ, nghĩa là mọi nút trong cụm hoạt động bình đẳng và có thể đọc / ghi các bản ghi của nhau. Tuy nhiên, một nút cũng có thể tham gia một cụm như một bản sao , nơi nó hoạt động ở chế độ chỉ đọc.

Trong hướng dẫn này, bạn sẽ cài đặt một cụm ba nút với hai nút chính và một nút sao bằng cách sử dụng version cộng đồng của OrientDB.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần :

  • Ba server Ubuntu 16.04 có đủ RAM để hỗ trợ cụm. Điều này sẽ khác nhau tùy thuộc vào nhu cầu của bạn và cách bạn tùy chỉnh OrientDB, nhưng 4GB mỗi chiếc là một mặc định tốt.

  • Tường lửa và account user không phải root có quyền sudo được cài đặt trên mỗi server bằng cách sử dụng Hướng dẫn Cài đặt Server Ban đầu với Ubuntu 16.04 này .

  • Java phải được cài đặt trên tất cả các server , bạn có thể thực hiện theo bước JDK 8 của hướng dẫn cài đặt Java này . OpenJDK JRE cũng hoạt động, vì vậy nếu bạn không muốn chấp nhận giấy phép Oracle, bạn có thể cài đặt JRE mặc định bằng cách sử dụng cùng một hướng dẫn đó.

  • Cài đặt OrientDB trên mỗi server theo Bước 1 của hướng dẫn cài đặt OrientDB server đơn chính xác như đã viết. Bạn có thể tùy chọn làm theo Bước 2 để giới hạn dung lượng RAM cần thiết; tập lệnh khởi động phân tán OrientDB dự kiến có ít nhất 4 GB RAM và sẽ không khởi động được nếu tìm thấy ít hơn trừ khi bạn thay đổi điều này.

  • OrientDB cài đặt như một dịch vụ Systemd trên mỗi server theo các Bước 5 và 6 của hướng dẫn cài đặt OrientDB trên một server , dừng sau khi bạn reload các đơn vị (tức là không khởi động dịch vụ). Thay đổi duy nhất bạn cần thực hiện là file bạn cung cấp cho ExecStart trong file đơn vị. Hướng dẫn ban đầu sử dụng server.sh , nhưng ở đây, sử dụng d server.sh cho chế độ phân tán.

Bước 1 - Tạo password root và tên version OrientDB

Đầu tiên, ta sẽ chạy tập lệnh server phân tán, dserver.sh để tạo thông tin xác thực mà version của OrientDB cần để hoạt động trong một cụm. Cụ thể, điều này sẽ cho phép ta đặt password root và tên cho version của OrientDB. Bạn cần làm theo bước này trên cả ba server .

Để bắt đầu, hãy chuyển đến folder cài đặt.

  • cd /opt/orientdb

Sau đó khởi động server phân tán.

  • sudo bin/dserver.sh

Khi khởi động server phân tán lần đầu tiên, bạn sẽ được yêu cầu chỉ định password cho account user gốc . Đây là account OrientDB nội bộ sẽ được sử dụng để truy cập server như OrientDB Studio, giao diện dựa trên web để quản lý OrientDB và kết nối với OrientDB từ console . Nếu bạn không chỉ định password ở đây, một password sẽ được tạo tự động. Tuy nhiên, tốt nhất là bạn nên tự chỉ định một cái, vì vậy hãy làm như vậy khi được đưa ra với dấu nhắc sau:

Output
+---------------------------------------------------------------+ | WARNING: FIRST RUN CONFIGURATION | +---------------------------------------------------------------+ | This is the first time the server is running. Please type a | | password of your choice for the 'root' user or leave it blank | | to auto-generate it. | | | | To avoid this message set the environment variable or JVM | | setting ORIENTDB_ROOT_PASSWORD to the root password to use. | +---------------------------------------------------------------+ Root password [BLANK=auto generate it]: ***** Please confirm the root password: *****

Sau đó, bạn sẽ được yêu cầu đặt tên cho version của OrientDB, có thể giống với tên của server cloud mà nó đang chạy.

Output
+---------------------------------------------------------------+ | WARNING: FIRST DISTRIBUTED RUN CONFIGURATION | +---------------------------------------------------------------+ | This is the first time that the server is running as | | distributed. Please type the name you want to assign to the | | current server node. | | | | To avoid this message set the environment variable or JVM | | setting ORIENTDB_NODE_NAME to the server node name to use. | +---------------------------------------------------------------+ Node name [BLANK=auto generate it]: node-name

Khi tập lệnh chạy xong, bạn sẽ thấy một dòng như thế này:

Output
2017-06-01 02:24:00:717 INFO OrientDB Server is active v2.2.20 (build 76ab59e72943d0ba196188ed100c882be4315139). [OServer]

Đến đây, bạn có thể kết thúc quá trình bằng CTRL+C Bây giờ OrientDB đã được cài đặt, ta cần sửa đổi một số file cấu hình để cho phép nó chạy dưới dạng một cụm.

Bước 2 - Cấu hình OrientDB thành chức năng trong chế độ phân tán

Để cài đặt OrientDB hoạt động như một nút trong một cụm, ba file trong folder config của nó cần được sửa đổi. Họ đang:

  1. hazelcast.xml : Các thông số được xác định trong file này giúp khả năng tự động phát hiện các node .
  2. default-distributed-db-config.json : Tệp này chỉ được sử dụng trong môi trường phân tán và được sử dụng để xác định hành vi của nút cho mỗi database .
  3. orientdb-server-config.xml : Đây là file cấu hình OrientDB chính cần được sửa đổi dù ở chế độ phân tán hay độc lập.

Ta sẽ sửa đổi từng file trong bước này, bắt đầu với hazelcast.xml .

Sửa đổi file hazelcast.xml

Cài đặt quan trọng nhất mà bạn sẽ phải cấu hình trong hazelcast.xml là cơ chế mà mỗi nút sẽ sử dụng để tham gia cụm. Hai cơ chế mà ta sẽ xem xét trong phần này là IP MulticastTCP / IP-cluster . Với cái trước, bạn chỉ định địa chỉ và cổng phát đa hướng mà mỗi nút sẽ sử dụng để tự động phát hiện mạng mà nó thuộc về. Với thứ hai, địa chỉ IP của mỗi thành viên cụm phải được chỉ định. Vì phát đa hướng IP không được hỗ trợ trên DigitalOcean, nên TCP / IP-cluster là phương pháp ta sẽ sử dụng ở đây.

Để bắt đầu, hãy mở file để chỉnh sửa:

  • sudo nano /opt/orientdb/config/hazelcast.xml

Tệp không dài lắm. Đây là version bị cắt ngắn chỉ hiển thị các phần của file bạn sẽ thay đổi:

/opt/orientdb/config/hazelcast.xml
. . .     <group>         <name>orientdb</name>         <password>orientdb</password>     </group>     <properties>             . . .     </properties>     <network>         <port auto-increment="true">2434</port>         <join>             <multicast enabled="true">                 <multicast-group>235.1.1.1</multicast-group>                 <multicast-port>2434</multicast-port>             </multicast>         </join>     </network> 

Những gì bạn sẽ làm với file này là tắt tính năng phát đa hướng IP, thêm một mục nhập cho phép TCP / IP-cluster và chỉ định các thành viên của cụm. Hãy xem xét từng thẻ:

  • group> name : Phần tử này xác định tên của cụm. Bạn có thể chọn bất cứ thứ gì bạn thích.
  • group> password : Xác định password được sử dụng để mã hóa các tin nhắn quảng bá được gửi bởi mỗi thành viên tham gia group . Chọn một password mạnh ở đây.
  • mạng> cổng : Xác định cổng được sử dụng để tự động phát hiện các node . Thuộc tính auto-increment chỉ dẫn cơ chế bắt đầu với cổng đã xác định và tiếp tục thử các cổng khác nếu cổng đó đang được sử dụng. Bằng cách đặt nó thành false, cổng đã xác định sẽ được sử dụng để giao tiếp và việc khám phá nút sẽ không thành công nếu cổng đã được sử dụng. Đối với bài viết này, thuộc tính sẽ bị vô hiệu hóa.
  • tham gia> phần tử đa hướng được sử dụng để xác định các tham số đa hướng IP. Bạn sẽ không sử dụng IP đa hướng, vì vậy ta sẽ bỏ qua chúng. Điều đó nghĩa là ta sẽ đặt thuộc tính enabled thành false.

  • join> tcp-ip : Điều này được sử dụng để xác định các tham số liên quan đến TCP / IP-cluster. Thuộc tính enabled được sử dụng để kích hoạt nó.

  • join> tcp-ip> member : Xác định từng thành viên của cụm. Có những cách tiếp cận khác để chỉ định từng thành viên, nhưng ta sẽ tiếp cận với cách này, nơi địa chỉ IP của từng thành viên được chỉ định (một trên mỗi dòng).

Khi bạn hoàn tất sửa đổi file , version cuối cùng sẽ giống như sau:

/opt/orientdb/config/hazelcast.xml
. . .     <group>         <name>clusterName</name>         <password>clusterPassword</password>     </group>     <properties>             . . .     </properties>     <network>         <port auto-increment="false">2434</port>         <join>             <multicast enabled="false">                 <multicast-group>235.1.1.1</multicast-group>                 <multicast-port>2434</multicast-port>             </multicast>             <tcp-ip enabled="true">                 <member>your_master_server_ip_1</member>                 <member>your_master_server_ip_2</member>                 <member>your_replica_server_ip</member>             </tcp-ip>         </join>     </network> 

Lưu file khi bạn chỉnh sửa nó. Tiếp theo là file thứ hai trong danh sách của ta .

Sửa đổi file default-distributed-db-config.json

Giống như với hazelcast.xml , ta sẽ chỉ thực hiện một vài sửa đổi đối với /opt/orientdb/config/default-distributed-db-config.json . Trong file này, bạn chỉ định role (chính hoặc bản sao) mà mỗi server phải đóng trong cụm.

Mở nó để chỉnh sửa.

  • sudo nano /opt/orientdb/config/default-distributed-db-config.json

Phần có liên quan của file được hiển thị trong khối mã bên dưới:

/opt/orientdb/config/default-distributed-db-config.json
{   "autoDeploy": true,   "readQuorum": 1,   "writeQuorum": "majority",   "executionMode": "undefined",   "readYourWrites": true,   "newNodeStrategy": "static",   "servers": {     "*": "master"   },   . . .  } 

Đây là ý nghĩa của mỗi dòng:

  • autoDeploy : Chỉ định có triển khai database đến một nút mới trong cụm chưa có nó hay không.
  • readQuorum : Số lượng phản hồi từ các node cụm cần phải nhất quán trước khi trả lời client về các thao tác đọc. Đặt nó thành “1” sẽ vô hiệu hóa đồng tiền đọc.
  • writeQuorum : Trên các hoạt động ghi, cần có bao nhiêu nút để phản hồi trước khi gửi trả lời đến client . Mặc định là đa số , được tính bằng cách sử dụng (N / 2) + 1 , trong đó N là số nút chính có sẵn trong cụm. Các node bản sao không được tính đến khi tính phần lớn. Nếu để ở chế độ mặc định trong một cụm chỉ có hai nút chính, thì túc số sẽ không bao giờ hình thành nếu một trong các node bị hỏng.
  • executeMode : Xác định chế độ thực thi của client - đồng bộ hoặc không đồng bộ. Mặc định cho phép khách hàng quyết định.
  • readYourWrites : Chỉ định xem phản hồi của nút có tính đến việc đạt đến đại số ghi hay không.
  • newNodeStrategy : Điều gì sẽ xảy ra khi một nút mới tham gia vào cụm. Với giá trị mặc định, nút được đăng ký tự động trong danh sách các server .

Ta sẽ thêm các thông số sau:

  • hotAlignment : Chỉ định điều gì sẽ xảy ra nếu một nút gặp sự cố và sau đó trực tuyến trở lại. Nếu được bật, thông báo đồng bộ hóa được giữ trong hàng đợi phân tán khi nút offline . Khi trực tuyến trở lại, nó bắt đầu giai đoạn đồng bộ hóa bằng cách thăm dò tất cả các thông báo đồng bộ hóa trong hàng đợi.
  • server : Được sử dụng để chỉ định role (chính hoặc bản sao) của các node trong cụm. Theo mặc định, dấu hoa thị, * , được sử dụng để biểu thị rằng tất cả các node trong server sẽ là nút chính. Vì ta dự định xây dựng một cụm bao gồm hai cái chính và một bản sao, ta sẽ sửa đổi tham số này để phù hợp bằng cách chỉ định tên của mỗi nút và role của nó trong cụm. Tên là những gì bạn đã cấu hình ở Bước 1.

Khi bạn hoàn tất sửa đổi file , file sẽ trông như thế này:

/opt/orientdb/config/default-distributed-db-config.json
{   "replication": true,   "hotAlignment" : true,   "autoDeploy": true,   "readQuorum": 1,   "writeQuorum": "majority",   "executionMode": "undefined",   "readYourWrites": true,   "newNodeStrategy": "static",   "servers": {     "orientdb_server_name_1": "master",     "orientdb_server_name_2": "master",     "orientdb_server_name_3": "replica"   },    ...  } 

Lưu file khi bạn hoàn tất. Bây giờ ta sẽ cấu hình file cuối cùng trong danh sách của ta .

Sửa đổi file tin orientdb-server-config.xml

Trong /opt/orientdb/config/orientdb-server-config.xml là một tham số được sử dụng để bật hoặc tắt phân group bằng cách sử dụng lưới dữ liệu trong bộ nhớ Hazelcast trong OrientDB. Tên bạn đã đặt cho version OrientDB (hoặc có tập lệnh tự động tạo) ở Bước 1 có thể được sửa đổi trong file này.

Mở nó để chỉnh sửa.

  • sudo nano /opt/orientdb/config/orientdb-server-config.xml

Phần có liên quan của file được hiển thị bên dưới, ở phía trên cùng của file . Lưu ý giá trị của tham số NodeName là giá trị bạn đã chỉ định trong Bước 1:

/opt/orientdb/config/orientdb-server-config.xml
. . . <handler class="com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin">     <parameters>         <parameter value="${distributed}" name="enabled"/>         <parameter value="${ORIENTDB_HOME}/config/default-distributed-db-config.json" na$         <parameter value="${ORIENTDB_HOME}/config/hazelcast.xml" name="configuration.haz$         <parameter value="orientdb_server_name_1" name="nodeName"/>     </parameters> </handler> . . . 

Để bật tính năng phân cụm, hãy thay đổi tham số đã bật thành true . Sau khi chỉnh sửa, version cuối cùng sẽ giống như sau:

/opt/orientdb/config/orientdb-server-config.xml
. . . <handler class="com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin">     <parameters>         <parameter value="true" name="enabled"/>         <parameter value="${ORIENTDB_HOME}/config/default-distributed-db-config.json" na$         <parameter value="${ORIENTDB_HOME}/config/hazelcast.xml" name="configuration.haz$         <parameter value="orientdb_server_name_1" name="nodeName"/>     </parameters> </handler> . . . 

Khi bạn hoàn tất chỉnh sửa file , hãy lưu file .

Điều duy nhất còn lại trước khi ta có thể bắt đầu và kiểm tra cụm là cho phép lưu lượng truy cập của OrientDB thông qua firewall .

Bước 3 - Cho phép lưu lượng OrientDB thông qua firewall

Nếu bạn cố gắng khởi động cụm ngay bây giờ, lưu lượng truy cập của OrientDB sẽ bị chặn bởi firewall của bạn. Hãy thêm các luật để cho phép lưu lượng truy cập qua các cổng sau:

  • 2424 , được sử dụng cho truyền thông binary
  • 2434 , được sử dụng để trao đổi thông tin liên lạc cụm

Mở cổng 24242480 .

  • sudo ufw allow 2424
  • sudo ufw allow 2434

Lưu ý : Cổng 2480 được sử dụng để truy cập OrientDB Studio, giao diện web của ứng dụng. Điều này sử dụng HTTP, vì vậy nó không an toàn và nó sẽ không được tiếp xúc với Internet công cộng. Tuy nhiên, nếu bạn muốn cho phép lưu lượng truy cập trên cổng này trong cài đặt thử nghiệm, bạn có thể làm như vậy với:

  • sudo ufw allow 2480

Tiếp theo, khởi động lại UFW.

  • sudo systemctl restart ufw

OrientDB đã được cài đặt như một dịch vụ Systemd từ các yêu cầu , vì vậy bây giờ khi phần còn lại của cấu hình đã hoàn tất, ta có thể bắt đầu cụm.

Bước 4 - Khởi động và Kiểm tra Cụm OrientDB

Trên mỗi server , hãy đảm bảo dịch vụ đã được bật để nó sẽ được khởi động khi server khởi động .

  • sudo systemctl enable orientdb

Đến đây bạn có thể khởi động cả ba server . Server đầu tiên được bắt đầu (tức là server đầu tiên tham gia cụm) trở thành server điều phối , là nơi các hoạt động phân tán được bắt đầu. Nếu bạn muốn một server cụ thể có role đó, hãy bắt đầu role đó trước.

  • sudo systemctl start orientdb

Kiểm tra trạng thái quy trình để xác minh chúng đã bắt đầu đúng .

  • sudo systemctl status orientdb

Bạn sẽ thấy kết quả giống như sau:

Output
● orientdb.service - OrientDB Server Loaded: loaded (/etc/systemd/system/orientdb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-06-01 02:45:53 UTC; 7s ago

Nếu server không khởi động, hãy tìm manh mối trong kết quả . Các nguồn lỗi tiềm ẩn bao gồm không đủ RAM, Java JRE chưa được cài đặt hoặc file JSON đã sửa đổi không xác thực được. Hãy nhớ khởi động lại OrientDB nếu bạn thực hiện thay đổi đối với các file nào từ Bước 2.

Khi quá trình đang chạy chính xác, hãy kiểm tra xem cụm có hoạt động bình thường không. Trên bất kỳ nút nào trong số ba nút, lọc các mục nhập log hệ thống liên quan đến cụm:

  • sudo tail -f /var/log/syslog | grep -i dserver

Với lệnh đó, bạn sẽ thấy kết quả tương tự như bên dưới cho biết rằng tất cả các thành viên của cụm đang trực tuyến. Dấu hoa thị cho biết cái nào là server điều phối.

Output
-------------------+------+------------------------------------+-----+---------+-------------------+ |Name |Status|Databases |Conns|StartedOn|Binary | -------------------+------+------------------------------------+-----+---------+-------------------+ |orientdb-replica-1|ONLINE|GratefulDeadConcerts=ONLINE (MASTER)|4 |01:26:00 |111.111.111.111 |orientdb-master-2 |ONLINE|GratefulDeadConcerts=ONLINE (MASTER)|4 |01:25:13 |222.222.222.222 |orientdb-master-1*|ONLINE|GratefulDeadConcerts=ONLINE (MASTER)|6 |01:24:46 |333.333.333.333

Đây là một dấu hiệu tốt, bởi vì nếu các server và database của chúng trực tuyến, khả năng cao là cụm đang hoạt động bình thường. Bạn cũng sẽ thấy một kết quả tương tự nhưng có thêm thông tin khi bạn kết nối với một trong các database từ console bên dưới. Bạn có thể nhấn CTRL+C để dừng kết quả này ngay bây giờ.

Để xác minh sao chép dữ liệu trên dữ liệu mới trên toàn cụm, bạn cần tạo một số dữ liệu trên một server , sau đó xem liệu nó có được sao chép sang các server khác hay không. Trên một trong các server chính , chạy console bằng cặp lệnh sau:

  • cd /opt/orientdb/bin
  • sudo ./console.sh

Lệnh cuối cùng sẽ đưa ra kết quả sau trong khi chạy console , thay đổi dấu nhắc của bạn thành orientdb> .

Output
OrientDB console v.2.2.17 (build UNKNOWN@r98dbf8a2b8d43e4af09f1b12fa7ae9dfdbd23f26; 2017-02-02 07:01:26+0000) www.orientdb.com Type 'help' to display all the supported commands. Installing extensions for GREMLIN language v.2.6.0 orientdb>

Bây giờ kết nối với version server OrientDB. Lệnh này chỉ kết nối với version của OrientDB đang chạy trên server bằng account user gốc , không phải bất kỳ database nào. Mật khẩu là password bạn đã tạo ở bước 3:

  • connect remote:localhost root root-password

Tiếp theo, hãy tạo một database có tên CallMeMaybe :

  • create database remote:localhost/CallMeMaybe root root-password plocal

Nếu database được tạo thành công, bạn sẽ kết nối với nó và dấu nhắc của bạn sẽ thay đổi để phù hợp.

Lưu ý : Nếu bạn gặp lỗi cho biết “Quyền bị từ chối” hoặc tương tự, hãy kiểm tra quyền trên folder /opt/orientdb/databases . Tài khoản tạo database từ console phải có quyền đọc và ghi vào folder đó. Bạn có thể tìm hiểu thêm trong hướng dẫn về quyền Linux này .

Hiện tại, CallMeMaybe vẫn chỉ là một database trống rỗng. Để có một số dữ liệu thử nghiệm, hãy thêm một lớp vào đó:

  • create class Artist

Sau đó, chèn một bản ghi vào đó:

  • insert into Artist (id, name, age) values (01,'sammy', 35)

Kiểm tra xem database mới hiện đang giữ bản ghi bạn vừa chèn:

  • select id, age, name from Artist

Nếu mọi việc suôn sẻ, kết quả sẽ tương tự như sau:

Output
+----+----+----+------+ |# |id |age |name | +----+----+----+------+ |0 |1 |35 |sammy | +----+----+----+------+ 1 item(s) found. Query executed in 0.216 sec(s).

Bạn có thể thoát khỏi console ngay bây giờ.

  • exit

Bước cuối cùng của quá trình xác minh này là đăng nhập vào một nút khác trong cụm và cố gắng truy vấn database mới để xem liệu dữ liệu có được truyền thành công hay không.

  • ssh sammy@another_orientdb_server_ip

Chạy console như trước.

  • cd /opt/orientdb/bin
  • sudo ./console.sh

Kết nối với database với quyền administrator , là user và password mặc định của bất kỳ database OrientDB mới nào.

  • connect remote:localhost/CallMeMaybe admin admin

Thực hiện cùng một truy vấn như trước.

  • select id, age, name from Artist

Kết quả kết quả phải giống với kết quả từ server trước đó - như vậy, vì bạn đang thực hiện các truy vấn trên một cụm server . Đến đây bạn có thể thoát khỏi console .

  • exit

Điều này xác nhận cụm ba nút của bạn đang hoạt động chính xác.

Kết luận

Bạn đã cài đặt một cụm OrientDB bao gồm ba nút phục vụ các role khác nhau (chính hoặc bản sao). Với cài đặt như thế này, việc thay đổi số lượng nút rất dễ dàng. Điều thậm chí sẽ dễ dàng hơn, thú vị hơn và ít tác vụ hơn sẽ là sử dụng một công cụ quản lý cấu hình như Ansible để tự động hóa việc triển khai một cụm như thế này.

Bây giờ, bạn có thể cần làm là tham khảo hướng dẫn bảo mật OrientDB này để tìm hiểu cách bảo mật từng nút trong cụm. Tài liệu chính thức về quản trị OrientDB có sẵn tại trang web tài liệu của dự án và để biết thêm thông tin về Hazelcast, hãy truy cập tài liệu Hazelcast .


Tags:

Các tin liên quan

Cách cài đặt và cấu hình OpenLDAP và phpLDAPadmin trên Ubuntu 16.04
2017-06-01
Cách bật SFTP mà không cần truy cập Shell trên Ubuntu 16.04
2017-05-31
Cách tạo Go Executables cho nhiều nền tảng trên Ubuntu 16.04
2017-05-30
Cách cài đặt Concourse CI trên Ubuntu 16.04
2017-05-26
Cách giám sát server và dịch vụ bằng Icinga trên Ubuntu 16.04
2017-05-05
Cách thiết lập đồng bộ hóa thời gian trên Ubuntu 16.04
2017-04-28
Cách quản lý log với Graylog 2 trên Ubuntu 16.04
2017-04-25
Cách cài đặt Webmin trên Ubuntu 16.04
2017-04-21
Cách cài đặt và cấu hình OrientDB trên Ubuntu 16.04
2017-03-24
how-to-monitor-system-metrics-with-the-tick-stack-on-ubuntu-16-04
2017-03-16