linux上安装部署elasticsearch7.9

记录下Linux下Elasticsearch的安装过程。

1、只下载elasticSearch、Kibana即可

在这里推荐使用第一个下载地址,下载速度很快。第二个由于是外网,下载速度较慢。

这里我使用7.9.3的elasticsearch版本, 因为项目使用的springboot2.4.3,避免低版本客户端,高版本索引库·,这里我先退回使用低版本索引库

下载以上三个软件,插件下载完成之后,将【elasticsearch-analysis-ik-7.9.3】压缩包解压到 elasticsearch的plugins目录。

2、Linux下安装Elasticsearch

2.1 执行解压缩命令:

tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz -C /usr/local

2.2 解决es强依赖jdk问题

由于es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的版本不一致,就会造成jdk不能正常运行。由于我在linux主机安装的java1.8版本,导致运行出错。

注:如果Linux服务本来没有配置jdk,则会直接使用es目录下默认的jdk,反而不会报错

 解决办法:

  • 进入bin目录
    cd /usr/local/elasticsearch-7.9.3/bin

  • 修改elasticsearch配置
    vim ./elasticsearch

############## 添加配置解决jdk版本问题 ##############
# 将jdk修改为es中自带jdk的配置目录
export JAVA_HOME=/usr/local/elasticsearch-7.9.3/jdk
export PATH=$JAVA_HOME/bin:$PATH

if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/usr/local/elasticsearch-7.9.3/jdk/bin/java"
else
        JAVA=`which java`
fi

2.3 创建专用用户启动ES

#root用户不能直接启动Elasticsearch,所以需要创建一个专用用户,来启动ES

#创建用户
useradd elastic

#创建所属组:
chown elastic:elastic -R /usr/local/elasticsearch-7.9.3

#切换到elastic用户
su elastic

#进入bin目录
cd /usr/local/elasticsearch-7.9.3/bin

#启动elasticsearch  -d 是指在后台运行
./elasticsearch -d

2.4 修改ES核心配置信息

# 数据目录位置(非必须)
path.data: /home/新用户名称/elasticsearch/data 
# 日志目录位置(非必须)
path.logs: /home/新用户名称/elasticsearch/logs 
#初始化节点名称(非必须)
cluster.name: my-application 
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
#修改端口号(非必须)
http.port: 9200

#默认只允许本机访问,修改为0.0.0.0后则可以远程访问(必须改)
# 绑定到0.0.0.0,允许任何ip来访问
network.host: 0.0.0.0 

2.5 上面几个步骤依然没启动成功,继续解决问题:

1)版本不兼容

“Failure running machine learning native code. This could be due to running on an 
unsupported OS or distribution, missing OS libraries, or a problem with the temp 
directory. To bypass this problem by running Elasticsearch without machine learning 
functionality set [xpack.ml.enabled: false].]”

解决处理:**这个错误是因为版本不兼容或者Mac系统没有给Elasticsearch太多的权限导致报错,这个时侯根据报错提示:到config文件夹下的elasticsearch.yml把自学习关闭掉,添加一个配置信息:xpack.ml.enabled: false;

2)进程数过低

ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at 
least [65536]

解决办法:编辑 /etc/security/limits.conf,追加以下内容;
* soft nofile 65536
* hard nofile 65536

此文件修改后需要重新登录用户,才会生效

3)用户的内存权限过低

[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least 
[262144]

解决办法:编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:

sysctl -p


4)错误原因:启动检查未通过

[3]: max number of threads [2048] for user [tongtech] is too low, increase to at least 
[4096]

    elasticsearch用户的最大线程数太低
解决办法:
vim /etc/security/limits.d/90-nproc.conf
将2048改为4096或更大

5)保留一个节点:

[4]: the default discovery settings are unsuitable for production use; at least one of 
[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be 
configured

修改elasticsearch.yml
取消注释保留一个节点
cluster.initial_master_nodes: ["node-1"]
这个的话,这里的node-1是上面一个默认的记得打开就可以了

6)可能遇到的max file descriptors [4096]问题

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at 
least [65535]

切换到root用户,执行命令:
vi /etc/security/limits.conf

添加如下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

3、启动成功

可以通过http://127.0.0.1:19200/访问,如果出现以下内容,说明ES安装成功:

{
	"name": "es-node0",
	"cluster_name": "elasticsearch",
	"cluster_uuid": "SRwJX4sYQ8el4N5wj4tOmA",
	"version": {
	"number": "7.13.2",
	"build_flavor": "default",
	"build_type": "tar",
	"build_hash": "4d960a0733be83dd2543ca018aa4ddc42e956800",
	"build_date": "2021-06-10T21:01:55.251515791Z",
	"build_snapshot": false,
	"lucene_version": "8.8.2",
	"minimum_wire_compatibility_version": "6.8.0",
	"minimum_index_compatibility_version": "6.0.0-beta1"
	},
	"tagline": "You Know, for Search"
}

3.1 设置登录密码

  • 编辑配置文件
    vim /usr/local/elasticsearch-7.9.3/config/elasticsearch.yml

  • 在 elasticsearch.yml 末尾,加入以下内容:

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
  • 编辑内容后重启Elasticsearch服务(必须操作)

    设置用户名和密码
    /usr/local/elasticsearch-7.9.3/bin/elasticsearch-setup-passwords interactive
    这里依次设置elastic、kibana、logstash等的访问密码,test123

在这里插入图片描述

 设置了访问密码,再次访问ES时,需要输入密码

4、最后聊下如何在谷歌安装 elasticsearch-head 插件,具体如下链接

谷歌浏览器安装 elasticsearch-head 插件_编程者说的博客-CSDN博客_es 谷歌浏览器插件

  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

一个高效工作的家伙

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值