栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 前沿技术 > 大数据 > 大数据系统

elastic的安装和部署

大数据系统 更新时间:发布时间: 百科书网 趣学号
下载

下载地址

简单启动
  • 非root用户登录服务器
#下载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

  • 退出并重新登录查看max user processes 为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
  • 我们配置不同的端口号并启动
    节点2
[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"] 
  • 节点3
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"] 
  • 在启动节点3的时候报了错failed; error='Not enough space' (errno=12),因为我虚拟机的内存是1g,可能不够了,这个我们一会再解决,我们先看一下启动状态
  • 但是当我启动之后,发现配置没有任何问题,但是两个节点不在 一个集群


  • 后来经过请教大佬,是因为我之前单节点启动过一次,在elastic/data 下面会生成一个nodes目录,由于启动时声明了单节点,所以这个nodes 下的目录不会每次启动时检测节点。所以新的节点不会被加入当前服务,那么此时,删除nodes目录并重新启动服务即可
  • 另外一点建议是cluster.initial_master_nodes里面最好是配置节点的名字
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"] 
  • 此时,我们的单台服务器多节点 部署成功,但是我们来看刚才遗留的问题,在启动节点3的时候报了错failed; error='Not enough space' (errno=12)
    在前面我们配置过 jvm.option 这个文件,但是查看我们的内存,发现只有1个G,所以通过修改Xms和Xmx的值大小可以避免这个问题,比如-Xms108m -Xmx108m,但是为了避免以后实践过程中内存不足的问题,不建议这样做
[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和启动方式(集群)

安装kibana

相关参考

  • 下载地址点击下载
  • 解压后进入config目录配置文件[elastic@localhost config]$ vi /home/elastic/kibana-7.2.0-linux-x86_64/config/kibana.yml
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
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/279957.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号