Linux部署Elasticsearch(一):下载和部署Elasticsearch

Linux安装好jdk1.8

下载elasticsearch

可以进入https://www.elastic.co/downloads/elasticsearch

下载到本地再上传到Linux服务器,解压到当前目录命令

tar  -zxvf 文件名

或者直接在Linux上下载

wget https://artifacts.elastic.co/downloads/elasticserch/elasticsearch-5.0.0.tar.gz

我下载到了opt文件夹下

解压到当前目录后

编辑elasticsearch.yml文件

vim  /opt/elasticsearch-5.0.0/config/elasticsearch.yml

cluster.name: my-application //集群名称

node.name: node-1  //es节点id

path.data: /opt/elasticsearch-5.0.0/data //指定es的数据存储目录

path.logs: /opt/elasticsearch-5.0.0/logs //指定es的日志存储目录

bootstrap.memory_lock: true //锁定物理内存地址,防止elasticsearch内存被交换出去,也就是避免es使用swap交换分区

network.host: 0.0.0.0 //为es设置ip绑定,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问, es1.x版本默认绑定的是0.0.0.0 所以不需要配置,但是es2.x版本默认绑定的是127.0.0.1,需要配置,如果要外网访问就配置成0.0.0.0


http.port: 9200 //为es设置自定义端口,默认是9200
 注意:在同一个服务器中启动多个es节点的话,默认监听的端口号会自动加1:例如:9200,9201,9202...


discovery.zen.ping.unicast.hosts: ["xxx.xxx.xxx.xxx"] //如果是虚拟机就写127.0.0.1或者本机ip,如果是服务器就写服务器地址

discovery.zen.minimum_master_nodes: 1 //通过配置这个参数来防止集群脑裂现象 (集群总节点数量/2)+1

更多关于elasticsearch.yml的知识可以参考博文https://blog.csdn.net/zmx729618/article/details/80363875

 配置系统内存锁定(由于es 配置文件中配置了内存锁定,如果系统不锁定会报:memory locking requested for elasticsearch process but memory is not locked)

打开limits.conf配置文件

vim /etc/security/limits.conf

添加如下代码:

* soft memlock unlimited

* hard memlock unlimited

配置可创建最大文件(解决:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536])

打开limits.conf配置文件

vim /etc/security/limits.conf

添加如下代码:

* soft nofile 65536

* hard nofile 65536

这里我刚开始没有配置为65536,配置成了65535,启动的时候报错了 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])

文件是在/etc/security/limits.d文件夹下的,我的文件名是20-nproc.conf,有的鹏友的文件名是90-nproc.conf

打开文件20-nproc.conf,添加如下代码:

修改最大虚拟内存大小(解决max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] )

打开/etc/sysctl.conf文件,添加如下代码:

vm.max_map_count=262144

保存退出后,输入如下命令使sysctl.conf 配置生效

sysctl -p

解决centos6.x 不支持SecComp,ES5.2 后的版本默认使用 bootstrap.system_call_filter 检测,如果不通过则终止ES 进程,所以将该项改为false

编辑/elasticsearch.yml

vim  /opt/elasticsearch-5.0.0/config/elasticsearch.yml

添加

bootstrap.system_call_filter: false

但是我的centos7.x,添加了这行代码后启动失败,注释后启动成功。

添加启动elasticsearch 用户(es 默认不能使用root 用户启动)

groupadd elastic

useradd elastic -g elastic

启动elasticsearch

su elasticsearch

进入elasticsearch的bin目录

./elasticsearch(这样启动会看到启动过程,但你做不了其他操作了,可以先用此操作看是否成功启动再用后台启动的方法启动)

后台启动elasticsearch

./elasticsearch -d

到此就部署完成了,如果启动时出现问题可以参考我的博文Linux部署Elasticsearch(二):启动Elasticsearch不成功的几种原因

 

我是初学者,如有不对之处,还望各位大佬多多指教。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值