Cài đặt Elasticsearch cho Ubuntu 16.04

Submitted by superthin on 15/10/2018 - 09:18:34
Elasticsearch Logo Cover

Nghịch máy tính, nghịch web một lát bạn sẽ có lúc điên đầu với việc tìm kiếm không ưng ý, từ đó nảy sinh nhu cầu muốn có một động cơ cho cỗ máy tìm kiếm có thể tìm được khá nhanh, chính xác. Bài viết này trình bày cách cài đặt một search engine khá nổi tiếng: Elasticsearch.

Cách cài đặt sẽ là rất "mì ăn liền". Tuy nhiên, Thin luôn khuyến khích các bạn trước khi làm luôn phải đặt câu hỏi tại sao phải có câu lệnh như vậy mà không câu lệnh như kia. Khi chưa rõ câu lệnh hoặc một bước nào đó sẽ làm gì, lúc này cần phải đọc thêm tài liệu chứ không phải cứ nhắm mắt nhắm mũi copy & paste để rồi có lúc khóc ròng.

Việc đầu tiên là vào Google gõ xem liệu có Elasticsearch nào dạng đã làm sẵn thành gói phục vụ cho Ubuntu hoặc Debian hay không. Thin đã tìm thấy tại đây.

Gõ lệnh cái nào:

sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys D88E42B4

Lệnh trên là để... hiểu đơn giản là hai cái máy tính phải nói cùng ngôn ngữ, trước tiên là chào hỏi nhau sau đó mới "xin xỏ" này nọ. Nếu không có PGP, máy tính của bạn và server chứa ứng dụng sẽ không thể nói chuyện với nhau, server sẽ từ chối máy bạn theo kiểu "tao không thèm nói chuyện với mày vì không biết mày là thằng nào".

Bạn sẽ nhận xét thấy rằng Thin không làm giống như hướng dẫn trên trang đó, vì sao như vậy, đó chính là phần Thin dành cho bạn.

Khi đã có PGP key rồi thì ta có thể cập nhật repository của Ubuntu để hệ điều hành nhận biết repository mới được thêm vào, gõ lệnh:

sudo apt-get update

Sau khi đã cập nhật repository, giờ là lúc có thể cài đặt Elasticsearch với lệnh:

sudo apt-get install elasticsearch

Chỉ mất vài phút là việc cài đặt được hoàn tất và Elasticsearch sẵn sàng phục vụ bạn. Tuy nhiên, đừng cho rằng Elasticsearch là một phần mềm GUI dạng như các phần mềm Google Chrome, Mozilla Firefox, các ứng dụng thuộc bộ LibreOffice,... để mà bạn có thể vào chức năng tìm kiếm trong Dashboard của Ubuntu gõ Elasticsearch để sử dụng.

Vậy thì làm thế nào đây? Hãy kiểm tra xem Elasticsearch đã hoạt động chưa? Gõ lệnh:

sudo systemctl status elasticsearch.service

Nếu thấy có chữ active (running) màu xanh lá cây nghĩa là Elasticsearch đang chạy, sẵn sàng làm việc. Còn nếu thấy inactive (dead) nghĩa là Elasticsearch chưa hoạt động, ta gọi lệnh cho nó chạy xem sao:

sudo systemctl start elasticsearch.service

Sẽ không thấy thông báo gì với lệnh vừa gõ, nhưng khi kiểm tra lại với:

sudo systemctl status elasticsearch.service

Lúc này đã màu xanh lá cây. Trường hợp vẫn chưa chạy, quá trình cài đặt của bạn chưa thành công, cần phải kiểm tra lại các bước bên trên và/ hoặc tra cứu xem đã xảy ra lỗi gì.

Giờ là lúc ta cần biết đích xác Elasticsearch "mần ăn" ra làm sao với lệnh:

curl -X GET "localhost:9200/"

Một chùm "mật mã Da Vinci" hiện lên gần gần như sau:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "name" : "4la9BeT",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "9CjHdywRTeecagYNzATaKA",
  "version" : {
    "number" : "6.4.2",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "04711c2",
    "build_date" : "2018-09-26T13:34:09.098244Z",
    "build_snapshot" : false,
    "lucene_version" : "7.4.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Xin chúc mừng, Elasticsearch của bạn đã hoạt động tốt. Sẵn sàng để bạn biến máy tính của bạn thành một search engine. Việc "biến hóa" đó như thế nào Thin sẽ trở lại trong một bài khác. Nếu bạn là người ham học hỏi, Thin tin rằng bạn sẽ tự làm gì tiếp theo.

Nếu bạn nhận được thông báo gì đó đại loại không hiểu lệnh hoặc No command 'curl' found, lúc này phải hiểu rằng trên máy bạn chưa có ứng dụng mang tên curl, cài đặt với lệnh:

sudo apt-get install curl

Rồi thử lại lệnh trên sau khi đã cài đặt curl.

Trong thời gian tới, Thin sẽ sớm có thêm bài về khai thác sức mạnh của Elasticsearch trong việc tìm kiếm. Mong được các bạn quay lại đón đọc!