Centos7安装ElasticSearch
准备工作
下载elasticsearch
https://www.elastic.co/cn/elasticsearch
将下载好的包上传到/usr/local/elasticsearch/ 路径下
安装
安装elasticsearch解压缩即可!
tar -zxvf elasticsearch-8.12.2-linux-x86_64.tar.gz
进入/usr/local/elasticsearch/elasticsearch-8.12.2/bin 路径执行下面命令启动es
./elasticsearch
启动失败处理
1:can not run elasticsearch as root
启动报错了!
提示是不能用root用户运行es。需要创建一个单独的用户给es使用
groupadd esgroup
useradd esroot -p esroot
chown -R esroot:esgroup /usr/local/elasticsearch/elasticsearch-8.12.2
su esroot
cd /usr/local/elasticsearch/elasticsearch-8.12.2/bin/
./elasticsearch
2:fatal exception while booting Elasticsearchjava.nio.file.NoSuchFileException: /usr/local/jdk/jdk-21.0.2/jre/lib/rt.jar
再次启动报错! 本地安装的jdk和es8.x内置的jdk冲突
查看本机的JAVA_HOME变量,发现有值
echo $JAVA_HOME
显示:
/usr/local/jdk/jdk-21.0.2
解决方法:
cd
vim .bash_profile
添加一行:export ES_JAVA_HOME=$JAVA_HOME
使之生效:source.bash_profile
再重新进入 elasticsearch/bin目录,启动elastticsearch,成功!
3:启动成功之后浏览器请求失败
http://10.10.2.23:9200/
放开9200端口
再次请求还是这样,原因是elasticsearch开启了认证,需要修改es的配置文件
进入/usr/local/elasticsearch/elasticsearch-8.12.2/config 文件夹 , 编辑 vim elasticsearch.yml
# 监听端口
http.port: 9200
# 关闭xpack认证
xpack.security.enabled: false
# master节点 改成自己的ip或者域名【单节点可以先不改】
cluster.initial_master_nodes: ["10.10.2.23"]
http.host: 0.0.0.0
重新启动!再次在浏览器访问,访问成功!
设置es启动脚本
在root用户下操作
#创建elasticsearch系统启动服务文件
vim /usr/lib/systemd/system/elasticsearch.service
添加一下内容
[Unit]
Description=elasticsearch
After=network.target
[Service]
Type=forking
# 给es创建的用户
User=esroot
# 本地es安装地址
ExecStart=/usr/local/elasticsearch/elasticsearch-8.12.2/bin/elasticsearch -d
PrivateTmp=true
# 指定此进程可以打开的最大文件数
LimitNOFILE=65535
# 指定此进程可以打开的最大进程数
LimitNPROC=65535
# 最大虚拟内存
LimitAS=infinity
# 最大文件大小
LimitFSIZE=infinity
# 超时设置 0-永不超时
TimeoutStopSec=0
# SIGTERM是停止java进程的信号
KillSignal=SIGTERM
# 信号只发送给给JVM
KillMode=process
# java进程不会被杀掉
SendSIGKILL=no
# 正常退出状态
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
保存后执行下面命令
#刷新elasticsearch.service配置信息
systemctl daemon-reload
# 设置开机自动启动服务
systemctl enable elasticsearch.service
# 启动服务
systemctl start elasticsearch.service
# 查看服务状态
systemctl status elasticsearch.service
总结
第一次安装配置es 还是挺坎坷的!