Linux相关知识

来源:互联网 发布:星星知我心第二部全集 编辑:程序博客网 时间:2024/06/06 23:53
jdk安装
获取JDK
wget -c -P /root/Downloads --no-check-certificate --no-cookie --header "Cookie: s_nr=1420682671945; s_cc=true; oraclelicense=accept-securebackup-cookie; gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk7-downloads-1880260.html;s_sq=%5B%5BB%5D%5D" http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.rpm
一. 解压安装jdk 
在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 
执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下。 

二. 需要配置的环境变量 
1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。 
2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。 
3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。 

三. 三种配置环境变量的方法1. 修改/etc/profile文件 
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 
·用文本编辑器打开/etc/profile 
·在profile文件末尾加入: 
export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

·重新登录 
·注解 
a. 你要将 /usr/share/jdk1.6.0_14改为你的jdk安装目录 
b. linux下用冒号“:”来分隔路径 
c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值 
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种 
常见的错误。 
d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。 
e. export是把这三个变量导出为全局变量。 
f. 大小写必须严格区分。 

2. 修改.bash_profile文件 

这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。 
·用文本编辑器打开用户目录下的.bash_profile文件 
·在.bash_profile文件末尾加入: 

export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

·重新登录 

3. 直接在shell下设置变量 
不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。 
只需在shell终端执行下列命令: 
export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

四. 测试jdk 
1. 用文本编辑器新建一个Test.java文件,在其中输入以下代码并保存: 
public class test { 
public static void main(String args[]) { 
System.out.println("A new jdk test !"); 


2. 编译:在shell终端执行命令 javac Test.java 
3. 运行:在shell终端执行命令 java Test 
当shell下出现“A new jdk test !”字样则jdk运行正常。 

五. 卸载jdk 
·找到jdk安装目录的_uninst子目录 
·在shell终端执行命令./uninstall.sh即可卸载jdk。
Desire has no rest. 

 
ZOOKEEPER相关
 1.获取zookeeper
 wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

2.更改hosts
 vi etc/hosts
#zookeeper server
192.168.93.128 wwjd-provider-01

3.新建目录:
cd /dao/zookeeper-3.4.6 
mkdir data 
mkdir logs 


4.将zookeeper/conf下面zoo_sample.cfg复制一份并命名为zoo.cfg
cp 
zoo_sample.cfg zoo.cfg
 

5.修改zoo.cfg下面的文件
 
dataDir=/dao/zookeeper-3.4.6/data
 dataDir=/dao/zookeeper-3.4.6/logs 


server.1=wwjd-provider-01:2888:3888 

其中2888端口是zookeeper服务间通信端口,3888是zookeeper与其他应用程序之间的通信端口。
 wwjd-provider-01是在hosts里面配置好的映射

 在zook.cfg里面的其他配置信相关说明
 initLimit:这个配置项是用来配置zookpeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到Leader的Follwer服务器)初始化连接时最长能忍受多少个心跳时间隔数。当我们超过10个心跳的时间(也就是tickTime)长度后zookeeper服务器还没接受到客户端返回的信息,那么表明这个客户端连接失败,综总的时间长度就是5*2000=10秒。

svncLimit:这个配置项标识Leader与Follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是2*2000=4秒。 
 
server.A=B.C.D:其中A是一个数字,表示这是第几号服务器;B是这个服务器的IP地址或/etc/hosts文件中映射了IP的主机名;C表示的是这个服务器与集群中的Leader服务器交换信息的端口;D表示的是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口号就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于B都是一样,所以不同的zookeeper实例通信端口号不能一样,所以要给它们分配不同的端口号。

6. 在dataDir=
/dao/zookeeper-3.4.6/data下创建myid文件
编辑myid文件,并在对应的IP的机器上输入对应的编号。如在zookeeper上,myid文件内容就是1。若只在单节点上进行安装配置,那么只有一个server.1。 

7.wwjd1用户下修改:vi  
/home/wwjd1/.bash_profile
#zookeeper env
export ZOOKEEPER_HOME=/dao/zookeeper-3.4.6

export PATH=$ZOOKEEPER_HOME/bin:$PATH

使得配置文件生效
source .bash_profile

8.在防火墙中打开要用到的端口2181,2888,3888
切换到root用户权限,执行以下命令:
chkconfig iptables on 

service iptables start
编辑/etc/sysconfig/iptables
vi  
/etc/sysconfig/iptables
增加以下三行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT




重启防火墙 
service iptables restart

查看防火墙端口状态
service iptables status 

9.zookeeper 启动并查看状态

zkServer.sh start 

zkServer.sh stadus 

日志文件在
/dao/zookeeper-3.4.6/bin/zookeeper.out

10.设置为开机自启动
 vi /etc/rc.local

加入配置
su -wwjd1 -c ‘
/dao/zookeeper-3.4.6/bin/zkServer.sh start  


原创粉丝点击