最近突然又玩起了linux,就用redhat的想搞个开发环境!!!好吧,我是搞java
在终端输入java -version,竟然出现信息,说已经有个1.4.2版本,看网上说,是redhat自带的,但现在都已经java7了,1.4不够给力啊亲,那得卸载再装新的(其实直接装新的不知道行不行,因为我对linux不太熟悉,不敢把步骤乱搞,破坏基本环境),嘻嘻~~~
在网上看了比较多,都是用rpm -pa|gic ...等命令吧,但我试过都没用,之后也找到了不少方法,也不行!
还好在一个人的博客看到了甜咖啡,本文其实就是对它的补充,补点图片什么的吧~~~
进入正文
第一步
首先,我们先去官网下下载个jdk,jdk-7u9-linux-i586.rpm!!!看清楚是RPM包
那下载完jdk怎么弄到linux里面呢?方案1:弄共享文件夹2:ftp什么的3:直接弄成iso格式弄到虚拟机的cdrom里面
1,2我暂时没搞出来,所以我用了第三个方案!
我们可以用一个叫 UltraISO的软件,把我们的文件制作成iso格式
制作过程很简单,打开UltraISO,把要制作的东西放入空白框里,再保存,选iso格式就行,如下图所示
弄成iso文件,我们就可以设置虚拟机的硬件,如下图所示
设置好,再在终端敲上命令
mount /dev/cdrom /mnt/cdrom
这样,就挂载到linux了~~~
第二步,我们来卸载redhat自带的java1.4.2版本
很简单,直接在终端敲入 yum remove java,这样终端就会打印一大串信息
最后会输出Is this ok [y/N]:
你输入y,果断回车
就删除了自带的1.4.2
安装自己的新版本:
执行解压命令
tar -zxvf jdk-8u121-linux-x64.tar.gz 回车
稍等片刻,解压完成
如图:
可以看到多了名为jdk1.8.0_121的文件夹
如图:
修改配置文件
修改/etc/profile这个文件,修改的方法很多,可以用远程工具下载该文件到本地系统,修改后,在上载上去,也可以直接使用vim命令对该文件进行修改(这里不打算详细展开讲vim命令),不管用什么方法只要在/etc/profile文件中增加如下配置即可,增加的内容是:
export JAVA_HOME=/opt/java/jdk1.8.0_121
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
如图:
修改了/etc/profile文件后,需要把这个文件里保存的命令执行一次(方法是使用source命令)
执行命令 source /etc/profile回车
如图:
测试是否安装成功
执行命令 java -version回车
如图:
可以看到,输出的内容是 1.8.0_12说明jdk已经安装成功了。
注意:将配置内容(其实是命令脚本)写到/etc/profile中目的就是让任意用户登录后,都会自动执行该脚本,这样这些登录的用户就可以直接使用jdk了。如果因为某个原因该脚本没有自动执行,自己手动执行以下就可以了(也就是执行命令source /etc/profile)
Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)
4.1service zookeeper does not support chkconfig
4.2 Error contacting service. It is probably not running
关键字:CentOS7 zookeeper3.4.10 java
1下载Zookeeper
地址:http://mirror.bit.edu.cn/apache/zookeeper/
2安装启动测试
说明:(以下操作都是使员管理员账号进行的)
2.1上载压缩文件并解压
这里使用的是CentOS7的操作系统。在opt目录下新建一个名为zookeeper的目录,将下载得到的zookeeper-3.4.10.tar.gz文件上载上去。
如图:
进入到该目录下,命令是:
cd /opt/zookeeper
执行解压命令:
tar -zxvf zookeeper-3.4.10.tar.gz
如图:
2.2新建zookeeper配置文件
Zookeeper需要一个名为zoo.cfg的配置文件,我们解压后,得到的是官方的示例文件,名为zoo_sample.cfg,这个文件在zookeeper根目录的conf子目录下。如果我们想使用默认配置,直接将该文件复制并且改名即可。里面可以配置端口号,是否启用集群等等,这里不展开,直接执行cp复制重命名。
命令是:
cp /opt/zookeeper/zookeeper-3.4.10/conf/zoo_sample.cfg /opt/zookeeper/zookeeper-3.4.10/conf/zoo.cfg
如图:
上面的命令生成了zoo.cfg
如图:
说明:zoo.cfg里可以配置东西,如果希望搭建zookeeper集群,请看该博文:
2.3安装JDK
在Linux上安装JDK都是一样的,虽然我们这里用的是CentOS7的操作系统,但是依然可以按照在Unbuntu上安装JDK的方法来安装,请参考该博文:
http://blog.csdn.net/pucao_cug/article/details/68948639
说明:你可的JDK安装路径和ZooKeeper安装路径可以和我的不一样,但是如果你的路径和我一样的话,在本博文第三章节,将ZooKeeper设置为开机启动的相关配置中,你可以不用修改那些配置内容,直接复制使用。
2.4启动zookeeper
进入到zookeeper的bin目录下,命令:
cd /opt/zookeeper/zookeeper-3.4.10/bin
执行zkServer.sh脚本进行启动,命令是:
./zkServer.sh start
如图:
2.5查看zookeeper的状态
如果此时不在zookeeper的bin 目录下,先进入到该目录下:
cd /opt/zookeeper/zookeeper-3.4.10/bin
执行命令查看zookeeper状态:
./zkServer.sh status
如图:
standalone 是单机模式。
3将ZooKeeper设置为开机启动(可选)
3.1在init.d目录下新建脚本文件
进入到/etc/rc.d/init.d目录下,命令是:
cd /etc/rc.d/init.d
新建一个名为zookeeper的文件,命令是:
touch zookeeper
如图:
3.1.1文件内容的第一种方案(推荐)
使用vim命令修改文件内容,文件内容的写法有很多,除了上面的第一种方案,用下面的这种也可以:
3.1.2文件内容的第二种方案
使用vim命令修改文件内容,文件内容是:
3.1.3 其他说明
注意1:新建文件的命令是touch,编辑文件的命令用vi和vim都行。如果不会使用vi和vim命令,直接在本地把文件编辑好,然后用远程工具上载上去都行,不过需要注意的是如果本地用的windows系统,需要把文件转为UNIX格式。转换工具有很多,例如使用Notepad++
如图:
注意2:两个方案中的文件头部#注释的部分不能少,而且文件中诸如JDK路径,zookeeper路径都需要修改为你自己的。
3.2 执行一系列命令
为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限,命令是:
chmod +x /etc/rc.d/init.d/zookeeper
把zookeeper这个脚本添加到开机启动项里面,命令是:
chkconfig --add zookeeper
如图:
如果想看看是否添加成功,命令是:
chkconfig --list
如图:
3.3执行测试看是否开机启动
使用命令重启机器,命令是:
reboot
方法一
查看zookeeper的状态
重启机器,然后不手动启动zookeeper的情况下,执行命令:
service zookeeper status
如图:
方法二
查看2181端口是否启用,执行命令:
lsof -i:2181
如图:
方法三
查看网络状态,执行命令:
netstat -lntup
如图:
4报错及解决
4.1 service zookeeper does not support chkconfig
执行chkconfig --add zookeeper报错:
servicezookeeper does not support chkconfig
问题原因和解决:
/etc/rc.d/init.d/ zookeeper脚本中头部没有添加下面这几句话(description可以随便写):
4.2Error contacting service. It is probably not running
执行service zookeeper status报错:
JMX enabled by default
Usingconfig: /opt/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg
Errorcontacting service. It is probably not running.
问题原因和解决:
/etc/rc.d/init.d/ zookeeper没有配置对,请看3.1.1和3.1.2的配置,里面必须要有export JAVA_HOME这一句话,后面的路径是你自己的JDK安装路径。
至于export ZOO_LOG_DIR=/opt/zookeeper/log这一句的话可有可无,意思是指定zookeeper的启动日志存放目录,如果该目录不存在,你必须手动创建一个。
我的jdk安装配置和zookeeper集群自启动脚本(3个):
JAVA_HOME=/home/jdk1.8.0_144
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
先yum卸载rhel7自带java,然后编辑/etc/profile文件,在最开头写入,然后保存,执行source /etc/profile
然后java -version发现已安装jdk1.8
3个/etc/rc.d/init.d中的自启动脚本:
cd /etc/rc.d/init.d
vim zookeeper1/2/3
内容:
#!/bin/bash
#chkconfig: 2345 10 90
#description: service zookeeper
export JAVA_HOME=/home/jdk1.8.0_144
export ZOO_LOG_DIR=/home/zookeeper/logs1
ZOOKEEPER_HOME=/home/zookeeper-3.4.9-1
su root ${ZOOKEEPER_HOME}/bin/zkServer.sh "$1"
其中带#的头一定不要少,JAVA_HOME为你自己安装的jdk路径,zoo_log_dir配置成了集群中各节点配置的dataLogDir,zookeeper_home为
各节点zookeeper路径
reboot
然后
service zookeeper1/2/3 status
ps -aux|grep zookeeper/java
/home/zookeeper-3.4.9-1/bin/zkCli.sh -server 192.168.43.188:2181/2182/2183
成功!