LinuxElasticsearch6.3.2 指定单独JDK后还是出现which: no java in (/opt/elasticsearch-6.3.2/jdk1.8.0_212/bin:/sbin:/bin:/usr/sbin:/usr/bin) could not find java; set JAVA_HOME or ensure java is in PATH [elasticsearch@master elasticsearch-6.3.2]$ ./bin/elasticsearch which: no java in (/opt/elasticsearch-6.3.2/jdk1.8.0_212/bin:/root/soft/hadoop-3.1.3/bin:/root/soft/hadoop-3.1.3/sbin:/root/soft/jdk1.8.0_212/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/soft/hadoop-3.1.3/bin:/root/soft/hadoop-3.1.3/sbin:/root/soft/spark-3.1.1-bin-hadoop3.2/bin:/root/soft/scala-2.12.0/bin:/root/bin) could not find java; set JAVA_HOME or ensure java is in PATH
时间: 2023-07-17 19:55:39 浏览: 162
很抱歉您遇到了这个问题。您可以尝试以下解决方案:
1. 确保您的JAVA_HOME环境变量已正确设置为您指定的JDK路径。您可以通过运行以下命令来检查:
```
echo $JAVA_HOME
```
如果输出为空或不正确,请设置JAVA_HOME环境变量。例如:
```
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
```
请确保路径与您实际安装的JDK版本相匹配。
2. 检查您的PATH环境变量是否包含了JDK的bin目录。您可以通过运行以下命令来检查:
```
echo $PATH
```
如果JDK的bin目录没有包含在PATH中,请将它添加到PATH中。例如:
```
export PATH=$JAVA_HOME/bin:$PATH
```
这将确保系统能够找到Java可执行文件。
3. 保存并关闭终端窗口,然后重新打开一个新的终端窗口。
4. 再次尝试运行Elasticsearch,看看问题是否解决。
如果问题仍然存在,请确保您的JDK安装正确并与Elasticsearch版本兼容。您还可以尝试重新下载并安装Elasticsearch,然后按照之前提供的步骤指定JDK。希望这些步骤能帮助您解决问题。
相关问题
LinuxElasticsearch6.3.2 指定单独JDK
对于在Linux上安装Elasticsearch 6.3.并指定单独的JDK,请按照步骤进行:
1. 首先,确保您已经装了所需版本的JDK。您可以从Oracle官方网站或OpenJDK项目中下载JDK的二进制发行版本。
2. 下载Elasticsearch 6.3.2的压缩包,并解压到您选择的目录中。
3. 进入Elasticsearch的配置目录,路径为:`<您解压的Elasticsearch目录>/config`。
4. 在该目录下找到`jvm.options`文件,并使用文本编辑器打开。
5. 在文件中找到以下行:
```
# JDK home
# path.home: /path/to/elasticsearch
```
将这两行的注释符号(`#`)去掉,并将路径修改为您安装JDK的路径。
例如,如果您安装的是OpenJDK 8,可以将路径修改为:`path.home: /usr/lib/jvm/java-8-openjdk-amd64`
如果您安装的是Oracle JDK,请将路径修改为您安装的实际路径。
6. 保存并关闭`jvm.options`文件。
现在,当您启动Elasticsearch 6.3.2时,它将使用您指定的JDK。确保安装的JDK版本与Elasticsearch 6.3.2的兼容性要求相匹配。
ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException java.lang.NullPointerException at org.json.JSONObject.<init>(JSONObject.java:144) at org.apache.sqoop.util.SqoopJsonUtil.getJsonStringforMap(SqoopJsonUtil.java:43) at org.apache.sqoop.SqoopOptions.writeProperties(SqoopOptions.java:867) at org.apache.sqoop.mapreduce.JobBase.putSqoopOptionsToConfiguration(JobBase.java:393) at org.apache.sqoop.mapreduce.JobBase.createJob(JobBase.java:379) at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:255) at org.apache.sqoop.manager.SqlManager.importQuery(SqlManager.java:747) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:536) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:633) at org.apache.sqoop.Sqoop.run(Sqoop.java:146) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:182) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:233) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:242) at org.apache.sqoop.Sqoop.main(Sqoop.java:251) Log Type: stdout Log Upload Time: Mon Jul 24 10:47:38 +0800 2023 Log Length: 74530 Showing 4096 bytes of 74530 total. Click here for the full log. 35517561_3806_01_000001: PRELAUNCH_OUT=/yarn/container-logs/application_1683335517561_3806/container_1683335517561_3806_01_000001/prelaunch.out: NM_AUX_SERVICE_mapreduce_shuffle=AAA0+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=: NM_PORT=8041: HADOOP_YARN_HOME=/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-yarn: USER=admin: CLASSPATH=/yarn/nm/usercache/admin/appcache/application_1683335517561_3806/container_1683335517561_3806_01_000001:/yarn/nm/usercache/admin/appcache/application_1683335517561_3806/container_1683335517561_3806_01_000001/*:/etc/hadoop/conf.cloudera.yarn:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop/*:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop/lib/*:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-hdfs/*:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-hdfs/lib/*:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-yarn/*:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-yarn/lib/*:: PRELAUNCH_ERR=/yarn/container-logs/application_1683335517561_3806/container_1683335517561_3806_01_000001/prelaunch.err: HADOOP_TOKEN_FILE_LOCATION=/yarn/nm/usercache/admin/appcache/application_1683335517561_3806/container_1683335517561_3806_01_000001/container_tokens: LOCAL_USER_DIRS=/yarn/nm/usercache/admin/: OOZIE_ACTION_CONF_XML=/yarn/nm/usercache/admin/appcache/application_1683335517561_3806/container_1683335517561_3806_01_000001/action.xml: SHLVL=2: HOME=/home/: CONTAINER_ID=container_1683335517561_3806_01_000001: MALLOC_ARENA_MAX=4:怎么回事
根据您提供的日志,看起来您在运行 Sqoop 时遇到了一个 NullPointerException 异常。异常堆栈跟踪显示在 SqoopOptions 类的 writeProperties 方法中出现了空指针异常,而导致此异常的原因是在 SqoopJsonUtil 类中的 getJsonStringforMap 方法中使用了空的 JSONObject。
要解决这个问题,您可以尝试以下几个步骤:
1. 检查您的 Sqoop 配置文件中是否有任何错误或缺失的配置。确保所有必要的配置项都已正确设置,并且没有任何错误。
2. 检查您的输入数据是否有效,并且没有任何问题导致 Sqoop 无法解析或处理输入数据。确保您的输入数据符合 Sqoop 的要求,并且没有任何格式或内容上的问题。
3. 确保您正在使用的 Sqoop 版本与您的环境兼容,并且已正确安装和配置。检查 Sqoop 的版本和依赖项,确保它们与您当前的环境兼容。
4. 如果问题仍然存在,请尝试重新安装或更新 Sqoop,并确保使用最新版本。有时候,旧版本可能存在一些已知的问题或错误,通过更新或升级到最新版本可以解决这些问题。
如果上述步骤无法解决问题,请提供更多关于您的环境配置、Sqoop 版本、输入数据和任何其他相关信息,以便我们能够更好地帮助您解决此问题。
阅读全文