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 |
|
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 |
|
Theo tìm hiểu thì setting như sau thì ES sẽ hoạt động được tốt:
/etc/security/limits.conf:
12 |
|
/etc/default/elasticsearch(In CentOS: ‘/etc/sysconfig/elasticsearch’ or /etc/init.d/elasticsearch):
123 |
|
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 |
|
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 |
|
Để 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 |
|
nguồn: https://www.elastic.co/guide/en/elasticsearch/reference/1.5/setup.html
Last updated