Ubuntu手动安装Elasticsearch详细教程
可以查看官网教程
1.安装java
### Linux 64-bit ###
### cd到安装目录下载jdk安装包 具体版本查看https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
wget https://download.oracle.com/java/17/archive/jdk-17.0.10_linux-x64_bin.tar.gz
tar xvf openjdk-17.0.2_linux-x64_bin.tar.gz
设置环境变量
### 目录替换成解压目录
echo 'export JAVA_HOME=/opt/jdk-17' | sudo tee /etc/profile.d/java17.sh
echo 'export PATH=$JAVA_HOME/bin:$PATH'|sudo tee -a /etc/profile.d/java17.sh
source /etc/profile.d/java17.sh
这几行命令是用来配置环境变量,具体解释如下:
-
echo 'export JAVA_HOME=/opt/jdk-17' | sudo tee /etc/profile.d/java17.sh
:echo
命令用于在终端输出文本。export JAVA_HOME=/opt/jdk-17
:设置一个名为JAVA_HOME
的环境变量,并将其值设置为/opt/jdk-17
,这是 Java Development Kit (JDK) 的安装路径。| sudo tee /etc/profile.d/java17.sh
:将echo
命令的输出通过管道|
传递给tee
命令,tee
命令会将输入内容写入指定文件/etc/profile.d/java17.sh
。sudo
用于以超级用户权限执行该命令,因为要写入到/etc
目录需要管理员权限。
-
echo 'export PATH=$JAVA_HOME/bin:$PATH'|sudo tee -a /etc/profile.d/java17.sh
:export PATH=$JAVA_HOME/bin:$PATH
:将 JDK 的bin
目录添加到系统的 PATH 环境变量中。$JAVA_HOME/bin
表示 JDK 的bin
目录,$PATH
表示原来的 PATH 变量值。|sudo tee -a /etc/profile.d/java17.sh
:同样使用tee
命令将输出内容追加到/etc/profile.d/java17.sh
文件中。-a
参数表示追加写入。
-
source /etc/profile.d/java17.sh
:-
source
命令用于在当前 shell 环境中执行指定的文件,并将其中的命令应用到当前环境。 -
/etc/profile.d/java17.sh
:是一个 shell 脚本文件,其中定义了 Java 相关的环境变量,使用source
命令执行该文件可以立即生效这些环境变量,而不需要重新登录或重启系统。
-
设置JAVA_HOME环境变量
sudo vi /etc/profile
2.apt安装Elasticsearch
#Download and install the public signing key: 导入Elasticsearch公钥:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
#更新apt-get
sudo apt-get update
#安装apt-transport-https
sudo apt-get install apt-transport-https
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
#安装es
sudo apt-get update && sudo apt-get install elasticsearch
我用的阿里云的服务器,这个下载速度太慢了,所以下面使用手动安装
3.手动安装Elasticsearch
#下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.4-linux-x86_64.tar.gz
#解压
tar -zxvf elasticsearch-8.13.4-linux-x86_64.tar.gz
#启动
./bin/elasticsearch
报错!!
这个报错是因为我服务内存不足造成的报错,指定内存大小,再次启动(也可以通过修改配置文件指定内存大小)
ES_JAVA_OPTS="-Xms256m -Xmx256m" ./bin/elasticsearch
再次启动再次报错
这个问题是es因为安全问题拒绝使用root用户启动;
添加用户组:es,切换es用户启动
groupadd es
useradd es -g es -p password # -g 指定组 -p 密码
chown es:es -R /opt/software/Elasticsearch/ # -R 处理指定目录以及其子目录下的所有文件
#切换es用户
su es
#启动
ES_JAVA_OPTS="-Xms256m -Xmx256m" ./bin/elasticsearch
启动成功