Thứ sáu, 24/03/2017 | 00:00 GMT+7

Cách cài đặt và cấu hình OrientDB trên 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 có đầy đủ ACID-phàn nàn với hỗ trợ sao chép nhiều chủ, cho phép mở rộng quy mô theo chiều ngang dễ dàng.

Trong bài viết này, bạn sẽ cài đặt và cấu hình version Cộng đồng mới nhất của OrientDB trên server Ubuntu 16.04.

Yêu cầu

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

Bước 1 - Download và cài đặt OrientDB

Trong bước này, ta sẽ download version Cộng đồng mới nhất của OrientDB và cài đặt nó vào folder /opt , vị trí truyền thống để cài đặt các ứng dụng của bên thứ ba trong Linux.

Trước khi bắt đầu, hãy đảm bảo các gói trên hệ thống của bạn được cập nhật.

  • sudo apt-get update

Net, download version mới nhất của Cộng đồng OrientDB. Tại thời điểm xuất bản, đó là 2.2.20, nhưng bạn có thể kiểm tra trang download của dự án để biết version mới nhất và thay đổi số version trong lệnh bên dưới cho phù hợp.

  • wget -O orientdb-community-2.2.20.tar.gz http://orientdb.com/download.php?file=orientdb-community-2.2.20.tar.gz&os=linux

Tarball đã download chứa các file binary được biên dịch trước mà bạn cần để chạy OrientDB trên hệ thống của bạn , vì vậy tất cả những gì bạn cần làm bây giờ là bỏ qua nó.

  • tar -zxvf orientdb-community-2.2.20.tar.gz

Các file được chiết xuất vào folder có tên orientdb-community- 2.2.20 . Đến đây bạn cần di chuyển nó vào folder /opt , đổi tên nó thành orientdb trong quá trình này.

  • sudo mv ~/orientdb-community-2.2.20 /opt/orientdb

OrientDB hiện đã được cài đặt. Nếu bạn đang sử dụng server hạn chế bộ nhớ, bạn có thể cấu hình OrientDB để sử dụng ít RAM hơn trong bước tiếp theo. Nếu không, bạn có thể chuyển sang Bước 3 để tự khởi động server .

Bước 2 - Cấu hình OrientDB để sử dụng ít RAM hơn (Tùy chọn)

Theo mặc định, daemon OrientDB dự kiến có ít nhất 2 GB RAM và sẽ không khởi động được nếu tìm thấy ít hơn. Bạn sẽ gặp lỗi như thế này nếu vẫn cố khởi động nó:

Output
ubuntu-orientdb server.sh[1670]: Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000aaaa0000, 1431699456, 0) failed; error='Cannot allocate memory' (errno=12) ubuntu-orientdb server.sh[1670]: # There is insufficient memory for the Java Runtime Environment to continue.

Có một thay đổi cấu hình bạn có thể thực hiện sẽ cho phép bạn sử dụng server có RAM chỉ 512 MB. Đó là một chức năng của cài đặt trong file server.sh , có thể được thay đổi để daemon có thể bắt đầu với ít RAM hơn.

Mở file bằng nano hoặc editor yêu thích của bạn.

  • sudo nano /opt/orientdb/bin/server.sh

Sau đó cuộn đến phần chứa đoạn mã được hiển thị trong khối mã này:

/opt/orientdb/bin/server.sh
. . . # ORIENTDB memory options, default to 2GB of heap.  if [ -z "$ORIENTDB_OPTS_MEMORY" ] ; then     ORIENTDB_OPTS_MEMORY="-Xms2G -Xmx2G" fi . . . 

Các giá trị bạn cần thay đổi là XmsXmx , chỉ định group cấp phát bộ nhớ ban đầu và tối đa cho Máy ảo Java. Theo mặc định, chúng được đặt thành 2GB.

Bạn có thể đặt các giá trị mới ít hơn dung lượng RAM được phân bổ cho server , nhưng đảm bảo Xms tối thiểu 128 MB nếu không OrientDB sẽ không khởi động. Ví dụ: các giá trị dưới đây đặt dung lượng ram ban đầu và tối đa lần lượt là 128MB và 256MB.

/opt/orientdb/bin/server.sh
# ORIENTDB memory options, default to 2GB of heap.  if [ -z "$ORIENTDB_OPTS_MEMORY" ] ; then     ORIENTDB_OPTS_MEMORY="-Xms128m -Xmx256m" fi 

Lưu và đóng file . Trong bước tiếp theo, bạn sẽ khởi động OrientDB.

Bước 3 - Khởi động server

Bây giờ file binary đã sẵn sàng và bạn đã tùy chọn cấu hình server để sử dụng ít RAM hơn, bây giờ bạn có thể khởi động server và kết nối với console .

Điều hướng đến folder cài đặt.

  • cd /opt/orientdb

Sau đó khởi động server .

  • sudo bin/server.sh

Khi khởi động server 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 vào server như OrientDB Studio, giao diện dựa trên web để quản lý OrientDB. Nếu bạn không chỉ định password , một password sẽ được tạo tự động. Tuy nhiên, tốt nhất bạn nên tự chỉ định một cái, vì vậy hãy làm như vậy khi được yêu cầu .

Một phần của kết quả được tạo ra khi khởi động server cho bạn biết server và OrientDB Studio đang nghe cổng nào.

Output
2017-02-04 19:13:21:306 INFO Listening binary connections on 0.0.0.0:2424 (protocol v.36, socket=default) [OServerNetworkListener] 2017-02-04 19:13:21:310 INFO Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener] . . . 2017-02-04 19:13:21:372 INFO OrientDB Studio available at http://192.168.0.30:2480/studio/index.html [OServer] 2017-02-04 19:13:21:374 INFO OrientDB Server is active v2.2.20 (build UNKNOWN@r98dbf8a2b8d43e4af09f1b12fa7ae9dfdbd23f26; 2017-02-02 07:01:26+0000). [OServer]

Khi bạn thấy điều này, OrientDB hiện đang chạy trong terminal hiện tại của bạn. Hãy xác nhận server đang lắng nghe trên các cổng thích hợp.

Mở terminal thứ hai và kết nối với cùng một server thông qua SSH.

  • ssh sammy@your_server_ip

Sau đó, trong terminal thứ hai đó, xác nhận server đang lắng nghe trên các cổng 2424 (đối với kết nối binary ) và 2480 (đối với kết nối HTTP) bằng lệnh sau.

  • sudo netstat -plunt | grep -i listen

Đầu ra phải chứa các tham chiếu đến cả số cổng, như sau:

Output
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1160/sshd tcp6 0 0 :::2480 :::* LISTEN 2758/java tcp6 0 0 :::22 :::* LISTEN 1160/sshd tcp6 0 0 :::2424 :::* LISTEN 2758/java

Bây giờ server đó đã được khởi động và bạn đã xác minh nó đang chạy, bạn sẽ kết nối với console OrientDB ở terminal thứ hai tiếp theo.

Bước 4 - Kết nối với Control panel

Bàn điều khiển OrientDB là giao diện dòng lệnh để làm việc với ứng dụng. Để chạy nó, hãy nhập:

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

Bạn sẽ thấy như sau:

Output
OrientDB console v.2.2.20 (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ờ, hãy kết nối với version server . Mật khẩu bắt buộc là password bạn đã chỉ định khi lần đầu tiên khởi động server ở bước trước.

  • connect remote:127.0.0.1 root root-password

Bạn sẽ thấy kết quả này nếu bạn kết nối thành công.

Output
Connecting to remote Server instance [remote:127.0.0.1] with user 'root'...OK orientdb {server=remote:127.0.0.1/}>

Nếu không, hãy kiểm tra lại xem bạn đã nhập đúng password root chưa và OrientDB vẫn đang chạy trong terminal đầu tiên của bạn.

Khi đã sẵn sàng , hãy nhập exit trong terminal thứ hai của bạn để thoát khỏi dấu nhắc OrientDB.

  • exit

Bạn vừa cài đặt OrientDB, khởi động thủ công và kết nối với nó. Điều này nghĩa là OrientDB đang hoạt động, nhưng cũng nghĩa là bạn cần phải khởi động nó theo cách thủ công khi nào bạn khởi động lại server . Trong vài bước tiếp theo, ta sẽ cấu hình và cài đặt OrientDB để chạy giống như bất kỳ daemon nào khác trên server .

Bước 5 - Cấu hình OrientDB làm Daemon

Đến đây, OrientDB đã được cài đặt, nhưng nó chỉ là một loạt các tập lệnh trên server . Trong bước này, ta sẽ cấu hình nó để chạy như một daemon trên hệ thống. Điều đó liên quan đến việc sửa đổi tập lệnh /opt/orientdb/bin/orientdb.sh và file cấu hình, /opt/orientdb/config/orientdb-server-config.xml .

Đầu tiên, gõ CTRL+C trong cửa sổ terminal đầu tiên của bạn với OrientDB vẫn đang chạy để dừng nó. Bạn cũng có thể đóng kết nối terminal thứ hai ngay bây giờ.

Hãy bắt đầu bằng cách sửa đổi tập lệnh /opt/orientdb/bin/orientdb.sh để cho user biết nó phải được chạy với OrientDB và trỏ nó vào folder cài đặt.

Vì vậy, hãy tạo user hệ thống mà bạn muốn OrientDB chạy. Trong ví dụ này, ta đang tạo user orientdb . Lệnh này cũng sẽ tạo group orientdb :

  • sudo useradd -r orientdb -s /sbin/nologin

Cấp quyền sở hữu folder OrientDB và các file cho user và group OrientDB mới được tạo.

  • sudo chown -R orientdb:orientdb /opt/orientdb

Bây giờ ta hãy thực hiện một vài thay đổi đối với tập lệnh orientdb.sh .

  • sudo nano /opt/orientdb/bin/orientdb.sh

Đầu tiên, ta cần trỏ nó đến folder cài đặt thích hợp, sau đó cho user biết nó sẽ được chạy với quyền gì. Vì vậy, hãy tìm hai dòng sau ở đầu file :

/opt/orientdb/bin/orientdb.sh
. . . # You have to SET the OrientDB installation directory here ORIENTDB_DIR="YOUR_ORIENTDB_INSTALLATION_PATH" ORIENTDB_USER="USER_YOU_WANT_ORIENTDB_RUN_WITH" . . . 

Và thay đổi chúng thành /opt/orientdborientdb tương ứng.

/opt/orientdb/bin/orientdb.sh
# You have to SET the OrientDB installation directory here ORIENTDB_DIR="/opt/orientdb" ORIENTDB_USER="orientdb" 

Lưu và đóng file .

Sau đó, sửa đổi quyền của file cấu hình server để ngăn user lạ đọc nó.

  • sudo chmod 640 /opt/orientdb/config/orientdb-server-config.xml

Bạn có thể tìm hiểu thêm về quyền đối với file trong hướng dẫn về quyền của Linux này .

Trong bước tiếp theo, ta sẽ cấu hình daemon để nó được kiểm soát bởi Systemd, trình quản lý dịch vụ .

Bước 6 - Cài đặt Tập lệnh khởi động Systemd

OrientDB đi kèm với một file mô tả dịch vụ Systemd sẽ chịu trách nhiệm khởi động và dừng dịch vụ. Tệp đó phải được sao chép vào folder /etc/systemd/system .

  • sudo cp /opt/orientdb/bin/orientdb.service /etc/systemd/system

Có một số cài đặt trong file đó mà ta cần sửa đổi, vì vậy hãy mở file đó để chỉnh sửa.

  • sudo nano /etc/systemd/system/orientdb.service

Sửa đổi các biến User , Group ExecStart trong Dịch vụ để phù hợp với cài đặt của bạn. Bạn đặt user và group ở bước 5 (cả hai đều là orientdb nếu bạn làm theo nguyên văn bước). ExecStart chỉ định đường dẫn đến tập lệnh, sẽ bắt đầu bằng /opt/orientdb nếu bạn đã làm theo hướng dẫn này như đã viết.

/etc/systemd/system/orientdb.service
. . .  [Service] User=orientdb Group=orientdb ExecStart=/opt/orientdb/bin/server.sh 

Lưu và đóng file .

Sau đó chạy lệnh sau để reload tất cả các đơn vị.

  • sudo systemctl daemon-reload

Với mọi thứ tại chỗ, bây giờ bạn có thể bắt đầu dịch vụ OrientDB.

  • sudo systemctl start orientdb

Và đảm bảo nó sẽ bắt đầu khi server khởi động .

  • sudo systemctl enable orientdb

Xác minh nó đã thực sự bắt đầu bằng cách kiểm tra trạng thái quy trình.

  • sudo systemctl status orientdb
Output
● orientdb.service - OrientDB Server Loaded: loaded (/etc/systemd/system/orientdb.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2017-02-04 20:54:27 CST; 11s ago Main PID: 22803 (java) Tasks: 14 Memory: 126.4M . . .

Nếu server không khởi động, hãy tìm manh mối trong kết quả . Trong bước tiếp theo, bạn sẽ học cách kết nối với OrientDB Studio, giao diện user web của ứng dụng.

Bước 7 - Kết nối với OrientDB Studio

OrientDB Studio là giao diện web để quản lý OrientDB. Điều này hữu ích cho các mục đích thử nghiệm, mặc dù đó là một phương pháp bảo mật tốt hơn để hạn chế hoàn toàn quyền truy cập vào nó.

Nếu bạn muốn bật nó để thử nghiệm, bạn cần thêm luật vào firewall của bạn . Theo mặc định, OrientDB studio lắng nghe trên cổng 2480 , vì vậy nếu bạn đã cấu hình firewall trên server , bạn cần cho phép truy cập vào cổng 2480 .

  • sudo ufw allow 2480

Sau đó, khởi động lại UFW.

  • sudo systemctl restart ufw

Để kết nối với OrientDB Studio, hãy truy cập http:// your_server_ip :2480 trong trình duyệt của bạn. Sau khi tải trang, bạn sẽ thấy màn hình đăng nhập.

Bạn có thể đăng nhập với quyền root bằng password đã đặt trước đó. Bạn cũng có thể chọn database GratefulDeadConcerts và đăng nhập bằng một trong các account user mặc định đi kèm với OrientDB ( administrator , người đọc hoặc người viết ).

Kết luận

Bạn vừa cài đặt version Cộng đồng của OrientDB trên server Ubuntu 16.04 của bạn , tùy chỉnh cấu hình của nó và cài đặt nó như một daemon để systemd quản lý.

Tiếp theo, bạn nên bảo vệ ứng dụng khỏi những user lạ bằng cách áp dụng một số mẹo bảo mật bằng hướng dẫn bảo mật OrientDB này . Nếu bạn có bản cài đặt OrientDB hiện có mà bạn cần nhập vào bản cài đặt mới, hãy sử dụng hướng dẫn di chuyển này , được viết cho Ubuntu 14.04 nhưng cũng sẽ hoạt động cho Ubuntu 16.04.

Để biết thêm thông tin về OrientDB, hãy truy cập tài liệu chính thức của dự án .


Tags:

Các tin liên quan

how-to-monitor-system-metrics-with-the-tick-stack-on-ubuntu-16-04
2017-03-16
Cách cài đặt và cấu hình Postfix trên Ubuntu 16.04
2017-03-16
Cách cấu hình client FreeIPA trên Ubuntu 16.04
2017-03-08
Cách cài đặt Moodle trên Ubuntu 16.04
2017-03-02
Cách cài đặt và bảo mật MongoDB trên Ubuntu 16.04
2017-02-24
Cách cài đặt ionCube trên Ubuntu 16.04
2017-01-11
Cách thiết lập xác thực đa yếu tố cho SSH trên Ubuntu 16.04
2017-01-10
Cách chuyển cài đặt ownCloud sang Nextcloud trên Ubuntu 14.04
2017-01-06
Cách triển khai ứng dụng Node.js và MongoDB với Rancher trên Ubuntu 16.04
2017-01-05
Cách xây dựng Go từ Nguồn trên Ubuntu 16.04
2017-01-04