在以RPM包安装elasticsearch过程中出现报错JAVA环境的问题:

● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2019-01-14 11:27:16 CST; 5s ago
Docs: http://www.elastic.co
Process: 2035 ExecStart=/usr/share/elasticsearch/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid --quiet (code=exited, status=1/FAILURE)
Main PID: 2035 (code=exited, status=1/FAILURE) Jan 14 11:27:16 ip-172-31-30-62.ec2.internal systemd[1]: Started Elasticsearch.
Jan 14 11:27:16 ip-172-31-30-62.ec2.internal systemd[1]: Starting Elasticsearch...
Jan 14 11:27:16 ip-172-31-30-62.ec2.internal elasticsearch[2035]: which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
Jan 14 11:27:16 ip-172-31-30-62.ec2.internal elasticsearch[2035]: could not find java; set JAVA_HOME or ensure java is in PATH
Jan 14 11:27:16 ip-172-31-30-62.ec2.internal systemd[1]: elasticsearch.service: main process exited, code=exited, status=1/FAILURE
Jan 14 11:27:16 ip-172-31-30-62.ec2.internal systemd[1]: Unit elasticsearch.service entered failed state.
Jan 14 11:27:16 ip-172-31-30-62.ec2.internal systemd[1]: elasticsearch.service failed.

也就是说就算是你设置好JAVA全局环境变量后,elasticsearch启动的时候依然是在上面红色字体的PATH变量里面找java变量。这个不清楚究竟是什么原因。我们暂时把它当做是丢环境变量的原因吧。不过我们倒是有其他的解决方法:

在/etc/sysconfig/elasticsearch的这个文件里面设置JAVA_HOME环境变量:

################################
# Elasticsearch
################################ # Elasticsearch home directory
#ES_HOME=/usr/share/elasticsearch # Elasticsearch Java path
JAVA_HOME=/usr/local/jdk # Elasticsearch configuration directory
ES_PATH_CONF=/etc/elasticsearch # Elasticsearch PID directory
#PID_DIR=/var/run/elasticsearch

就是上面背景为青色的字体,设置一下环境变量后就可以正常启动了。

有时候也是编译环境的问题,比如上面这个问题就是,JAVA的jdk是源码安装的,而elasticsearch是yum一键安装的,因此很容易出现问题,所以我建议两者的安装尽量一致,jdk也使用yum安装比较好,这个问题就不会出现了。

elasticsearch之JAVA环境变量报错:could not find java; set JAVA_HOME or ensure java is in PATH的更多相关文章

  1. Linux 修改环境变量报错

    报错如下: -bash: export: `=': not a valid identifier -bash: export: `/usr/local/sbin:/usr/local/bin:/sbi ...

  2. Linux中如何设置java环境变量

    这里介绍Linux下如何设置java环境变量. 工具/原料 Linux java环境变量 方法/步骤 1 查看java的安装路径   查看java执行路径   配置java环境变量   java的安装 ...

  3. 【Java环境变量的配置问题】

    首先是JVM.JRE.JDK三者之间的关系: java的跨平台性依赖于Java虚拟机:jvm(Java Virtual Machine),而jre(Java Runtime Environment,中 ...

  4. java环境变量配置(转)

    java环境变量配置 windows xp下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08: 2.安装完成后,右 ...

  5. classpath、path、JAVA_HOME的作用及JAVA环境变量配置

    CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量.它的作用与import.package关键字有关.当你写下improt java.util.*时,编译器面对import ...

  6. JAVA环境变量配置详解

    JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLASSPATH.PATH. JAVA_HOME 指向 ...

  7. 一、JAVA环境变量配置详解——JavaWeb点滴

    JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLASSPATH.PATH. JAVA_HOME 指向 ...

  8. java 环境变量配置 详解!

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. linux配置java环境变量jdk jre(详细)【转】

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

随机推荐

  1. 合并两个数组并去重(ES5和ES6两种方式实现)

    合并两个数组并去重(ES5和ES6两种方式实现) ES6实现方式 let arr1 = [1, 1, 2, 3, 6, 9, 5, 5, 4] let arr2 = [1, 2, 5, 4, 9, 7 ...

  2. Qt编写自定义控件12-进度仪表盘

    前言 进度仪表盘主要应用场景是标识一个任务进度完成的状况等,可以自由的设置范围值和当前值,为了美观还提供了四种指示器(圆形指示器/指针指示器/圆角指针指示器/三角形指示器),各种颜色都可以设置,其中的 ...

  3. Newbe.Claptrap - 一套以 “事件溯源” 和“Actor 模式”作为基本理论的服务端开发框架

    本文是关于 Newbe.Claptrap 项目主体内容的介绍,读者可以通过这篇文章,大体了解项目内容. 轮子源于需求 随着互联网应用的蓬勃发展,相关的技术理论和实现手段也在被不断创造出来.诸如 “云原 ...

  4. [日常] Go语言圣经--并发的web爬虫

    两种: crawler.go package main import ( "fmt" "links" //"log" "os&qu ...

  5. 全局唯一订单号生成方法(参考snowflake)

    backgroud Snowflake is a network service for generating unique ID numbers at high scale with some si ...

  6. VirtualBox配置centos7静态ip(详解)

    VirtualBox安装centos7配置静态ip地址可以本机访问,可以联网. 在开始之前先说一下,不知道为什么,我在网上百度的大多数是不能用的,或者只能主机访问,或者只能联网. 我的配置文件为ifc ...

  7. 不依赖AIDL的跨进程通信

    http://blog.csdn.net/lmj623565791/article/details/38461079 如果知道AIDL和binder的原理,可以简单写一个不依赖AIDL的跨进程通信 不 ...

  8. Hibernate中的事务隔离问题(脏读、不可重复读、幻读)

    Hibernate中的事务隔离问题(脏读.不可重复读.幻读) 1.事务的特性 事务的四个特性: 1)原子性:事务是进行数据库操作的最小单位,所以组成事务的各种操作是不可分割的 2)一致性:组成事务的各 ...

  9. python中matplotlib.pyplot中cm的属性

    https://matplotlib.org/gallery/color/colormap_reference.html

  10. 走通Django的基本流程

    工程目录及文件的说明 manage.py:一个命令行工具,可以使我们用多种方式对Django项目进行交互 __init__.py:一个空文件,它告诉Python这个文件的上级目录应该看做一个pytho ...