admin管理员组文章数量:1624793
一:elasticsearch7.16.2集群部署
服务器提供:3台linux服务器(例如:127.0.0.1、127.0.0.2、127.0.0.3)
策略开通: 确保1127.0.0.1、127.0.0.2、127.0.0.3 与 128.0.0.1( mysql所在服务器) 之间相互通信正常(如:9201、9202、9203、9301、9302、9303端口可用)
目标:
1. 127.0.0.1 服务器部署es集群的第一个结点 node-1, 127.0.0.2 部署es集群的第二个结点 node-2,127.0.0.3部署es集群的第三个结点 node-3。 (注意:如果测试环境只有一台服务器,也可以部署集群,只不过此时部署的是伪集群,为防止端口占用,需将每个结点的对外端口设置不一样)
2. 在ngix 上配置 node-1, node-2, node-3三个结点的地址,实现负载均衡对外提供一个统一的访问ip。
3. 在windows服务器安装可以查看es的可视化工具(选择性安装kibana 或ElasticHD 或 直接通过浏览器查看:http://135.0.0.1/WEB/es/_search?)(注意:135.0.0.1是ngix所在服务器,允许对外访问)
4. 127.0.0.1 再部署logstash(实现将mysql数据同步到es里)。
elasticsearch-linux版安装包下载(可去es官网下):
elasticsearch-linux-x86-64版本-Java文档类资源-CSDN下载
logstash-linux版安装包下载(可去es官网下):
logstash-7.16.2-linux-x86-64版-Java文档类资源-CSDN下载
logstash的配置文件实例请下载:
https://download.csdn/download/m0_37951794/87897239
部署127.0.0.1(node-1结点)
1. 用非root用户登录服务器(原因: es必须非root用户才能启动成功)
例如:用 esuser 用户登录
2. 用 esuser用户登录后,在 /home/esuser/ 目录下新建es文件夹,将elasticsearch-7.16.2.tar.gz的安装包上传到 /home/esuser/es/目录下解压:
tar -zcvf elasticsearch-7.16.2.tar.gz
如果上传的是elasticsearch-7.16.2.zip 则用如下命令解压:
unzip elasticsearch-7.16.2.zip
如果上传的是elasticsearch-7.16.2.tar 则用:
tar -xvf elasticsearch-7.16.2.tar
3. 解压后修改配置文件(数据路径、日志路径、对外端口9201,集群内部交流端口9301):
配置文件内容:/home/esuser/es/elasticsearch-7.16.2/config/elasticsearch.yml
4. 切换到root用户身份修改 sysctl.conf文件:
su root
5. 编辑 /etc/sysctl.conf文件,在最后面追加一下内容:
vm.max_map_count=655360 (或者 262144)
当文件保存后执行: sysctl -p
6. 在 elasticsearch.yml 文件配置好的前提下,用 esuser 身份进入/elasticsearch-7.16.2/bin/ 目录,启动 es 应用。
./elasticsearch -d
7. 检查应用是否正常启动
查看进程: ps -ef|grep elasticsearch
或者访问ur(如下图则启动正常): curl: http://localhost:9201
关闭进程: kill -9 进程号
另外: 如果后面集群 有结点没有加入进来,则:
将该结点下存放数据的/elasticsearch/data/nodes文件夹删除,再重启该结点即可。
部署127.0.0.2(node-2结点)
1. 步骤与上面结点1 基本一致,不同点在于 配置文件内容不同:
部署127.0.0.3(node-3结点)
1. 步骤与上面结点1 基本一致,不同点在于 配置文件内容不同:
二:logstash部署
部署127.0.0.1(logstash数据同步)
1. 进入/home/esuser/es/目录,将 logstash-7.16.2.zip 的安装包上传到该目录下解压
unzip logstash-7.16.2.zip
2. 编辑logstash.conf文件的内容并将该文件放到/home/esuser/es/logstash-7.16.2/bin/目录下,如已提前配置好则无需操作此步骤
vim logstash.conf
保存并退出: 按ESC后, :wq 或 :x
不保存退出: 按ESC后, :q!
3. 将 连接 mysql 的驱动 mysql-connector-java-5.1.39.jar 放到 /logstash-7.16.2/bin 目录下。
4. 进入logstash-7.16.2/bin/ 目录,启动应用:
前台启动命令(验证时使用): ./logstash -f logstash.conf
后台启动命令(正式运行时使用): nohup ./logstash -f logstash.conf 2>&1 &
5. 检查应用是否正常启动
查看进程: ps -ef|grep logstash
关闭进程: kill -9 进程号
如下图则说明启动成功(前台启动验证时可看到):
6. 查看日志: /logstash-7.16.2/logs/logstash-plain.log
cat logstash-plain.log | grep '关键字'
(135.0.0.1)在nginx上配置es代理地址:
upstream esserver {
server 127.0.0.1:9201;
server 127.0.0.2:9202;
server 127.0.0.3:9203;
}
server {
listen 8000;
server_name localhost;
location /WEB/app/ { 省略 }
location /WEB/es/ {
proxy_pass http://esserver;
rewrite ^.+WEB/es/?(.*)$ /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-forwarded-for $remote_addr;
}
}
最后再浏览器查看验证es集群是否能正常访问
http://135.0.0.1: 8000/WEB/es/_search?
查看集群是否部署正常: curl http://127.0.0.1:9201/_cat/health?v
curl http://135.0.0.1:8000/IWEB/es/_cat/health?v
提供给java接口调用的引擎地址:
es_ip = 135.0.0.1
es_port = 8000
es_http = http
java调用引擎:
RestClient restClient = RestClient.builder(
new HttpHost("135.0.0.1",8000,"http")).setPathPrefix("WEB/es/").build();
RestClientTransport transport = new RestClientTransport(restClient,new
JacksonJsonpMapper());
return new ElasticsearchClient(transport);
结束!
补充:
1. logstash所在服务器内存占用超出范围,则 将 logstash目录里的jvm.option的最小最大值设置为: 256m 512m
2.查看内存占用情况:
ps auxw | head -1 ; ps auxw |sort -rn -k4|head -200 |grep -e 'kkFileView'
-e 'elasticsearch' -e 'LibreOffice' -e 'logstash'
3. nginx 启停命令:
a: 停止前端nginx
-- 验证nginx配置文件:
/usr/nginx/sbin/nginx -t
-- 停止nginx服务:
/usr/nginx/sbin/nginx -s stop
b: 启动nginx
-- 启动nginx应用:
/usr/nginx/sbin/nginx -c /usr/nginx/conf/nginx.conf
-- 验证是否启动成功:
curl 127.0.0.1:8000/nginx-status
c: 不启动只重载nginx:
/usr/nginx/sbin/nginx -s reload
版权声明:本文标题:Elasticsearch(集群)+Logstash+Java整合实现Word、PDF,TXT等文件的全文内容检索功能-Linux版 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1728913043a1179348.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论