目录
1. 技术选型
服务器为windows环境
- ElasticSearch,kibana选用7.17.0
- 由于需要中文分词,所以采用ik分词器,同样也是7.17.0,ik分词器版本必须对应es的版本
- 可视化界面es head用于查看数据,最新版即可
- 使用基于RestHighLevelClient的easy es作为java连接es的组件,最新版1.1版本
2. 下载&安装&配置
2.1. 下载
ElasticSearch,kibana,k分词器下载
国内镜像链接: link
版本不是很全,如需其他版本可到各个官网和github下载
es head下载地址
链接: link
2.2. 安装与配置
2.2.1 ElasticSearch
解压即用,将ik分词器解压到es下的plugins下,es默认使用端口9200
es默认会使用系统中安装的jdk会导致运行错误,所以最好是下载带jdk版本的es并配置es使用自带的jdk
修改 elasticsearch-env.bat
if defined ES_JAVA_HOME (
set JAVA="%ES_JAVA_HOME%\bin\java.exe"
set JAVA_TYPE=ES_JAVA_HOME
) else if defined JAVA_HOME (
echo "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2
set JAVA="%JAVA_HOME%\bin\java.exe"
set "ES_JAVA_HOME=%JAVA_HOME%"
set JAVA_TYPE=JAVA_HOME
) else (
set JAVA="%ES_HOME%\jdk\bin\java.exe"
set "ES_JAVA_HOME=%ES_HOME%\jdk"
set JAVA_TYPE=bundled JDK
)
各个版本这块会有差异,但是目的就是去掉条件判断语句,直接采用es的jdk:
set JAVA="%ES_HOME%\jdk\bin\java.exe"
set "ES_JAVA_HOME=%ES_HOME%\jdk"
set JAVA_TYPE=bundled JDK
解决es的跨域问题
编辑 elasticsearch-x.x.x/config/elasticsearch.yml,加入如下配置:
http.cors.enabled: true
http.cors.allow-origin: "*"
内网环境会报错
java.net.UnknownHostException: geoip.elastic.co
是因为GeoIp功能默认开启了采集。在默认的启动下是会去官网的默认地址下获取最新的Ip的GEO信息
elasticsearch.yml新增
ingest.geoip.downloader.enabled: false
点击elasticsearch.bat启动,访问9200端口正确返回
{
"name": "DESKTOP-EKH4DML",
"cluster_name": "elasticsearch",
"cluster_uuid": "1sdyGaf_QyaIRrsriU8ZXA",
"version": {
"number": "7.17.0",
"build_flavor": "default",
"build_type": "zip",
"build_hash": "bee86328705acaa9a6daede7140defd4d9ec56bd",
"build_date": "2022-01-28T08:36:04.875279988Z",
"build_snapshot": false,
"lucene_version": "8.11.1",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
es通过elasticsearch.bat启动,会有一个黑色的对话框存在,很容易误操作关闭掉为了避免这种误操作行为,我们可以把es安装成服务,在bin目录下执行
elasticsearch-service.bat install
默认为手动启动,可以设置为自动启动
注册服务后可能会出现内存占用过高问题:
执行elasticsearch-service.bat manager然后把 use default 勾上
修改Java Option及其他参数,删除掉会报错的项及各种大小
2.2.2. es head
需要node环境
解压后进入文件夹,首先安装依赖 cmd运行 cnpm install
执行命令 npm run start 启动,默认端口9100
2.2.3. kibana
默认端口5601
设置中文: 修改config/kibana.yml
新增配置
i18n.locale: "zh-CN"