
下载地址
简单启动#下载tar包并解压目录 `[elastic@localhost ~]$ tar zxvf elasticsearch-7.2.0-linux-x86_64.tar.gz ` #进入目录启动 [elastic@localhost bin]$ pwd /home/elastic/elasticsearch-7.2.0/bin #启动 [elastic@localhost bin]$ ./elasticsearch
max number of threads [3795] for user [elastic] is too low, increase to at least [4096]
原因是 elasticsearch 启动的时候要求当前用户最大线程数至少为 4096 个线程,而操作系统限制该用户最大线程数为 3795,只需要修改当前用户的最大线程数即可。可以使用ulimit -a查看当前用户允许的最大线程数
$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 3795 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 3795 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
可以看到 max user processes 确实为 3795
在 Linux 中,用户允许的最大线程数的配置文件为/etc/security/limits.conf,我们需要在该配置文件中添加下面配置
# elastic是登录用户名,配置完毕后需要退出重新登录 elastic - nproc 65535
[elastic@localhost ~]$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 3795 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 65535 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
参考文章
可以使用多台服务器部署 ,或者同一台服务器多个节点部署也可以,端口号不一样就行了,来看一下节点1的配置
[elastic@localhost bin]$ cat ../config/elasticsearch.yml # ======================== Elasticsearch Configuration ========================= #集群名称 cluster.name: cluster1 #节点名称 集群中保证唯一 node.name: node1 #主节点属性值,表示是否有成为主节点的资格 node.master: true # 节点是否存储数据 node.data: true # 本节点的ip network.host: 172.16.131.5 # 本节点的端口 http.port: 9200 # 集群之间的通讯端口 transport.port: 9300 # 种子节点 discovery.seed_hosts: ["172.16.131.5:9300","172.16.131.5:9301","172.16.131.5:9302"] # 初始化的时候需要配置一些具有主节点属性的节点 cluster.initial_master_nodes: ["172.16.131.5:9300","172.16.131.5:9301","172.16.131.5:9302"]
[elastic@localhost ~]$ cp -r elasticsearch-7.2.0 elasticsearch2 [elastic@localhost ~]$ cp -r elasticsearch-7.2.0 elasticsearch3 [elastic@localhost ~]$ ls elasticsearch2 elasticsearch3 elasticsearch-7.2.0 elasticsearch-7.2.0-linux-x86_64.tar.gz
[elastic@localhost config]$ cat elasticsearch.yml # ======================== Elasticsearch Configuration ========================= cluster.name: cluster1 node.name: node2 node.master: true node.data: true node.ingest: true network.host: 172.16.131.5 http.port: 9201 transport.port: 9301 discovery.seed_hosts: ["172.16.131.5:9300","172.16.131.5:9301","172.16.131.5:9302"] cluster.initial_master_nodes: ["172.16.131.5:9300","172.16.131.5:9301","172.16.131.5:9302"]
cluster.name: cluster1 node.name: node3 node.master: true node.data: true node.ingest: true network.host: 172.16.131.5 http.port: 9202 transport.port: 9302 discovery.seed_hosts: ["172.16.131.5:9300","172.16.131.5:9301","172.16.131.5:9302"] cluster.initial_master_nodes: ["172.16.131.5:9300","172.16.131.5:9301","172.16.131.5:9302"]
cluster.name: cluster1 node.name: node2 node.master: true node.data: true node.ingest: true network.host: 172.16.131.5 http.port: 9201 transport.port: 9301 discovery.seed_hosts: ["172.16.131.5:9300","172.16.131.5:9301"] cluster.initial_master_nodes: ["node1","node2"]
[elastic@localhost config]$ cat jvm.options #启动时分配的内存 -Xms1g #运行过程中分配的最大内存 -Xmx1g [elastic@localhost config]$ cat /proc/meminfo | grep Mem MemTotal: 995672 kB MemFree: 490128 kB MemAvailable: 476936 kB
使用docker安装elastic和启动方式(单机)
使用docker安装elastic和启动方式(集群)
相关参考
server.port: 5601
server.host: "172.16.131.5"
elasticsearch.hosts: ["http://172.16.131.5:9200"]
# 启动kibana
nohup ./bin/kibana --allow-root & > /dev/null 2>&1