记一次ES安装 作者: jlb 2019年12月19日 安装环境是在Ubuntu18.04上进行安装 [TOCM] [TOC] ## 1. 第一步:因为Elasticsearch是用java开发的,所以需要JVM才能跑起来,因此我们需要安装jdk ### 1. 添加ppa源 ``` sudo add-apt-repository ppa:openjdk-r/ppa ``` ### 2. 更新apt-get ``` sudo apt-get update ``` ### 3.安装jdk8 ``` sudo apt-get install oracle-java8-installer ``` #### 补充 开源版本源对ubuntu18.04以及更高版本只提供openjdk-11-jdk可以安装11或以上版本试试 ``` sudo add-apt-repository ppa:linuxuprising/java sudo apt-get update sudo apt-get install oracle-java11-installer sudo apt-get install oracle-java12-installer ``` 对于需要删除的Java8的`sudo apt-get autoremove --purge openjdk-8-jdk` 删除包及其依赖的软件包+配置文件 我是这么安装jdk的`sudo apt-get install openjdk-8-jre` ## 2. 安装Elasticsearch: 我安装的是7.5.0按官网直接安装的[elastic](https://www.elastic.co/guide/en/elasticsearch/reference/7.5/deb.html#deb-repo "elastic") ### 1. 导入Elasticsearch PGP密钥,下载并安装公共签名密钥: ``` wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https ``` ### 2. 将存储库定义保存到 /etc/apt/sources.list.d/elastic-7.x.list: ``` echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list ``` ### 3. 您可以使用以下命令安装Elasticsearch Debian软件包(注意安装的版本): ``` sudo apt-get update && sudo apt-get install elasticsearch=7.5.0 ``` ## 3. 第三步:启动ES ### 1. 第一次启动失败了,systemctl status elasticsearch.service查看启动信息 ``` systemd[1]: Starting Elasticsearch... elasticsearch[8224]: OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release. systemd[1]: elasticsearch.service: Main process exited, code=killed, status=9/KILL systemd[1]: elasticsearch.service: Failed with result 'signal'. systemd[1]: Failed to start Elasticsearch. ``` 查资料发现是因为服务器的内存太了, 2. 更改启动内存,我的配置文件地址在/etc/elasticsearch/jvm.options 原有信息是 ``` -Xms1g -Xmx1g ``` 更改为512m ``` -Xms512m -Xmx512m ``` ## 4. ES对于中文的分词并不友好使用ik做分词 ### 1. github地址在[这里](https://github.com/medcl/elasticsearch-analysis-ik "这里") ### 2. 我使用的第二种安装方式 cd /usr/share/elasticsearch(如果是普通用户的话是进不去这样安装ES的安装目录的) 使用sudo cd 命令提示我--sudo: cd:找不到命令 使用sudo -s切换用户然后进去目录安装ik(注意这里的版本和之前安装ES的版本对应可以[github](https://github.com/medcl/elasticsearch-analysis-ik "github")里查) ``` ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.0/elasticsearch-analysis-ik-7.5.0.zip ``` ### 3. 安装完成后重启ES ### 4. exit退出超级管理员身份测试安装情况 ``` curl -H 'Content-Type: application/json' -XGET 'localhost:9200/_analyze?pretty' -d '{"analyzer":"ik_max_word","text":"jlb技术博客"}' ``` 结果为: ``` { "tokens" : [ { "token" : "jlb", "start_offset" : 0, "end_offset" : 3, "type" : "ENGLISH", "position" : 0 }, { "token" : "技术", "start_offset" : 3, "end_offset" : 5, "type" : "CN_WORD", "position" : 1 }, { "token" : "博客", "start_offset" : 5, "end_offset" : 7, "type" : "CN_WORD", "position" : 2 } ``` “技术”和“博客“两个词实现合理分词更多内容可以查官方相关文档 ## 5. 至此elasticsearch安装完成 ## 安装可视化工具kibana ``` wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt-get update && sudo apt-get install kibana=7.5.0 service kibana status service kibana start ```