因为之后的大数据环境都要依赖jdk
我的软件包都放在了 /opt/soft下:
安装JDK
1.首先在根目录下建立工作路径/usr/java
2.修改环境变量
修改环境变量:vi /etc/profile
添加内容如下:
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
生效环境变量:source /etc/profile
查看java版本:java -version
在master节点操作成功后可以使用远程复制命令将JDK远程复制到slave1和slave2节点在中:(此命令在master中操作)
scp -r /usr/java root@slave1:/usr/
scp -r /usr/java root@slave2:/usr/
接下来操作slave1和slave2,配置java的环境变量:
修改环境变量:vi /etc/profile
添加内容如下:
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
生效环境变量:source /etc/profile
注意:在操作完slave1和slave2之后需要更新环境变量之后才可以使用java -version去查看JDK的版本。
7.安装zookeeper
1. 修改主机名称到IP地址映射配置。
192.168.15.104 master master.root
192.168.15.127 slave1 slave1.root
192.168.15.124 slave2 slave2.root
2. 修改ZooKeeper配置文件。在其中一台机器(master)上,用tar -zxvf 命令解压缩zookeeper-3.4.6.tar.gz。解压缩zookeeper-3.4.6.tar.gz
首先创建zookeeper的工作路径:
`mkdir -p /usr/zookeeper`
然后解压zookeeper到刚才创建的zookeeper的工作路径中:
`tar –zxvf /opt/soft/zookeeper-3.4.10.tar.gz –C /usr/zookeeper`
3. 配置文件conf/zoo.cfg,用cd命令进入zookeeper-3.4.10/conf目录下,将zoo_sample.cfg文件拷贝一份,命名为为“zoo.cfg”。
Zoo.cfg文件配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
clientPort=2181
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
4.在zookeeper的目录中,创建zkdata和zkdatalog两个文件夹。Zkdatalog文件夹,是为了指定zookeeper产生日志指定相应的路径
5. 进入zkdata文件夹,创建文件myid。
6.远程复制分发安装文件
上面已经在一台机器master上配置完成ZooKeeper,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下:
7. 设置myid。在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字。
slave1中为2;
slave2中为3
8. 配置环境变量并启动ZooKeeper。在每台机器上的 /etc/profile
#set zookeeper environment
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
PATH=$PATH:$ZOOKEEPER_HOME/bin
生效:source /etc/profile
9. 启动ZooKeeper集群
在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本,如下所示:
通过上面状态查询结果可见,一个节点是Leader,其余的结点是Follower。
到此,zookeeper的分布式就算完成了,后序会继续更新其他环境,敬请关注。。。