搜索引擎:ElasticSearch+Logstash+Node.js+Vue+ElementUI+Axios

本文档详细介绍了如何搭建ElasticSearch、Logstash环境,包括Node.js的安装、Vue项目的创建,以及ElasticSearch的集群配置和插件安装。Logstash用于同步MySQL数据到ES,文中提供了全量和增量数据同步的配置示例。同时,文章也涵盖了Vue项目中使用Element UI和Axios的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. node.js安装

下载地址:https://nodejs.org/en/download/。
下载完成后安装(直接按默认方式安装就行)。
打开cmd 输入下面的命令查看是否成功安装。

node -v
npm –v

2. 安装搭建Vue项目

2.1 打开idea,新建项目

Create New Project > Static Web>填写project name和选择保存的工作空间>Finish

2.2 安装vue脚手架工具

等待下载完成以后,继续安装vue的脚手架工具,在Terminal内继续输入以下命令:

npm i -g vue-cli

测试是否安装成功:

vue –V

脚手架安装完成后,初始化包结构,继续输入:

vue init webpack demo

由于网络, 这步可能失败。提示错误:

vue-cli · Failed to download repovuejs-templates/w le ebpack-simple

这次解决办法, 只能用离线了。先到github下载模板zip:https://github.com/vuejs-templates/webpack-simple 用windows下cmd cdC:\\user\\{账号名},然后用来创建文件夹,再将从git上下载的zip文件解压到.vue-templates文件夹中并重命名为webpack-simple。再运行:

vueinit webpack-sample {
   projectName} –offlin 

一个项目目录就产生了,此处{projectName}为es_demo。初始化完成后。依次在Terminal输入如下指令:

cd {
    projectName }
npm install  
npm run dev

2.3 配置外部IP可访问

打开项目根目录的package.json,然后找到scripts,如果你是希望在 npm run dev 的时候 内网可以方访问,那么你再 scripts下的dev 结尾增加一个参数:

--host {
   hostIP}

3. ES搭建和相关插件安装

3.1 下载ES

浏览ES官方网址https://www.elastic.co/downloads/elasticsearch下载相关版本的ES(ES最新版本为6.6.0)。本文档使用Linux作为ES安装,部署的操作系统。

3.2 解压ES

解压ES压缩包到自定义的目录,定义为$ES_HOME。

3.3 添加特定的Linux用户

本文档使用Linux作为配置ES的操作系统,此时使用root账户启动ES实例会出现如下的错误:

[2017-12-08T16:25:43,072][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]

解决方案为创建另外一个非root的linux用户并使用该非root用户启动ES实例。

3.4 配置集群

根据实际需要,可以配置一个或多个节点的ES集群,集群由集群名和服务器地址确定,一个节点可以理解为一个ES实例,多节点的ES集群即为启动了多个配置了相同集群名和服务器地址的ES实例。此处使用配置了3个节点的ES集群作为例子,其中包括了一个主节点和两个副节点。
拷贝解压得到的Elasticsearch文件夹两次,并将其分别重命名为slave1和slave2作为两个副节点,重命名解压得到的Elasticsearch文件夹为master作为集群的主节点。

3.4.1 配置主节点

打开并编辑master/bin/elasticsearch.yml文件,在文件最后加入如下几行配置代码:

 network.host: 127.0.0.1
 http.host: 0.0.0.0  
 http.cors.enabled: true
 http.cors.allow-origin: "*"
 node.name: master
 http.port: 9200
 node.master: true
 cluster.name: {
   your cluster name}

注意每行配置代码前有一个空格,其中network.host是配置ES的服务器IP地址,该配置使得外部网络和服务器本地能够访问该服务器上的ES服务。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值