ElasticSearch & php & mysql thực hành – Phần 7 – Setting

https://thinhpc86.wordpress.com/2015/06/12/elasticsearch-php-mysql-thuc-hanh-phan-7/

ElasticSearch & php & mysql thực hành – Phần 7 – Setting

June 12, 2015 thinhpc86 Java, PHPElasticSearch, Java, Search Engine

Trong phần trước ta đã đi lướt qua các chức năng Filter và Group By(Aggregations).

Bài này ta đi qua 1 số thiết lập cho ES trong quá trình cài đặt và sử dụng trên môi trường thực. Những gì viết ở đây cũng chỉ là lý thuyết thôi. Khi nào mình cài đặt và sử dụng nó trên thực tế (CentOS, Linux) thì mình sẽ cập nhật lại những setting cần thiết sau.

Để khởi động ES, thường ta dùng lệnh sau:

1

$ bin/elasticsearch

Nhung với môi trường *nix (Unix, Linux, FreeBSD…) thì với command đó, ES sẽ chạy nổi. Để chạy ở background thì ta thêm -d:

1

$ bin/elasticsearch -d

Theo tìm hiểu thì setting như sau thì ES sẽ hoạt động được tốt:

/etc/security/limits.conf:

12

elasticsearch - nofile 65535elasticsearch - memlock unlimited

/etc/default/elasticsearch(In CentOS: ‘/etc/sysconfig/elasticsearch’ or /etc/init.d/elasticsearch):

123

ES_HEAP_SIZE=512mMAX_OPEN_FILES=65535MAX_LOCKED_MEMORY=unlimited

Một lời khuyên khác, nếu server bạn có 2 GB memory thì hãy dành 1 nửa số ấy cho ES(1GB), 1 nửa còn lại Lucene sẽ dùng cho Full text search(Lucene là lõi của ES). Và nếu bạn có nhiều memory quá ví dụ 1TB, thì cũng chỉ set max là 32GB bộ nhớ cho ES thôi.

/etc/elasticsearch/elasticsearch.yml:

1

bootstrap.mlockall: true

setting mlockall như trên để ngăn swap

Elasticsearch dùng thư mục hybrid mmapfs / niofs để lưu index. Mặc định mmap của hệ thống được set khá ít, có thể gây quá tải memory. Trên Linux, bạn có thể tăng giới hạn bằng cách chạy lệnh sau:

1

sysctl -w vm.max_map_count=262144

Để sửa trực tiếp giá trị này, thì cập nhật giá trị của vm.max_map_count trong file /etc/sysctl.conf.

Chú ý: Nếu bạn cài đặt ES sử dụng các gói (.deb, .rpm), thì thiết đặt này được thay đỏi tự động. Để kiểm tra, chạy lệnh:

1

sysctl vm.max_map_count

nguồn: https://www.elastic.co/guide/en/elasticsearch/reference/1.5/setup.html

Last updated