elasticsearch概念解釋參照: https://segmentfault.com/a/11...
1臺centos6操做系統主機,關閉selinux及iptables
官方下載elasticsearch6.0軟件包: https://artifacts.elastic.co/...
官方下載java1.8軟件包: http://www.oracle.com/technet...
建立elasticsearch帳戶用於啓動elasticsearch服務
[root@elasticsearch ~]# useradd elasticsearch
修改系統ulimit並重啓
[root@elasticsearch ~]# cat /etc/security/limits.d/90-nproc.conf # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 1024 root soft nproc unlimited elasticsearch soft nofile 655360 elasticsearch hard nofile 655360 elasticsearch soft nproc 655360 elasticsearch hard nproc 655360
修改內核參數配置
[root@elasticsearch ~]# echo 'vm.max_map_count = 655360' >> /etc/sysctl.conf [root@elasticsearch ~]# sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key error: "net.bridge.bridge-nf-call-iptables" is an unknown key error: "net.bridge.bridge-nf-call-arptables" is an unknown key kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 vm.max_map_count = 655360 [root@elasticsearch ~]#
安裝java並配置環境變量,jdk版本以實際下載的版本爲準
[elasticsearch@elasticsearch software]$ ls elasticsearch-6.0.0.tar.gz jdk-8u121-linux-x64.tar.gz x-pack-6.0.0.zip [elasticsearch@elasticsearch software]$ pwd /home/elasticsearch/software [elasticsearch@elasticsearch software]$ tar -xf jdk-8u121-linux-x64.tar.gz [elasticsearch@elasticsearch software]$ ls elasticsearch-6.0.0.tar.gz jdk1.8.0_121 jdk-8u121-linux-x64.tar.gz x-pack-6.0.0.zip [elasticsearch@elasticsearch software]$ cat ~/.bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions JAVA_HOME='/home/elasticsearch/software/jdk1.8.0_121' JRE_HOME="$JAVA_HOME/jre" CLASSPATH=".:$JAVA_HOME/lib/:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/tools.jar" PATH="$JAVA_HOME/bin:$JRE_HOME/bin:$PATH" export JAVA_HOME JRE_HOME PATH CLASSPATH [elasticsearch@elasticsearch software]$ source ~/.bashrc [elasticsearch@elasticsearch software]$ java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) [elasticsearch@elasticsearch software]$
安裝相關軟件包
[elasticsearch@elasticsearch software]$ tar -xf elasticsearch-6.0.0.tar.gz [elasticsearch@elasticsearch software]$ ls elasticsearch-6.0.0 elasticsearch-6.0.0.tar.gz jdk1.8.0_121 jdk-8u121-linux-x64.tar.gz x-pack-6.0.0.zip [elasticsearch@elasticsearch software]$ cd elasticsearch-6.0.0 [elasticsearch@elasticsearch elasticsearch-6.0.0]$ ls bin config lib LICENSE.txt modules NOTICE.txt plugins README.textile [elasticsearch@elasticsearch elasticsearch-6.0.0]$ echo 'network.host: 0.0.0.0' >> config/elasticsearch.yml [elasticsearch@elasticsearch elasticsearch-6.0.0]$ echo 'bootstrap.system_call_filter: false' >> config/elasticsearch.yml [elasticsearch@elasticsearch elasticsearch-6.0.0]$ tail config/elasticsearch.yml # For more information, consult the gateway module documentation. # # ---------------------------------- Various ----------------------------------- # # Require explicit names when deleting indices: # #action.destructive_requires_name: true network.host: 0.0.0.0 bootstrap.system_call_filter: false [elasticsearch@elasticsearch elasticsearch-6.0.0]$
啓動服務
[elasticsearch@elasticsearch elasticsearch-6.0.0]$ ./bin/elasticsearch -d [elasticsearch@elasticsearch elasticsearch-6.0.0]$ ps -ef | grep elastic 503 1583 1 99 18:41 pts/0 00:00:13 /home/elasticsearch/software/jdk1.8.0_121/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -XX:+HeapDumpOnOutOfMemoryError -Des.path.home=/home/elasticsearch/software/elasticsearch-6.0.0 -Des.path.conf=/home/elasticsearch/software/elasticsearch-6.0.0/config -cp /home/elasticsearch/software/elasticsearch-6.0.0/lib/* org.elasticsearch.bootstrap.Elasticsearch -d 503 1626 1532 0 18:41 pts/0 00:00:00 grep elastic [elasticsearch@elasticsearch elasticsearch-6.0.0]$
查看集羣狀態信息
[elasticsearch@elasticsearch elasticsearch-6.0.0]$ curl 'http://localhost:9200/_cat/health?v' epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1515581011 18:43:31 elasticsearch green 1 1 0 0 0 0 0 0 - 100.0%
disable system call filters at your own risk
[2018-01-10T18:06:35,482][WARN ][o.e.b.BootstrapChecks ] [fzP4t-4] system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
添加 bootstrap.system_call_filter: false 至ES_HOME/config/elasticsearch.yml便可html
max file descriptors [65535]
max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
修改系統ulimit並重啓便可,詳細配置以下java
[root@elasticsearch ~]# cat /etc/security/limits.d/90-nproc.conf # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 1024 root soft nproc unlimited elasticsearch soft nofile 655360 elasticsearch hard nofile 655360 elasticsearch soft nproc 655360 elasticsearch hard nproc 655360 [root@elasticsearch ~]# reboot
vm.max_map_count [65530] is too low
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改內核參數配置node
[root@elasticsearch ~]# echo 'vm.max_map_count = 655360' >> /etc/sysctl.conf [root@elasticsearch ~]# sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key error: "net.bridge.bridge-nf-call-iptables" is an unknown key error: "net.bridge.bridge-nf-call-arptables" is an unknown key kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 vm.max_map_count = 655360 [root@elasticsearch ~]#
elasticsearch官方文檔:https://www.elastic.co/guide/...linux