1、 首頁到官方網站下載最新安裝包 https://www.elastic.co/downloads/elasticsearch
elasticsearch-5.3.0.tar.gz
2、 將軟體包上傳到 /usr/local/mypackages/ 目錄下。
3、 將軟體解壓到 /usr/local 目錄下。
# tar -xzvf elasticsearch-5.3.0.tar.gz -C /usr/local
4、 將資料夾 elasticsearch-5.3.0 重新命名為 elasticsearch
# mv elasticsearch-5.3.0 elasticsearch
5、 配置elasticsearch
# vim elasticsearch/config/elasticsearch.yml cluster.name=elasticsearch #叢集名稱 只要叢集名稱相同,將自動構建叢集。 node.name=node1 #伺服器名稱 ttp.port: 9200 #服務埠 network.host: 192.168.33.50 #指定Host
6、 因為安全問題elasticsearch 不讓用root使用者直接執行,所以要建立新使用者。
注:最好直接使用非root帳戶進行安裝。
useradd elastic
passwd elastic 123456
7、 給新建的使用者elastic賦許可權。
chown -R elastic /usr/local/elasticsearch
su elastic
8、 切換使用者並啟動elasticsearch服務。
./elasticsearch -d #啟動服務
然後在瀏覽器中檢視,出現以下資訊說明啟動成功:
附:啟動報錯
報錯1、system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk.
原因:
這是在因為Centos6不支援SecComp,而ES5.x預設bootstrap.system_call_filter為true進行檢測,所以導致檢測失敗,失敗後直接導致ES不能啟動。
解決:
修改elasticsearch.yml中配置bootstrap.system_call_filter為false,注意要在Memory下面:
bootstrap.memory_lock: false bootstrap.system_call_filter: false
報錯2:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
max number of threads [1024] for user [elastic] is too low, increase to at least [2048]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解決:
# vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536
# vim /etc/security/limits.d/90-nproc.conf soft nproc 1024 修改為: soft nproc 2048
# vi /etc/sysctl.conf 新增配置: vm.max_map_count = 655360
並執行命令:(理論上講是實時生效,但是我重啟後才生效的。)
sysctl -p
報錯3:memory locking requested for elasticsearch process but memory is not locked
解決:
修改elasticsearch.yml檔案中的配置,開放discovery.zen.ping.unicast.hosts及discovery.zen.minimum_master_nodes 。
discovery.zen.ping.unicast.hosts: ["192.168.33.50"] discovery.zen.minimum_master_nodes: 1
附錄1:如果發現多臺機器組不成叢集,請設定你的防火牆。
-A INPUT -p tcp -m tcp --dport 9100 -j ACCEPT -A INPUT -p tcp -m tcp --dport 9200 -j ACCEPT -A INPUT -p tcp -m tcp --dport 9300 -j ACCEPT