elasticsearch單機版安裝

下載安裝包

下載 elasticsearch-6.8.0.tar.gz java

目標服務器 172.16.119.100node

上傳目錄:/home/hadoop/apps/,linux

解壓:bootstrap

tar -zxf elasticsearch-6.8.0.tar.gz

  

重命名:vim

 mv elasticsearch-6.8.0/ elasticsearch

  

建立elk用戶,並將elasticsearch受權給elkbash

注意:因爲elasticsearch啓動的時候不能直接用root用戶啓動,因此須要建立普通用戶服務器

[root@hadoop1 apps]# useradd elk
[root@hadoop1 apps]# chown -R elk:elk elasticsearch

  

修改配置

修改配置文件config/elasticsearch.ymlapp

network.host: 172.16.119.100

  

 

啓動ES,發現報錯

啓動:bin/elasticsearchjvm

報錯(一)elasticsearch

Error: Could not find or load main class org.elasticsearch.tools.java_version_checker.JavaVersionChecker

解決:因爲個人安裝文件是放在hadoop用戶的目錄下的,切換hadoop用戶給權限再啓動

 

報錯(二)

ERROR: [4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [1024] for user [hadoop] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

 緣由:es對啓動內存是有要求的如今修改虛擬內存大小

修改操做系統的內核配置文件sysctl.conf

# vim /etc/sysctl.conf
#在配置文件最後面添加以下內容
vm.max_map_count=262144

解釋:max_map_count文件包含限制一個進程能夠擁有的VMA(虛擬內存區域)的數量。虛擬內存區域是一個連續的虛擬地址空間區域。

在進程的生命週期中,每當程序嘗試在內存中映射文件,連接到共享內存段,或者分配堆空間的時候,這些區域將被建立。
當進程達到了VMA上線但又只能釋放少許的內存給其餘的內核進程使用時,操做系統會拋出內存不足的錯誤。

 
#使修改以後的配置文件生效
[root@hadoop1 ~]# sysctl -p

  

修改limits.conf文件

#limits.conf:用來保護系統的資源訪問,和sysctl.conf很像,可是limits.conf是針對於用戶,而sysctl.conf是針對於操做系統.
[root@hadoop1 ~]# vim /etc/security/limits.conf
#在文件末尾添加以下內容:
elk soft nofile 65536
elk hard nofile 131072
elk soft nproc 4096
elk hard nproc 4096

  

修改elasticsearch-node1節點的配置文件jvm.options

[root@hadoop1 ~]# cd /home/hadoop/apps/elasticsearch/config/
[root@hadoop1 config]#  vim jvm.options

修改以下兩個選項:

  • -Xms512m  #elasticsearch啓動時jvm所分配的初始堆內存大小
  • -Xmx512m  #elasticsearch啓動以後容許jvm分配的最大堆內存大小,生產環境中可能須要調大

注意:若是內存足夠大,能夠不用修改,默認爲1G

 

修改90-nproc.conf解決用戶的最大線程數過低

解決問題2

vi /etc/security/limits.d/90-nproc.conf

 

 

修改elasticsearch.yml解決問題4

緣由:
這是在由於Centos6不支持SecComp,而ES5.2.0默認bootstrap.system_call_filter爲true進行檢測,因此致使檢測失敗,失敗後直接致使ES不能啓動。

vim elasticsearch.yml
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

  

重啓linux

  shutdown -r now

 

重啓服務

前臺啓動:

[hadoop@hadoop1 bin]$ ./elasticsearch 

  

後臺啓動:

[hadoop@hadoop1 bin]$ ./elasticsearch -d

  

相關文章
相關標籤/搜索