前言:在zookeeper学习的时候,执行jsp命令查看zookpper运行状态的时候发现报错:
-bash: jps: command not found
翻阅了一大批文章,不是东拼西凑 , 就是缺斤少两,于是乎,本人萌生了第一次写博客的想法,复盘的同时,顺便记录一下此次踩坑的经过,开始吧,GOGOGO!
- 发现报错,根据查阅到的资料说明:
产生的原因是Java的环境变量出错
- 执行 whereis java
文章插图
- 【Linux执行jsp命令的时候报错:-bash: jps: command not found】发现一串奇怪的路径,说明这只是java的执行路径,而非java的安装路径 。
- 执行 which java 来获取java路径:
文章插图
- 我们发现又一个奇怪的路径,其实这是对java路径的一个软引用,查询此软引用的指向:
文章插图
- 查询这个指向的真实源目录:
文章插图
- 终于我们获取到了java的安装路径,但这个路径为嘛有一大串???原因是这是CentOS自带的open-jdk...
- 首先我们得将它给干掉:
rpm -qa | grep java #查看java文件sudo rpm -qa | grep java | xargs rpm -e --nodeps #root权限下一键删除
冷知识 , sudo进入root模式:ln -s target_file_name source_file_name #建立软链接rm -rf xxxx/ 加了个/ #这个是删除文件夹rm -rf xxxx 没有/ #这个是删除软链接
- 于是只好去Oracle官网下载Linux版本的jdk并安装:
- 发现下载的时候版本眼花缭乱,分为tar.gz、rpm、yum文件,区别是:
- tar.gz:本质上就是一种压缩包,里面的一些配置都需要我们手动操作
- rpm:Rethat红帽公司发布的一个功能,redhat package manager,.rpm更像一个软件安装包 , 意为tar.gz的傻瓜式安装,全自动化
- yum:rpm的究极傻瓜版...类似于java-maven的作用,自动下载、自动安装、自动装配,甚至可以补丢失的依赖包 , 一般使用这个命令可以查看对应插件官网的目前能下载的插件列表,然后再选择进行安装,十分的方便
- 为了加深理解,采用tar.gz包,来手动安装jdk8 。将该压缩包放到/usr/local/jdk目录下(手动建立jdk目录) , jdk目录需要自己手动创建,也可以叫java,名字自己随意?。猓缓蠼庋垢醚顾醢?输入如下指令:
tar zxvf jdk-8u181-linux-x64.tar.gz
冷知识,/usr/local 文件一般存放给另一个主机存放额外安装软件的目录 , 一般是通过编译源码方式安装的程序,如jdk、nginx、rabbitmq;/opt 则是存放额外安装软件的目录,如mysql、redis、zookeeper;/usr 用户的很多应用程序和文件都放在这个目录里面
- 接下来配置java环境变量:
vim /etc/profile
打开配置文件追加以下内容:
冷知识 , (shift+g快速定位到末尾,i进行编辑 , wq!保存退出)/etc 存放所有的系统管理所需要的配置文件,子目录my.conf
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_351#jdk安装目录export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport PATH=$PATH:${JAVA_PATH}
- 刷新profile文件,不必重启linux 。并测试:
source /etc/profile
- 测试是否安装成功:
java -versionjavac
- 测试jps指令:
jps
文章插图
- 成功?。。?/li>
总结:
- jps命令无法执行,原因在于java环境变量配置有误
- linux有自带的open-jdk
- 软引用的使用:ln -s
推荐阅读
- reportportal 集成 robotframework 自动化执行及结果可视化
- Linux 文件操作接口
- linux下rsync的同步
- linux安装达梦数据库8
- Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog
- Linux 下搭建 Hive 环境
- Linux 下搭建 HBase 环境
- Linux 下搭建 Hadoop 环境
- Linux 下配置 hosts 并设置免密登录
- 【linux】 第1回 linux运维基础