Elasticsearch安装
- 通过Docker完成安装社区版本
1 | docker run --name es_1 \ |
- 常规安装方法
安装JDK8版本。
Linux平台需要先创建用户,在指定用户权限下运行ES程序。
修改elasticsearch.yml配置文件。
Cluster
1. cluster.name 集群名称,如果有多个集群,那么每个集群名就得是唯一的。Node
1. node.name 节点名称 2.node.attr.rack 该节点自定义信息。Paths
1. path.data 存储数据的目录 2. path.logs 存储日志的目录Memory
1. bootstrap.memory_lock 是否使用交换内存Network
1. network.host: 0.0.0.0 绑定的地址 2. http.port: 9200 绑定的端口Discovery
1. discovery.zen.ping.unicast.hosts: ["host1", "host2"] 设置集群中master集群初始化列表,这个数组里的机器将被自动发现加入集群 2. discovery.zen.minimum_master_nodes 最小集群数量= total / 2 + 1Gateway
1. gateway.recover_after_nodes 控制集群在达到多少个节点之后才会开始数据恢复,通过这个设置可以避免集群自动相互发现的初期,shard分片不全的问题。
ES安装常见问题
提示OpenJDK内存分配失败,如下图:
解决方法:通过调整ES的JVM参数,根据机器配置适当调整大小。
提示最大虚拟内存不足,如下图
解决办法:通过调整机器的最大内存配置文件
1
2
3
4vim /etc/sysctl.conf
##修改
vm.max_map_cout=262144
Sysctl -p /etc/sysctl.conf其它问题
system call filters failed to install,出现这个问题的时候。-Ebootstrap.system_call_filter=false
max file descriptors [4096] for elasticsearch process is too low,出现这个说明,系统打开的文件描述符太少。
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N 提示运行的容器虚拟机CPU数量只有1个,调整即可。
Docker Container exited with code 137,这个错误发生在分配给容器的内存不足导致的错误,调整机器配置。
Failed to Setup IP tables: Unable to enable SKIP DNAT rule: 发生这个错误,重启docker容器即可。