官网:https://www.elastic.co/cn/elasticsearch/
1. Windows安装
1.1 环境准备
- JDK1.8起步
- node相关环境
1.2 ES安装
1.2.1 软件下载
直接前往官网下载,如果下载相关插件,务必版本一致!
1.2.2 安装
直接解压即可。
1.2.3 启动
进入bin目录双击elasticsearch.bat
即可。
1.2.4 测试
浏览器输入http://localhost:9200/
.
1.2.5 相关配置
-
跨域问题
修改elasticsearch.yml,添加以下内容
http.cors.enabled: true http.cors.allow-origin: "*"
1.3 可视化界面head安装
将其视为数据库可视化工具即可。
-
下载
https://github.com/ouyangzhengit/elasticsearch-head
-
解压进入之后直接npm install
-
通过 npm run start 启动(需要开启跨域,否则会链接失败。)
Centos安装
1. 环境准备
-
防火墙开放对应端口
-
自备JDK1.8
-
node及npm环境
-
修改虚拟机配置,
vi /etc/security/limits.conf
,追加内容:* soft nofile 131072 * hard nofile 131072 * soft nproc 131072 * hard nproc 131072
修改
vi /etc/sysctl.conf
,追加内容 :vm.max_map_count=655360
设置限制数量,第一列表示用户,* 表示所有用户
soft xxx : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。
hard xxx : 代表严格的设定,不允许超过这个设定的值。
nproc : 是操作系统级别对每个用户创建的进程数的限制
nofifile : 是每个进程可以打开的文件数的限制
soft nproc :单个用户可用的最大进程数量(超过会警告);
hard nproc:单个用户可用的最大进程数量(超过会报错);
soft nofifile :可打开的文件描述符的最大数(超过会警告);
hard nofifile :可打开的文件描述符的最大数(超过会报错);
举例:soft 设为1024,hard设为2048 ,则当你使用数在1~1024之间时可以随便使用,
1024~2048时会出现警告信息,大于2048时,就会报错。
注:
①一般soft的值会比hard小,也可相等。
② /etc/security/limits.d/ 里面配置会覆盖 /etc/security/limits.conf 的配置
③只有root用户才有权限修改/etc/security/limits.conf
④如果limits.conf没有做设定,则默认值是1024
-
虚拟内存设置
修改
vi /etc/sysctl.conf
,追加内容 :vm.swappiness=1 vm.max_map_count=655360
-
立即生效
sysctl -p
2. 安装ES
-
创建目录
首先,在你的运行环境下创建一个安装目录
mkdir es ,创建一个名为es的包。
-
下载
https://www.elastic.co/cn/elasticsearch/
到官网下载并上传到指定目录
https://github.com/elastic/elasticsearch/releases
或者前往github下载
-
解压
tar -zxvf elasticsearch-6.8.4.tar.gz
如果解压报错,请注意,可能是文件类型不对,可以fifile elasticsearch-6.8.4.tar.gz 查看一下文件类型
再或者不是gzip格式,可以不加z .直接tar -zxvf elasticsearch-6.8.4.tar.gz
安装包目录:
bin:存放es的一些可执行脚本,比如用于启动进程的elasticsearch命令,以及用于安装插件的
elasticsearch-plugin插件
conf:用于存放es的配置文件,比如elasticsearch.yml,这里面存放了很多我们相关的生产上会
使用到的配置,比如预防我们集群脑裂,过度移动导致网络带宽被消耗等问题。 还存放了我们
log4j的一些配置。
data:用于存放es的数据文件,就是每个索引的shard的数据文件
logs:用于存放es的日志文件
plugins:用于存放es的插件
script:用于存放一些脚本文件
在这里我们可以测试启动一下ES,看我们的ES会出什么样的错误
-
不能以root用户启动服务
# 创建用户组和用户 groupadd esgroup useradd esuser -g esgroup -p 123456 chown -R esuser:esgroup es/es目录
-
修改相关配置文件
elasticsearch的confifig文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是
es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里
的设置按普通log4j配置文件来设置就行了。
conf文件夹下:elasticsearch.yml
#配置服务器远程连接 network.host:服务器IP或者0.0.0.0 http.port:9200 #是否支持跨域 http.cors.enabled: true #支持所有域名 http.cors.allow-origin: "*"
配置详解
cluster.name:
配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。
node.name:
节点名,通常一台物理服务器就是一个节点,es会默认随机指定一个名字,建议指定一个有意义
的名称,方便管理
一个或多个节点组成一个cluster集群,集群是一个逻辑的概念,节点是物理概念,后边章节会
详细介绍。
path.conf:
设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认
在/etc/ elasticsearch
path.data:
设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔
开。
path.logs:
设置日志文件的存储路径,默认是es根目录下的logs文件夹
path.plugins:
设置插件的存放路径,默认是es根目录下的plugins文件夹
bootstrap.memory_lock: true
设置为true可以锁住ES使用的内存,避免内存与swap分区交换数据。
network.host:
设置绑定主机的ip地址,设置为0.0.0.0表示绑定任何ip,允许外网访问,生产环境建议设置为
具体的ip。
http.port: 9200
设置对外服务的http端口,默认为9200。
transport.tcp.port: 9300 集群结点之间通信端口
node.master:
指定该节点是否有资格被选举成为master结点,默认是true,如果原来的master宕机会重新选
举新的master。
node.data:
指定该节点是否存储索引数据,默认为true。
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: [“localhost:9700”,“localhost:9800”,“localhost:9900”]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: [“node1”, “node2”,“node3”]
node.max_local_storage_nodes:
单机允许的最大存储结点数,通常单机启动一个结点建议设置为1,开发环境如果单机启动多个节
点可设置大于1。
-
配置ES内存
vi /config/jvm.options 在配置文件中设置 -Xms8g -Xmx8g 根据生产情况设定。建议-Xms与-Xmx配置成一样 默认都是1G,我们可以根据自己实际情况来设置
-
切换用户并启动 elasticsearch
su esuser ./bin/elasticsearch -d
-
切换JDK(7.0以上版本)
7.0以上版本可能启动会提示你不能使用1.8版本的JDK,所以需要指定JDK路径。ES已经为我们提供了JDK。可以再es解压目录中找到。
然后我们需要再启动脚本中指定JDK目录。
vim bin/elasticsearch
添加如下命令
# 配置自带的JDK export JAVA_HOME=/es目录中自带jdk的路径/jdk export PATH=$JAVA_HOME/bin:$PATH #添加JDK判断 if [ -x "$JAVA_HOME/bin/java"]; then JAVA="/es路径/jdk/bin/java" else JAVA='which java' fi
-
启动成功
3. 安装ES-Head插件
ElasticSearch-head就是一款能连接ElasticSearch搜索引擎,并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写RESTful接口风格的请求,就可以对ElasticSearch中的数据进行增删改查、创建或者删除索引等操作。类似于使用navicat工具连接MySQL这种关系型数据库,对数据库做操作。
3.1 环境检查
Es-head插件运行需要node环境,确保安装有node,如果未安装,自行安装
node -v npm -v
3.2 安装运行
-
下载elasticsearc-head插件
去下面地址下载插件项目的zip包
地址:https://github.com/mobz/elasticsearch-head.git
将下载的项目zip包上传到服务器
-
安装zip支持
yum install -y unzip zip
-
解压
unzip elasticsearch-head-master.zip
-
进入目录
cd elasticsearch-head-master
-
修改Gruntfile.js
vim Gruntfile.js
在此处添加
hostname: '0.0.0.0',
-
进入_site目录,编辑app.js文件
搜索9200跳转至如下位置,修改localhost为主机ip地址;
通过
/
搜索; -
在安装目录下执行
npm install
-
启动
npm run start 后台运行: nohup npm run start > head.log 2>&1 &
3.3 可能遇到的问题
-
跨域问题
在文件:elasticsearch.yml末尾添加:如果es没有设置密码,将第三行注释掉
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
-
安装时权限不足问题
用sudo执行
sudo npm install
需要在/usr/bin目录中添加npm的连接
先进入/usr/bin目录
之后执行
sudo ln -s /root/node-v13.9.0-linux-x64/bin /usr/bin/npm
注意文件路径 -
安装时提示phantomjs-prebuilt@2.1.16 install:
node install.js
npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
4. 安装分词器
分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.4
4.1 为ik分词器的安装准备环境
# create plugin folder
cd your-es-root/plugins/ && mkdir ik
4.2 下载ik分词器 注意!要下载和ElasticSearch版本一致的
如果不能下载则去官网自行下载然后上传至服务器
https://github.com/medcl/elasticsearch-analysis-ik/releases
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.8.4.zip
4.3 解压ik分词器安装包
如果没有安装unzip解压,使用yum install unzip命令安装
unzip elasticsearch-analysis-ik-6.8.4.zip
4.4 重新启动ElasticSearch
ps aux|grep elastic
kill -9 PID
4.5 查看是否安装成功
curl http://localhost:9200/_cat/plugins
node1 analysis-ik 6.6.0
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16788.html