写在前面
本文介绍了多种ES的安装方式 以及ES可视化插件的安装,每种ES安装都对应介绍了相应可视化的插件安装。对应起来看就行,应该是满足各位看官的需求了。
文末附本文中所有软件的安装包。
一、安装
---------【1、Linux方式】---------
ElasticSearch与JDK版本存在兼容问题,Linux上为jdk 1.8,ES版本elasticsearch-6.2.4.tar.gz。
1.将压缩包放在安装目标位置,楼主放在/usr/local,解压:
tar -zxvf elasticsearch-6.2.4.tar.gz
2.启动:
cd elasticsearch-6.2.4/bin/
./elasticsearch
此时可能会报错(木有遇到,可跳过):不允许root用户启动
解决:带上后面的参数 进行启动:
./elasticsearch -Des.insecure.allow.root=true
这时 可能又会报错,这是出于下同安全考虑设置的条件,由于Elasticsearch可以接受用户输入的脚本 并且执行,为了系统安全,建议创建一个用户专门用来运行Elasticsearch。
3.先创一个组:
groupadd esgroup
4.再创建一个用户,并添加到组, 密码为123456:
useradd esuser -g esgroup -p 123456
5.然后,更改ES的文件夹及内部文件的所属用户和组,去到ES解压文件夹的上一层local进行修改:
chown -R esuser:esgroup elasticsearch-6.2.4
再次切换到新用户:su esuser
去bin下面再次启动:./elasticsearch
(后台运行命令:./elasticsearch -d
)
看到started表示启动成功,至此安装完成。
验证,是否确实启动成功。使用命令:
curl 127.0.0.1:9200
看到返回这样的json数据表示一切OK,9200是ES的默认端口:
---------【2、Windows方式】---------
1.很简单,直接运行bin下面的elasticsearch.bat脚本即可
2.然后在浏览器访问:http://localhost:9200/
看到这个就表示OK了:
elasticsearch启动成功,访问不成功问题----》点击直达
安装 elasticsearch-head:下载zip解压
zip点击直达>>>
前提是系统要有 node.js 环境:安装教程直达>>>
安装完node.js后–>在 cmd 命令下进入 elasticsearch-head-5.0.0 目录,执行 npm install
–>在 HEAD 安装目录下进入 cmd 窗口执行 启动:npm run start
;
浏览器输入:http://localhost:9100/,点击 链接(客户端端口9100,es服务访问端口9200)
如何出现跨域链接不上的问题,处理如下:
在ES的 elasticsearch.yml 中添加如下配置项:
http.cors.enabled: true
http.cors.allow-origin: "*"
---------【3、Docker方式】---------
1.拉取镜像
docker pull elasticsearch:7.6.2
2.运行容器
ElasticSearch的默认端口是9200,我们把宿主环境9200端口映射到Docker容器中的9200端口,就可以访问到Docker容器中的ElasticSearch服务了,同时我们把这个容器命名为es。
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch:7.6.2
3. 配置跨域
由于要进行配置,因此需要进入容器当中修改相应的配置信息。
4. 进入容器
由于要进行配置,因此需要进入容器当中修改相应的配置信息。
docker exec -it elasticsearch /bin/bash
5. 进行配置
# 显示文件
ls
结果如下:
LICENSE.txt README.textile config lib modules
NOTICE.txt bin data logs plugins
# 进入配置文件夹
cd config
# 显示文件
ls
结果如下:
elasticsearch.keystore ingest-geoip log4j2.properties roles.yml users_roles
elasticsearch.yml jvm.options role_mapping.yml users
# 修改配置文件
vi elasticsearch.yml
# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
6. 重启容器
由于修改了配置,因此需要重启ElasticSearch容器。
exit 退出容器
docker restart elasticsearch 重启
然后再浏览器访问:
服务器IP:9200 显示如下即OK:
二、Linux方式安装的,开启ES的远程访问
1.关闭ES:kill -9 49319
后面是ES的进程号 通过netstat -apn | grep 9200
可以查看
2.进入到elasticsearch-6.2.4/config
修改:vim elasticsearch.yml
将这里的IP修改为安装ES服务器的IP,并且将其和端口前面的注释去掉,保存并退出。
3.进入bin下面 重新启动:./elasticsearch
然后又报错了:
第一个错误 解决:
前面是我们前面创建的ES用户:
esuser soft nofile 65536
esuser hard nofile 65536
esuser soft nproc 4096
esuser hard nproc 4096
保存文件时,可能提示:E212: 无法打开并写入文件 是因为权限不足,可以切换到root用户下进行操作即可。
第二个错误 解决:
没有该文件就创建一个即可。
第三个问题 解决:
vm.max_map_count=655360
保存退出,让其生效:sysctl -p
然后切换回ES用户 再次启动。
有可能上面的错 还存在 这个时候就重启一下服务器,然后再用ES账号启动ES,再不行就关闭防火墙:systemctl stop firewalld
再次启动,再不行的话…没辙了。
然后我们在本地浏览器上远程访问一下,记得关闭防火墙!至此 远程访问设置OK。
三、Linux方式安装的,可视化工具Kibana安装
需要强调的是:ES和Kibana的版本保持一致。
楼主安装的版本:kibana-6.2.4-linux-x86_64.tar.gz
1.放到/usr/local 解压(有点久 慢慢等):
tar -zxvf kibana-6.2.4-linux-x86_64
2.修改配置文件:
vim /usr/local/kibana-6.2.4-linux-x86_64/config/kibana.yml
两处换上服务器的ip,并取消注释:
3.配置防火墙
firewall-cmd --permanent --zone=public --add-port=5601/tcp
4.启动 进入:
cd /usr/local/kibana-6.2.4-linux-x86_64/bin/
启动(记得先启动ES):./kibana
启动ok:
5.本地浏览器访问:http://192.168.61.200:5601
,至此,结束。
本地可视化插件ElasticSearch-head安装
1.安装谷歌双核浏览器
2.进入扩展程序界面,点击获得扩展程序
3.搜索Elasticsearch
安装即可:
4.安装后点击右上角图标即可打开,开启ES服务器后,点击连接即可连接成功。
Docker 部署插件 ElasticSearch-Head安装
1 拉取镜像
docker pull mobz/elasticsearch-head:5
2 运行容器
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5