Elasticsearch(集群)+Logstash+Java整合实现Word、
一: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 或 直接通过浏览器查看:)(注意: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下载 部署127.0.0.1(node-1结点) 1. 用非root用户登录服务器(原因: es必须非root用户才能启动成功) 例如:用 esuser 用户登录 2. 用 esuser用户登录后,在 /home/esuser/ 目录下新建es文件夹集群linux,将elasticsearch-7.16.2.tar.gz的安装包上传到 /home/esuser/es/目录下解压: tar -zcvfelasticsearch-7.16.2.tar.gz 如果上传的是elasticsearch-7.16.2.zip 则用如下命令解压: unzipelasticsearch-7.16.2.zip 如果上传的是elasticsearch-7.16.2.tar 则用: tar -xvfelasticsearch-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: :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 ; 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集群是否能正常访问 : 8000/WEB/es/_search? 查看集群是否部署正常: curl :9201/_cat/health?v curl :8000/IWEB/es/_cat/health?v 提供给java接口调用的引擎地址: es_ip = 135.0.0.1 es_port = 8000 (编辑:通辽站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |