18/09/2018, 16:26

Làm thế nào để cài đặt và cấu hình OrientDB trên Ubuntu 16.04

Giới thiệu OrientDB là một cơ sở dữ liệu NoSQL đa mô hình với sự hỗ trợ cho cơ sở dữ liệu đồ 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 ACID-khiếu nại với sự hỗ trợ cho sao chép đa chủ, cho phép mở rộng quy mô dễ dàng. Trong bài viết ...

Giới thiệu

OrientDB là một cơ sở dữ liệu NoSQL đa mô hình với sự hỗ trợ cho cơ sở dữ liệu đồ 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 ACID-khiếu nại với sự hỗ trợ cho sao chép đa chủ, cho phép mở rộng quy mô dễ dàng.

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

Điều kiện tiên quyết

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

  • Một máy chủ Ubuntu 16.04 với ít nhất 2GB RAM lý tưởng, nhưng thậm chí 512MB sẽ hoạt động.
  • Một tường lửa và người dùng không phải root sudo, được thiết lập bằng cách làm theo điều này Thiết lập máy chủ ban đầu với Ubuntu 16.04.
  • Đã cài đặt Java, bạn có thể thực hiện bằng cách làm theo Bước JDK 8 của hướng dẫn cài đặt Java này.

Bước 1 - Tải xuống và cài đặt OrientDB

Trong bước này, chúng tôi sẽ tải xuống phiên bản Cộng đồng mới nhất của OrientDB và cài đặt nó vào /opt thư mục, 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, tải xuống phiên bản mới nhất của Cộng đồng OrientDB. Vào thời điểm xuất bản, đó là 2.2.20, nhưng bạn có thể kiểm tra trang tải xuống của dự án cho phiên bản mới nhất và thay đổi số phiên bản trong lệnh bên dưới để khớ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 đã tải xuống chứa các tệp nhị phân được biên dịch sẵn 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à hủy bỏ nó.

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

Các tệp được trích xuất vào một thư mục có tên orientdb-community-2.2.20. Bây giờ bạn cần phải di chuyển nó vào /optthư mục, đổi tên nó thành orientdb trong quá trình.

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

OrientDB hiện đã được cài đặt. Nếu bạn đang sử dụng máy chủ bị hạn chế về bộ nhớ, bạn có thể định 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 để khởi động chính máy chủ.

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 nó tìm thấy ít hơn. Bạn sẽ thấy lỗi như thế này nếu bạn vẫn cố gắng bắt đầu:

Outputubuntu-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 điều đó sẽ cho phép bạn sử dụng máy chủ với RAM 512 MB. Đó là chức năng của một cài đặt trong server.sh tập tin, có thể được thay đổi để daemon có thể bắt đầu với RAM ít hơn nhiều.

Mở tệp bằng nano hoặc trình soạn thảo văn bản yêu thích của bạn.

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

Sau đó cuộn đến phần có 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à Xms và Xmx, xác định nhóm 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 2 GB.

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

/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 tập tin. Trong bước tiếp theo, bạn sẽ bắt đầu OrientDB.

Bước 3 - Khởi động máy chủ

Bây giờ mã nhị phân được đặt đúng chỗ và bạn đã cấu hình tùy chọn máy chủ để sử dụng ít RAM hơn, bây giờ bạn có thể khởi động máy chủ và kết nối với bàn điều khiển.

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

cd /opt/orientdb

Sau đó, khởi động máy chủ.

sudo bin/server.sh

Khi khởi động máy chủ lần đầu tiên, bạn sẽ được nhắc chỉ định mật khẩu cho nguồn gốc tài khoản người dùng. Đây là một tài khoản OrientDB nội bộ sẽ được sử dụng để truy cập vào máy chủ cho những thứ như OrientDB Studio, giao diện dựa trên web để quản lý OrientDB. Nếu bạn không chỉ định mật khẩu, mật khẩu sẽ được tạo tự động. Tuy nhiên, tốt nhất bạn nên chỉ định một chính mình, vì vậy hãy thực hiện điều đó khi được nhắc.

Một phần của đầu ra được tạo ra từ khi khởi động máy chủ cho bạn biết cổng nào máy chủ và OrientDB Studio đang lắng nghe.

Output2017-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 rằng máy chủ đang lắng nghe trên các cổng thích hợp.

Mở một thiết bị đầu cuối thứ hai và kết nối với cùng một máy chủ thông qua SSH.

ssh sammy@your_server_ip

Sau đó, trong thiết bị đầu cuối thứ hai, xác nhận rằng máy chủ đang lắng nghe trên cổng 2424 (cho các kết nối nhị phân) và 2480 (đối với kết nối HTTP) với lệnh sau.

sudo netstat -plunt | grep -i listen

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

Outputtcp        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ờ máy chủ đó đã được bắt đầu và bạn đã xác minh nó đang chạy, bạn sẽ kết nối với bàn điều khiển OrientDB trong thiết bị đầu cuối thứ hai tiếp theo.

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

Bàn điều khiển OrientDB là giao diện dòng lệnh để làm việc với ứng dụng. Để khởi động nó, gõ:

sudo /opt/orientdb/bin/console.sh

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

OutputOrientDB 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 cá thể máy chủ. Mật khẩu được yêu cầu là mật khẩu bạn chỉ định khi bạn khởi động máy chủ ở bước trước.

connect remote:127.0.0.1 root root-password

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

OutputConnecting 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 kỹ xem bạn đã nhập đúng mật khẩu gốc chưa và OrientDB vẫn đang chạy trong terminal đầu tiên của bạn chưa.

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

exit

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

Bước 5 - Cấu hình OrientDB như một Daemon

Tại thời điểm này, OrientDB được cài đặt, nhưng nó chỉ là một loạt các kịch bản trên máy chủ. Trong bước này, chúng 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 /opt/orientdb/bin/orientdb.sh tập lệnh và tệp cấu hình, /opt/orientdb/config/orientdb-server-config.xml.

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

Hãy bắt đầu bằng cách sửa đổi /opt/orientdb/bin/orientdb.sh script để báo cho OrientDB biết người dùng nên chạy như thế nào và trỏ nó vào thư mục cài đặt.

Vì vậy, hãy tạo người dùng hệ thống mà bạn muốn OrientDB chạy như. Trong ví dụ này, chúng tôi đang tạo orientdb người dùng. Lệnh cũng sẽ tạo ra orientdb nhóm:

sudo useradd -r orientdb -s /sbin/nologin

Cung cấp quyền sở hữu của thư mục và tệp OrientDB cho người dùng và nhóm OrientDB mới được tạo ra.

sudo chown -R orientdb:orientdb /opt/orientdb

Bây giờ, hãy thực hiện một vài thay đổi đối với orientdb.sh kịch bản.

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

Đầu tiên, chúng ta cần trỏ nó vào thư mục cài đặt thích hợp, sau đó cho nó biết người dùng nên chạy như thế nào. Vì vậy, hãy tìm hai dòng sau ở phía trên cùng của tệp:

/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/orientdb và orientdb 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 tập tin.

Sau đó sửa đổi quyền của tệp cấu hình máy chủ để ngăn người dùng trái phép đọ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 tệp trong hướng dẫn quyền Linux này.

Trong bước tiếp theo, chúng ta sẽ cấu hình daemon để nó được điều khiển bởi Systemd, người quản lý dịch vụ.

Bước 6 - Cài đặt Tập lệnh Khởi động Hệ thống

OrientDB đi kèm với tệp 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 /etc/systemd/system danh mục.

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

Có một vài cài đặt trong tệp đó mà chúng tôi cần sửa đổi, vì vậy hãy mở nó để chỉnh sửa.

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

Sửa đổi Người dùng, NhómExecStart biến dưới Dịch vụ để khớp với cài đặt của bạn. Bạn đặt người dùng và nhóm ở bước 5 (cả hai đều là orientdb nếu bạn thực hiện theo bước nguyên văn). ExecStart chỉ định đường dẫn đến tập lệnh, bắt đầu bằng /opt/orientdb nếu bạn đã làm theo hướng dẫn này như được viết.

/etc/systemd/system/orientdb.service

. . .

[Service]
User=orientdb
Group=orientdb
ExecStart=/opt/orientdb/bin/server.sh

Lưu và đóng tập tin.

Sau đó chạy lệnh sau để tải lại 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 rằng nó sẽ bắt đầu khởi động.

sudo systemctl enable orientdb

Xác minh rằng nó thực sự đã bắt đầu bằng cách kiểm tra trạng thái quá 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 máy chủ không khởi động, hãy tìm manh mối trong đầu ra. Trong bước tiếp theo, bạn sẽ tìm hiểu cách kết nối với OrientDB Studio, giao diện người dùng 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 rất hữu ích cho mục đích thử nghiệm, mặc dù đó là thực hành bảo mật tốt hơn để hạn chế quyền truy cập vào nó hoàn toàn.

Nếu bạn muốn kích hoạt nó để thử nghiệm, bạn sẽ cần phải thêm một quy tắc vào tường lửa 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 đã định cấu hình tường lửa trên máy chủ, bạn sẽ cần phải 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. Khi trang tải xong, bạn sẽ thấy màn hình đăng nhập.

Bạn có thể đăng nhập bằng nguồn gốc với mật khẩu bạn đã đặt trước đó. Bạn cũng có thể chọn GratefulDeadConcerts cơ sở dữ liệu và đăng nhập bằng một trong các tài khoản người dùng mặc định có trong OrientDB (quản trị viên, người đọc, hoặc là nhà văn).

Phần kết luận

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

Tiếp theo, bạn nên bảo vệ ứng dụng khỏi người dùng trái phép bằng cách áp dụng một số mẹo bảo mật bằng cách sử dụng hướng dẫn bảo mật OrientDB này. Nếu bạn có một cài đặt OrientDB hiện có mà bạn cần phải nhập vào một 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 với 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.

0