linux安装elasticsearch

本文详细记录了从安装Java到部署Elasticsearch的过程,并解决了使用root账户安装及Java版本不符合要求等问题。通过调整安装路径及创建专用用户等方式,最终实现了Elasticsearch的成功部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看拉勾上招人很多都写了elasticsearch,我就把原来的xunsearch改成elasticsearch了...

先安装java 地址如下

https://blog.youkuaiyun.com/rc_ll/article/details/78149381

然后下在elasticsearch,解压

安装方式同下方地址

https://my.oschina.net/topeagle/blog/591451?fromerr=mzOr2qzZ

虽然是照着上面地址安装的,但是我的略有不同 我把elasticsearch的目录放到别处了 就在root/soft下面

然后就蛋疼的跳出了下面的问题

首先是

Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) Refer to the log for complete error details.

意思就是不能用root账户安装

然后我照着文章创建了用户 还是不行 报如下错误

Error: Could not find or load main class org.elasticsearch.tools.JavaVersionChecker
Elasticsearch requires at least Java 8 but your Java version from /usr/java/jdk1.8.0_171/bin/java does not meet this requirement

这可就蛋疼了

 

然后我就想着还是照着文档原封不动的执行吧

把elasticsearch目录移到 /opt/下面

然后就好了...

后来想了一下 因为我是把elasticsearch目录放在了/root/soft下 可不就没有权限吗 

大概就是这么个意思 如果出现这个错误

Error: Could not find or load main class org.elasticsearch.tools.JavaVersionChecker

把elasticsearch目录换到不属于root目录的其他目录就行了

说的有点乱....

写了个开机自启动的脚本

vim elsearch_start.sh
#!/bin/sh
runuser -l elsearch -c '/opt/elasticsearch/bin/elasticsearch -d'

将它添加到/etc/rc.local的最后一行

/data/shelldir/elasticsearch_start.sh

 

<think>我们正在安装Elasticsearch,根据引用[1]和引用[4],我们可以使用包管理工具安装。注意,引用[1]提到了导入GPG密钥,引用[4]提到了配置yum仓库。由于用户没有指定Linux发行版,我们将分别提供基于Debian/Ubuntu和基于RHEL/CentOS的安装方法。 步骤: 1. 导入Elasticsearch的GPG密钥(用于验证软件包) 2. 添加Elasticsearch仓库 3. 安装Elasticsearch 4. 启动并设置开机自启 注意:根据引用[4],Elasticsearch有开源版本(OSS),我们这里使用官方仓库。 对于Debian/Ubuntu系统(参考引用[1]): - 导入GPG密钥:`wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -` - 添加仓库:`echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list` - 更新并安装:`sudo apt update && sudo apt install elasticsearch-oss` 对于RHEL/CentOS系统(参考引用[4]): - 创建仓库文件:`/etc/yum.repos.d/elasticsearch.repo`,内容如下: [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md - 安装:`sudo yum install elasticsearch-oss` 注意:以上安装的是开源版本(不带商业功能)。如果需要默认的版本(包含商业功能,但需要遵守许可),可以去掉`-oss`,但注意许可证问题。 5. 配置Elasticsearch:编辑配置文件`/etc/elasticsearch/elasticsearch.yml`,主要设置集群名称、节点名称、网络绑定等。 6. 启动服务:`sudo systemctl start elasticsearch` 并设置开机自启:`sudo systemctl enable elasticsearch` 另外,引用[3]提到了一些生产环境的注意事项,例如数据存储和日志记录,在安装后需要根据实际情况调整。 现在,根据用户要求,我们生成相关问题。</think>### 在Linux系统上安装Elasticsearch的步骤 #### 1. **导入GPG密钥(安全验证)** ```bash wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - ``` > 此命令下载Elasticsearch的公钥并添加到APT信任列表中,确保软件包来源可信[^1]。 --- #### 2. **添加Elasticsearch仓库** - **Debian/Ubuntu系统**: ```bash echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list ``` - **RHEL/CentOS系统**: 创建仓库文件 `/etc/yum.repos.d/elasticsearch.repo` 并写入: ```ini [elasticsearch-7.x] name=Elasticsearch repository baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 ``` > 仓库配置指定了软件包下载源和验证方式[^4]。 --- #### 3. **安装Elasticsearch** - **APT系统(Debian/Ubuntu)**: ```bash sudo apt update && sudo apt install elasticsearch ``` - **YUM系统(RHEL/CentOS)**: ```bash sudo yum install elasticsearch-oss # 安装开源版本 ``` --- #### 4. **配置与启动服务** 1. **编辑配置文件**: ```bash sudo nano /etc/elasticsearch/elasticsearch.yml ``` 关键配置项: ```yaml cluster.name: my-cluster # 集群名称 node.name: node-1 # 节点名称 network.host: 0.0.0.0 # 允许远程访问(生产环境需设具体IP) discovery.type: single-node # 单节点模式 ``` 2. **启动并设置开机自启**: ```bash sudo systemctl daemon-reload sudo systemctl enable elasticsearch sudo systemctl start elasticsearch ``` --- #### 5. **验证安装** ```bash curl -X GET "localhost:9200" ``` 成功响应示例: ```json { "name" : "node-1", "cluster_name" : "my-cluster", "version" : { ... } } ``` --- ### 关键注意事项 1. **存储配置**: - 默认数据目录:`/var/lib/elasticsearch` - 生产环境需挂载独立存储卷,避免使用Docker默认存储驱动(性能差)[^3] 2. **日志管理**: - 日志路径:`/var/log/elasticsearch` - 建议使用专用日志驱动(如`journald`),避免`json-file`默认驱动[^3] 3. **防火墙规则**: ```bash sudo ufw allow 9200/tcp # 开放API端口 sudo ufw allow 9300/tcp # 开放集群通信端口 ``` > **重要提示**:生产环境需额外配置安全组、TLS加密和用户认证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值