Centos7 中安装使用 Elasticsearch7.7.0(1)

摘要:目前 Elasticsearch7*支持向下兼容 JDK8,最好安装 JDK11,也可以使用 Elasticsearch7自带的 JDK。

 

一 Elasticsearch7.7.0 下载地址

https://pan.baidu.com/s/1eKsdvPHNk-6uxA7xfGnEuw

提取码:47bt

 

二 解压

tar -zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz

 

三 安装及使用

 (1)进入解压后的elasticsearch目录,创建data目录:

cd elasticsearch
mkdir data

(2) 修改config/elasticsearch.yml

vim config/elasticsearch.yml

  在最后添加:

# 集群名称
cluster.name: kc-es
# 节点名称
node.name: node-1
# 设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了
network.host: 0.0.0.0
# 设置在集群中的所有节点名称,这个节点名称就是之前所修改的
# 当然你也可以采用默认的也行,目前是单机,放入一个节点即可
cluster.initial_master_nodes: ["node-1"]
# 设置对外服务的http端口,默认为9200
http.port: 9200
# 数据存储位置
path.data: /usr/local/elasticsearch/elasticsearch-7.7.0/data
# 日志存储位置
path.logs: /usr/local/elasticsearch/elasticsearch-7.7.0/logs

# 解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"

    elasticsearch.yml 文件的所有配置项,可参考配置:

cluster.name:elasticsearch
配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。

node.name:"FranzKafka"
节点名,默认随机指定一个name列表中名字,该列表在es的jar包中config文件夹里name.txt文件中,其中有很多作者添加的有趣名字。

node.master:true
指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。

node.data:true
指定该节点是否存储索引数据,默认为true。

index.number_of_shards:5
设置默认索引分片个数,默认为5片。

index.number_of_replicas:1
设置默认索引副本个数,默认为1个副本。

path.conf:/path/to/conf
设置配置文件的存储路径,默认是es根目录下的config文件夹。

path.data:/path/to/data
设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,例:
path.data:/path/to/data1,/path/to/data2

path.work:/path/to/work
设置临时文件的存储路径,默认是es根目录下的work文件夹。

path.logs:/path/to/logs
设置日志文件的存储路径,默认是es根目录下的logs文件夹

path.plugins:/path/to/plugins
设置插件的存放路径,默认是es根目录下的plugins文件夹

bootstrap.mlockall:true
设置为true来锁住内存。因为当jvm开始swapping时es的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。同时也要允许elasticsearch的进程可以锁住内存,Linux下可以通过`ulimit-l unlimited`命令。

network.bind_host:192.168.0.1
设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0。


network.publish_host:192.168.0.1
设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。

network.host:192.168.0.1
这个参数是用来同时设置bind_host和publish_host上面两个参数。

transport.tcp.port:9300
设置节点间交互的tcp端口,默认是9300。

transport.tcp.compress:true
设置是否压缩tcp传输时的数据,默认为false,不压缩。

http.port:9200
设置对外服务的http端口,默认为9200。

http.max_content_length:100mb
设置内容的最大容量,默认100mb

http.enabled:false
是否使用http协议对外提供服务,默认为true,开启。

gateway.type:local
gateway的类型,默认为local即为本地文件系统,可以设置为本地文件系统,分布式文件系统,Hadoop的HDFS,和amazon的s3服务器,其它文件系统的设置方法下次再详细说。

gateway.recover_after_nodes:1
设置集群中N个节点启动时进行数据恢复,默认为1。

gateway.recover_after_time:5m
设置初始化数据恢复进程的超时时间,默认是5分钟。

gateway.expected_nodes:2
设置这个集群中节点的数量,默认为2,一旦这N个节点启动,就会立即进行数据恢复。

cluster.routing.allocation.node_initial_primaries_recoveries:4
初始化数据恢复时,并发恢复线程的个数,默认为4。

cluster.routing.allocation.node_concurrent_recoveries:2
添加删除节点或负载均衡时并发恢复线程的个数,默认为4。

indices.recovery.max_size_per_sec:0
设置数据恢复时限制的带宽,如入100mb,默认为0,即无限制。

indices.recovery.concurrent_streams:5
设置这个参数来限制从其它分片恢复数据时最大同时打开并发流的个数,默认为5。

discovery.zen.minimum_master_nodes:1
设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)

discovery.zen.ping.timeout:3s
设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。

discovery.zen.ping.multicast.enabled:false
设置是否打开多播发现节点,默认是true。

discovery.zen.ping.unicast.hosts:["host1", "host2:port","host3[portX-portY]"]
设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点

  (3)调整 Elasticsearch使用 java的 jvm大小:

     默认是使用1G的内存的,这里我们修改一下内存,直接把内存改到200m

vim config/jvm.options 

    修改内容:

-Xms256m
-Xmx256m

   (4)Elasticsearch 默认不允许使用 root用户启动,这里创建新用户并赋予文件夹使用权限:

adduser es
passwd es
Changing password for user es.
New password: 
Retype new password: 

chown es /usr/local/elasticsearch/ -R

su es

   (5)vim 编辑 /etc/security/limits.conf,在最后添加:

es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096

   (6)vim 编辑 vim /etc/security/limits.d/20-nproc.conf,将* 改为用户名 es:

kc         soft    nproc     4096
root       soft    nproc     unlimited

   (7)vim 编辑 /etc/sysctl.conf,在最后添加:

vm.max_map_count = 655360

    执行:

[root@centos]# sysctl -p

   (8)登录刚才新建的 es用户,并启动 elasticsearch,OK

# 启动
[es@centos elasticsearch]$ ./bin/elasticsearch

# 后台线程启动
[es@centos elasticsearch]$ ./bin/elasticsearch -d

# 查看启动进程
[es@centos elasticsearch]$ ps -ef|grep elasticsearch

四 访问

http://ip:9200

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kong7828675

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值