一、 elasticsearch介绍
Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。
Elasticsearch是对Lucene做的一层封装,它提供了一套简单一致的 RESTful API 来帮助我们实现存储和检索。当然,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。Elasticsearch还是
一个分布式的实时文档存储,每个字段可以被索引与搜索;
一个分布式实时分析搜索引擎;
能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据。
二、jdk安装
通过上面的介绍,咱们了解了Elasticsearch是使用java开发的,因此,我们想要使用它,首先需要一个java的环境。
1.去Oracle官网下载需要安装的jdk版本,我这里使用的是jdk_x64_linux_hotspot_11.0.8_10.tar.gz,下面是我网盘中的文件
链接:https://pan.baidu.com/s/1R6gB5BPqQf5iOTSnz_WXDw
提取码:j3wk
2.将该压缩包放到/www/server目录下,然后解压该压缩包,输入如下指令:
tar -zxvf jdk_x64_linux_hotspot_11.0.8_10.tar.gz
然后将解压出来的文件夹改个名字,叫java
3.接下来就该配置环境变量了,输入以下指令进行配置:
[root@localhost home]# vi /etc/profile
export JAVA_HOME=/www/server/java
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
注意:第一行的JAVA_HOME=/usr/local/java此处等号右边的是自己的jdk实际解压目录。如果不是该目录则需要改成自己的实际目录,其他不变
4.编辑完之后,保存并退出,然后输入以下指令,刷新环境配置使其生效:
source /etc/profile
现在就可以测试一下,是否安装成功了,在命令行输入 java,如果输出以下内容,就说明已经安装成功了。
三、elasticsearch安装
从官网上下载对应的elasticsearch版本,我这里使用的是7.6的,下面是我的官网文件
链接:https://pan.baidu.com/s/1SGAuQThrhlg2AglFr9YQ3g
提取码:d8zi
1.先解压压缩包 elasticsearch-7.6.1-linux-x86_64.tar.gz
tar -xvf elasticsearch-7.6.1-linux-x86_64.tar.gz
2.进入解压后的elasticsearch目录
(1) 新建data
mkdir data
(2) 修改config/elasticsearch.yml
vi config/elasticsearch.yml
取消或者修改下列项注释并修改:
cluster.name: my-application #集群名称
node.name: node-1 #节点名称
#数据和日志的存储目录
path.data: /www/server/es/data
path.logs: /www/server/es/logs
#设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了
network.host: 0.0.0.0
http.port: 9200 #端口
#设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可
cluster.initial_master_nodes: ["node-1"]
修改完毕后,:wq 保存退出
3.修改java的jvm内存配置
elasticsearch使用java的jvm默认是使用1G的内存的,这里我们修改一下内存,但如果你的配置足够的话,就无需修改。我的修改如下 :
cd /www/server/es
vi config/jvm.options
-Xms512m
-Xmx512m
4.为elasticsearch创建用户
elasticsearch是不能使用root用户操作,这里我们就需要创建一个其他用户。
useradd es
passwd es
输入两次密码后,修改es目录的属主
chown -R es /www/server/es
vi 编辑 /etc/security/limits.conf,在末尾加上:
es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096
vi 编辑 /etc/security/limits.d/20-nproc.conf,将* 改为用户名(es)
es soft nproc 4096
root soft nproc unlimited
vi 编辑 /etc/sysctl.conf,在末尾加上:
vm.max_map_count = 655360
在root用户下执行:
[root@localhost ~]# sysctl -p
vm.max_map_count = 655360
[root@localhost ~]#
登录刚才新建的es用户,并启动elasticsearch,一切OK
su es # 切换到es用户
./bin/elasticsearch # 启动es