java软件安装之Elasticsearch
Posted 枕微凉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java软件安装之Elasticsearch相关的知识,希望对你有一定的参考价值。
文章目录
前言
Elasticsearch作为主流的搜索引擎,在分布式系统中被广泛的使用,本篇主要就是介绍它的安装
简介
官网地址:https://www.elastic.co/cn/elasticsearch/
Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。Elasticsearch 可以理解成一种数据库,类似mysql,也可以对数据进行增删改查,它优势是搜索速度快,如果表中有上亿级别的数据,使用ES检索数据要远远快于传统的关系型数据库。
Elasticsearch安装
因为Elasticsearch 不允许使用root用户,所以我们需要新建一个用户,新建的用户主要是用来启动ES服务。
-
新建用户
useradd es
-
配置密码
passwd 12345678
本人的安装都是在 /usr/local目录下
-
上传和解压(版本elasticsearch-7.6.1-linux-x86_64.tar.gz)下载地址:https://registry.npmmirror.com/binary.html
tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz
-
重命名目录
mv elasticsearch-7.6.1/ elasticsearch
-
进入目录
cd elasticsearch
-
新建目录(数据目录及日志目录)
mkdir data mkdir logs
-
修改配置(进入config目录,编辑elasticsearch.yml文件)
cd config vim elasticsearch.yml
添加内容 path.data: /usr/local/elasticsearch/data # 数据目录位置 path.logs: /usr/local/elasticsearch/logs # 日志目录位置 修改绑定的ip network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问
-
切换用户
切换用户前先给es用户授予root权限及目录操作权限
vim /etc/sudoers #进入编辑
es ALL=(ALL) ALL #授予root权限
chown -R es /usr/local/elasticsearch #为elasticsearch 目录授权
su es #切换用户
-
运行(在/usr/local/elasticsearch目录下)
./bin/elasticsearch
可能出现以下错误:
错误1:权限不足【max file descriptors…】
切换为root用户,修改配置文件:
vim /etc/security/limits.conf
添加以下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
错误2:线程数不足【max number of threads … 】
修改配置文件:
vim /etc/security/limits.d/20-nproc.conf
修改以下内容
* soft nproc 1024
改为:
* soft nproc 4096
错误3:进程虚拟内存不足【max virtual memory…】
修改配置文件:
vim /etc/sysctl.conf
添加以下内容
vm.max_map_count=655360
执行命令
sysctl -p
错误4:参数需要设置默认值【the default discovery settings 】
修改配置文件:
vim /usr/local/elasticsearch/config/elasticsearch.yml
设置默认参数
cluster.name: wooola-es
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
- 回到es用户,再次启动ES
出现这两个端口信息则表示成功
9300:集群节点间通讯接口
9200:客户端访问接口
若出现java.nio.file.AccessDeniedException: /usr/local/elasticsearch/config/jvm.options 错误,则表示es账户权限不足,需要为目录授权。
-
测试
在浏览器中访问 虚拟机ip地址:9200 可以看到对应的版本号信息
安装Kibana
Kibana是ES的客户端工具(不能使用root账户启动噢!)
-
安装node.js 下载地址:https://registry.npmmirror.com/binary.html
tar -vxf node-v12.18.2-linux-x64.tar.xz mv node-v12.18.2-linux-x64 nodejs ln -s /usr/local/nodejs/bin/node /usr/local/bin ln -s /usr/local/nodejs/bin/npm /usr/local/bin node -v
-
解压kibana
tar -vxfkibana-7.6.1-linux-x86_64.tar.gz mv kibana-7.6.1-linux-x86_64 kibana
-
修改配置文件并添加内容
vim /usr/local/kibana/config/kibana.yml server.host: "0.0.0.0" elasticsearch.hosts: ["http://机器IP:9200"]
ps:若安装的Kibana的版本低一点,则将elasticsearch.hosts 改为elasticsearch.url: “http://机器IP:9200”
-
启动(切换es用户,在kibana目录下启动,若出现权限不足情况,则再次给es用户授权)
./bin/kibana
kibana启动若报错后会自动杀死elasticsearch的进程,但是kibana需要在elasticsearch启动后再启动,所以需要重新启动elasticsearch
此时可能出现以下错误:
错误1:虚拟机分配内存太大【Cannot allocate memory…】
1)进入elasticsearch的jvm.options文件中
vim /usr/local/elasticsearch/config/jvm.options
2)修改分配的内存大小
-Xms256m
-Xmx256m
- 重新启动,出现listening则表示安装成功
访问5601端口
安装分词器
分词器能把一个字符串拆分成多个单词,搜索时再按每个单词分别索引,这样能大大提高搜索效率。
安装步骤
- 下载分词器文件,其版本需要与ES版本对应==>elasticsearch-analysis-ik-7.6.1.zip
- 在elasticsearch的plugins目录下新增一个目录ik用来放分词器文件,解压elasticsearch-analysis-ik-7.6.1.zip
unzip elasticsearch-analysis-ik-7.6.1.zip
解压完成后记得删除ik目录下的安装包文件,重新启动elasticsearch与kibana
1)此时elasticsearch可能再次报错无权限,只需要重新授权一下即可
2)若kibana出现 The Reporting plugin encountered issues launching Chromium in a self-test. You may have trouble generating reports.
安装以下软件包,然后重新启动 kibana即可
yum install ipa-gothic-fonts
yum install xorg-x11-fonts-100dpi
yum install xorg-x11-fonts-75dpi
yum install xorg-x11-utils
yum install xorg-x11-fonts-cyrillic
yum install xorg-x11-fonts-Type1
yum install xorg-x11-fonts-misc
yum install fontconfig
yum install freetype
- 使用kibana测试分词器
到此全部安装结束!!!!
以上是关于java软件安装之Elasticsearch的主要内容,如果未能解决你的问题,请参考以下文章
大数据之ES系列——第一篇 ElasticSearch2.2 集群安装部署