#

Elasticsearch là gì? Hướng dẫn cài đặt và cấu hình

Elasticsearch là trung tâm của nền tảng phân tích nhật ký – ELK Stack (Elasticsearch, Logstash và Kibana). Nó đóng vai trò chủ yếu là tìm kiếm và phân tích nhật ký. Hiện nay, Elasticsearch dường như đã trở thành ưu tiên hàng đầu của người dùng.

Chúng ta có thể dễ dàng tiếp cận nó thông qua những hướng dẫn đơn giản từ cài đặt, lập chỉ mục cho đến việc xử lý dữ liệu ban đầu.

Hãy cùng BKHOST tìm hiểu chi tiết trong bài viết dưới đây.

Đăng ký dịch vụ Hosting tại BKHOST

BKHOST cung cấp dịch vụ Hosting với nhiều mức giá và cấu hình khác nhau, đáp ứng nhu cầu của tất cả khách hàng.

Cam kết hoàn tiền lên đến 100% nếu Quý khách không hài lòng với chất lượng sản phẩm, dịch vụ.

Rất nhiều chương trình khuyến mãi cực hấp dẫn đang chờ bạn. Đăng ký ngay hôm nay!

hosting website

Elasticsearch là gì?

Elasticsearch la gi

Elasticsearch hay ES là một cơ sở dữ liệu NoSQL dựa trên Java với mã nguồn mở hoàn toàn. Chính vì thế, nó lưu trữ dữ liệu theo cách phi cấu trúc và chúng ta không thể sử dụng SQL để truy vấn nó. Một cách dễ hiểu, Elasticsearch là một công cụ tìm kiếm và phân tích thông qua Apache Lucene và đã được ra mắt năm 2010.

Chúng ta có thể xem những hướng dẫn của nó là một hướng dẫn NoSQL. Mặc dù vậy, hướng dẫn Elasticsearch không giống hoàn toàn các cơ sở dữ liệu NoSQL. Mà thay vào đó là hướng sâu vào khả năng tìm kiếm. Do đó, chỉ cần tìm kiếm bằng Elasticsearch API chúng ta đã có thể dễ dàng lấy dữ liệu từ ES.

Cùng với ELK Stack, Logstash và Kibana, Elasticsearch có vai trò lập chỉ mục và lưu trữ dữ liệu trong việc phân tích dữ liệu.

Cài đặt Elasticsearch

Java 8 (Oracle JDK phiên bản 1.8.0_131) là yêu cầu cho Elasticsearch. Để đảm bảo công cụ đã được thiết lập bạn cần kiểm tra Hướng dẫn Logstash. Một cách chắc chắn hơn, bạn phải đảm bảo rằng hệ điều hành của bạn nằm trên Elastic support matrix. Hoặc nếu không, có thể bạn sẽ gặp những rắc rối kỳ lạ mà không thể đoán trước. Cuối cùng là cài đặt Elasticsearch để bắt đầu.

Elasticsearch có thể được tải xuống dưới dạng bản phân phối độc lập hoặc sử dụng apt và yum để cài đặt trên máy Ubuntu 16.04, chạy trên altium AWS EC2.

Nếu bạn chưa cài đặt từ Elastic, bạn phải có mật khẩu xác minh để tải gói xuống.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Đối với Debian, cần cài đặt gói: apt-transport-https
sudo apt-get install apt-transport-https

Sau đó, định nghĩa kho lưu trữ vào hệ thống của bạn:
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Cuối cùng là cập nhật kho lưu trữ và cài đặt Elasticsearch:
sudo apt-get update
sudo apt-get install elasticsearch

Cấu hình Elasticsearch

Trong Elasticsearch, bạn sẽ dùng tệp để định cấu hình cài đặt chung (ví dụ: tên nút), hay cài đặt mạng (ví dụ: máy chủ và cổng), nơi dữ liệu được lưu trữ, bộ nhớ, tệp nhật ký, v.v.

Trước khi bắt đầu thử nghiệm, bạn nên nghiên cứu về những cài đặt thủ công.

Ví dụ: Nếu cài đặt Elasticsearch trên đám mây, hãy liên kết Elasticsearch với IP riêng hoặc localhost:

sudo vim /etc/elasticsearch/elasticsearch.yml
network.host: "localhost"
http.port:9200

Chạy Elasticsearch

Bạn cần phải khởi động Elasticsearch vì nó không thể tự động chạy mà tùy vào hệ thống của bạn. Hãy dùng lệnh này ở các hệ thống dựa trên LinuxUnix:

sudo service elasticsearch start

Để chắc chắn rằng nó hoạt động tốt, bạn nên trỏ curl hoặc trình duyệt của bạn đến và bạn sẽ thấy một cái gì đó như sau:http://localhost:9200
{
"name" : "33QdmXw",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "mTkBe_AlSZGbX-vDIe_vZQ",
"version" : {
"number" : "6.1.2",
"build_hash" : "5b1fea5",
"build_date" : "2018-01-10T02:35:59.208Z",
"build_snapshot" : false,
"lucene_version" : "7.1.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

Để gỡ lỗi quá trình chạy Elasticsearch, hãy sử dụng các tệp nhật ký Elasticsearch nằm (trên Deb) ở định dạng./var/log/elasticsearch/

Tạo Chỉ mục Elasticsearch

Lập chỉ mục là quá trình thêm dữ liệu vào Elasticsearch. Nghĩa là do khi bạn cấp dữ liệu vào Elasticsearch, dữ liệu được đặt vào Apache Lucene Index. Vì Elasticsearch sử dụng các chỉ mục Lucene để lưu trữ và truy xuất dữ liệu của nó. Nên đối với việc bắt đầu nghiêm túc với Elasticsearch, Lucene sẽ rất hữu ích nếu bạn biết nó hoạt động như thế nào.

Giống như REST AP, bạn có thể chỉ định mục dữ liệu từ Elasticsearch, vì chúng ta có thể sử dụng hoặc phương thức để thêm dữ liệu vào đó. Hoặc ngay cả khi bạn muốn Elasticsearch tạo một mục cho mục dữ liệu:

curl -XPOST 'localhost:9200/logs/my_app' -H 'Content-Type: application/json' -d'
{
"timestamp": "2018-01-24 12:34:56",
"message": "User logged in",
"user_id": 4,
"admin": false
}
'
curl -X PUT 'localhost:9200/app/users/4' -H 'Content-Type: application/json' -d '
{
"id": 4,
"username": "john",
"last_login": "2018-01-25 12:34:56"
}
'

Và câu trả lời:
{"_index":"logs","_type":"my_app","_id":"ZsWdJ2EBir6MIbMWSMyF","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
{"_index":"app","_type":"users","_id":"4","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

Dữ liệu được gửi dưới dạng đối tượng JSON. Với Elasticsearch, kể cả các cơ sở dữ liệu NoSQL khác, bạn có thể chỉ mục dữ liệu mà không cần xác định trước cấu trúc của dữ liệu. Nếu bạn muốn đảm bảo rằng hiệu suất được tối ưu, hãy xác định ánh xạ Elasticsearch theo kiểu dữ liệu. Thêm về điều này sau.

ELK Stack sẽ tự động tạo các chỉ mục khi bạn sử dụng người gửi hàng của Beats (ví dụ: Filebeat hoặc Metricbeat) hoặc Logstash.

Để xem danh sách các chỉ mục Elasticsearch của bạn, hãy sử dụng:

curl -XGET 'localhost:9200/_cat/indices?v&pretty'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open logstash-2018.01.23 y_-PguqyQ02qOqKiO6mkfA 5 1 17279 0 9.9mb 9.9mb
yellow open app GhzBirb-TKSUFLCZTCy-xg 5 1 1 0 5.2kb 5.2kb
yellow open .kibana Vne6TTWgTVeAHCSgSboa7Q 1 1 2 0 8.8kb 8.8kb
yellow open logs T9E6EdbMSxa8S_B7SDabTA 5 1 1 0 5.7kb 5.7kb

Tổng kết

Trên đây là những thông tin cơ bản về cách cài đặt, thiết lập và chạy Elasticsearch. Ngoài ra bạn có thể Tìm hiểu thêm về Elasticsearch ở các trang dưới đây:

Nếu bạn có thắc mắc về Elasticsearch, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

Đăng ký tên miền tại BKHOST

BKHOST đang có chương trình khuyến mại cực shock dành cho khách hàng đăng ký mới tên miền.

  • Giảm giá lên đến 70%.
  • Bắt đầu chỉ từ 59k/năm đầu.

Rất nhiều tên miền đẹp đang chờ bạn. Nhanh tay sở hữu ngay hôm nay trước khi đối thủ của bạn nhắm tới.

tìm tên miền

Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
Bình luận

Thanh toán linh hoạt

Chúng tôi chấp nhận thanh toán như ATM, Visa, Internet Banking, Paypal, Baokim, Ngân lượng

Gọi ĐT tư vấn ngay
Chat ngay qua Zalo
Chat ngay qua Messenger