Ubuntu16.04安装ElasticSearch v7.13.2

1、安装es

1.1 es准备

# 服务器环境需为JDK1.8以上
# 下载es,可根据自己选择下载版本,此次选用为当前最新版本7.13.2
# 历史版本地址
https://www.elastic.co/cn/downloads/past-releases
# 最新版本地址
https://www.elastic.co/cn/downloads/elasticsearch
# 解压文件至 /usr/local
tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz

1.2 配置文件

1.2.1 elasticsearch.yml

1)配置文件详解

此配置文件并未罗列出所有配置,是根据elasticsearch7.13.2配置文件注释,自定义配置可手动添加或删除官方配置文件,然后自定义配置文件。

# ======================== Elasticsearch Configuration =========================
# Elasticsearch为大多数设置提供了合理的默认值,在开始调整配置之前,请确保了解你想要达到的目标和结果。
# 配置节点的主要方法是通过此文件。此模板列出您可能要为生产集群配置的最重要设置。
#
# ---------------------------------- Cluster -----------------------------------
# 集群名称 Elasticsearch会自动发现在同一网段下的es集群,如果在同一个网段下有多个集群,可以利用这个属 性来区分不同的集群。
#cluster.name: my-application
#
# ------------------------------------ Node ------------------------------------
# 节点名称 Elasticsearch启动的时候会自动创建节点名称,但是你也可以进行配置。
#node.name: node-1
# 每个节点都可以定义一些与之关联的通用属性,用于后期集群进行碎片分配时的过滤。
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
# 设置索引数据的存储路径
#path.data: /path/to/data
# 日志存储路径
#path.logs: /path/to/logs
#
# ----------------------------------- Memory -----------------------------------
# 设置为true来锁住内存,因为当JVM开始swapping的时候Elasticsearch的效率会降低,所以要保证他不被 swap,可以吧ES_MIN_MEN和ES_MAX_MEN两个环境变量设置为同一个值,并且保证机器有足够的内存分配给 Elasticsearch,同时也要允许Elasticsearch的进程可以锁住内存,linux下可以通过`ulimit -l           unlimited`命令。
# 通俗的来讲就是这个只能我用,别人不能用
#bootstrap.memory_lock: true
#
# ---------------------------------- Network -----------------------------------
# 设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0
#network.host: 192.168.0.1
# 设置对外服务的Http端口,默认是9200
#http.port: 9200
#
# --------------------------------- Discovery ----------------------------------
#当Elasticsearch首次启动时,它将尝试发现在同一主机上运行的其他节点。如果在几秒钟内找不到任何当选的主节点,则Elasticsearch将形成一个包含所有其他已发现节点的集群。无需在开发模式下进行任何额外配置即可构成此集群非常有用,但这不适用于生产环境,因为它有可能形成多个集群并因此丢失数据。
#
# 在此节点启动时传递要执行发现的主机的初始列表 
#discovery.seed_hosts: ["host1", "host2"]
# 使用一组初始的主节点引导集群:
#cluster.initial_master_nodes: ["node-1", "node-2"]
#
# ---------------------------------- Various -----------------------------------
# 设置是否可以通过正则或者_all删除或者关闭索引。
#action.destructive_requires_name: true
2)自定义配置文件

此自定义配置文件是在官方基础上修改的,只列出了修改部分。

vim  /usr/local/elasticsearch-7.13.2/config/elasticsearch.yml 
#修改文件,注意注释掉以前的,重新添加一行

#network.host: 192.168.0.1
network.host: 0.0.0.0 #外网访问,ip地址访问

# 修改数据存储路径
#path.data: /path/to/data
path.data: /usr/local/elasticsearch-7.13.2/data

#修改日志存储路径
#path.logs: /path/to/logs
path.logs: /usr/local/elasticsearch-7.13.2/logs


# 节点名称。不配置默认为node-1,用于cluster.initial_master_nodes时配置
node.name: node-1
# 是否主节点
node.master: true

# 使用一组初始的主节点引导集群
#cluster.initial_master_nodes: ["node-1", "node-2"]
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
# 注:此设置一定要设置,否则启动将会报错

# 解决跨域用于head插件
http.cors.enabled: true
http.cors.allow-origin: "*"

1.2.2 jvm.options

设置最小及最大的JVM堆内存大小:

在jvm.options中设置 -Xms和-Xmx:

1) 两个值设置为相等

2) 将Xmx 设置为不超过物理内存的一半。

1.2.3 设置每个进程最多允许打开的文件数

在linux上根据系统资源情况,可将每个进程最多允许打开的文件数设置大些。

su limit -n 查询当前文件数

使用命令设置limit:

# 先切换到root,设置完成再切回elasticsearch用户。
sudo su  
ulimit -n 65536 
su elasticsearch 

也可通过下边的方式修改文件进行持久设置

sudo vim /etc/security/limits.conf

将下边的行加入此文件:

elasticsearch  -  nofile  65536

1.2 启动es

cd /usr/local/elasticsearch-7.13.2/bin
# 启动
./elasticsearch
# 后台启动
./elasticsearch -d

1.2.1 启动中可能出现错误

1)linux无法以root用户启动es
# 错误信息
java.lang.RuntimeException: can not run elasticsearch as root

# 解决方案

# 创建用户组
groupadd es
# 创建新用户
useradd es -g es
# 设置密码
passwd es
# 设置权限
chown -R es:es /usr/local/elasticsearch-7.13.2
# 注:以上操作是在root用户下

# 切换到es用户下,启动es
su es
2)内存不够

具体解决方案与其他内存不够现象根据情况不同查找解决方案

Exception in thread "main" java.lang.RuntimeException: starting java failed with [1]
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
	at org.elasticsearch.tools.launchers.JvmOption.flagsFinal(JvmOption.java:119)
	at org.elasticsearch.tools.launchers.JvmOption.findFinalOptions(JvmOption.java:81)
	at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:38)
	at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:135)
	at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:86)

1.3 停止es

#停止es
lsof -i:9200 #获取占用端口 pid
kill -9 pid #根据pid杀死es进程

2、安装head插件

2.1 下载与安装

注:不可把head插件放在plugins目录下,放在与plugins同级目录下即可

# git 
git --version #判断是否安装git
# 未安装
sudo apt-get install git
# 已安装
git clone https://github.com/mobz/elasticsearch-head.git

# node
node -v # 判断node是否已安装
# 未安装
sudo apt-get install python-software-properties #先安装python
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - #手动下载执行文件
sudo apt-get install nodejs #安装nodejs

# 在elasticsearch-head目录下执行
npm install
# 启动
npm run start
# 后台运行
nohup npm run start >/dev/null 2>&1 &

3、安装ik分词器(v7.13.2)

3.1 下载ik分词器

下载地址

# 在elasticsearch安装目录plugins下创建ik文件夹
mkdir ik
# 解压安装包
unzip elasticsearch-analysis-ik-7.13.2.zip
# 重启elasticsearch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值