linux下zookeeper安装

 1、统一软件安装路径

/export/server      #软件安装目录
/export/software    #安装包的目录
/export/data        #软件运行数据保存的目录
/export/logs  

mkdir -p /export/server
mkdir -p /export/software 
mkdir -p /export/data
mkdir -p /export/logs

2、Jdk的安装

#上传安装包到/export/server下
jdk-8u65-linux-x64.tar.gz

#解压到当前目录
tar -zxvf jdk-8u65-linux-x64.tar.gz

#删除红色安装包(可选)
rm -rf jdk-8u65-linux-x64.tar.gz 

#配置环境变量
vim /etc/profile            #G + o

export JAVA_HOME=/export/server/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#重新加载环境变量文件 让配置生效
source /etc/profile

[root@node1 ~]# java -version      
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

3、建立集群

克隆两个虚拟机node2、node3

# 修改主机名hostname
vim /etc/hostname

node2.itcast.cn

# 修改网络配置(ip)
vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"     #网卡类型 以太网
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"        #网卡名称
UUID="74c3b442-480d-4885-9ffd-e9f0087c9cf7"
DEVICE="ens33"
ONBOOT="yes"       #是否开机启动网卡服务
IPADDR="192.168.19.162"  #IP地址
PREFIX="24"   #子网掩码   等效: NETMASK=255.255.255.0
GATEWAY="192.168.19.2"  #网关服务
DNS1="192.168.19.2"     #网关DNS解析
DOMAIN="114.114.114.114" #公网DNS解析  114.114.114.114  谷歌:8.8.8.8  阿里百度DNS
IPV6_PRIVACY="no" 

systemctl restart network   # 重启网络服务

4、修改主机名

使用vi编辑器,修改主机名:
vim /etc/hostname
reboot重启后生效

5、修改hosts映射

vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.19.161 node1.itcast.cn node1
192.168.19.162 node2.itcast.cn node2
192.168.19.163 node3.itcast.cn node3

6、免密登录

#实现node1----->node2----->node3

#step1
#分别在node1 node2 node3上生成公钥私钥
[root@node1 ~]# ssh-keygen  #一顿回车 在当前用户的home下生成公钥私钥 隐藏文件

[root@node1 ~]# cd /root/.ssh
[root@node1 .ssh]# pwd
/root/.ssh
[root@node1 .ssh]# ll
total 12
-rw------- 1 root root 1675 May 20 11:59 id_rsa
-rw-r--r-- 1 root root  402 May 20 11:59 id_rsa.pub
-rw-r--r-- 1 root root  183 May 20 11:50 known_hosts

#step2
#将node1 node2 node3三台服务器的公钥copy给node1
[root@node1 ~]# ssh-copy-id node1
[root@node2 ~]# ssh-copy-id node1
[root@node3 ~]# ssh-copy-id node1  
#此时node1中/root/.ssh隐藏目录下多了authorized_keys文件,里面存储了三台服务器的公钥
[root@node1 ~]# cd .ssh
[root@node1 .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts

#step3  
#将node1中/root/.ssh隐藏目录下的authorized_keys文件分别复制给node2和node3,同样放在/root/.ssh下
[root@node1 .ssh]# scp authorized_keys node2:$PWD
[root@node1 .ssh]# scp authorized_keys node3:/root/.ssh/
#输入yes,输入密码,就可以将node1中文件复制给node2和node3
#$PWD:将node1中/root/.ssh目录下的authorized_keys放到node2同级目录下

#step4
[root@node1 ~]# ssh node2
Last login: Wed Sep 22 10:44:32 2021 from node1.itcast.cn
[root@node2 ~]# exit
登出
Connection to node2 closed.
#课程要求:至少打通node1---->node1  node2  node3 这三个免密登录 

#至于所有机器之间要不要互相免密登录 看心情

7、时钟同步

阿里云时钟同步服务器:  ntpdate ntp4.aliyun.com

8、远程文件拷贝

# 拷贝目录
scp -r local_folder remote_username@remote_ip:remote_folder

# 需求: 将本地 aaa 目录 复制到 192.168.150.102 机器的 /export 目录下
scp -r /export/aaa root@192.168.153.102:/export
scp -r /export/aaa root@hadoop02:/export
scp -r /export/aaa hadoop02:/export

9、关闭防火墙

关闭firewalld

#查看防火墙状态
systemctl status firewalld

#关闭防火墙
systemctl stop firewalld

#关闭防火墙开机自启动
systemctl disable firewalld


#centos服务开启关闭命令
centos6:(某些可以在centos7下使用)
	service 服务名 start|stop|status|restart
	chkconfig on|off 服务名
	
centos7:	
	systemctl start|stop|status|restart 服务名
	systemctl disable|enable 服务名  #开机自启动  关闭自启

关闭selinux

vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

10、配置zookeeper

##下载安装包、解压

tar -zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper

##修改环境变量,可选操作

vi /etc/profile
export ZOOKEEPER_HOME=/export/server/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

source /etc/profile

##修改Zookeeper配置文件

cd zookeeper/conf
mv zoo_sample.cfg zoo.cfg

vi zoo.cfg
添加内容:
dataDir=/export/data/zkdata
## (心跳端口、选举端口)

server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

#添加每个节点zk服务编号myid
#创建文件夹:
mkdir -p /export/data/zkdata

#在data文件夹下新建myid文件,myid的文件内容为对应服务器编号:

echo 1 > /export/data/zkdata/myid 


#分发安装包到其他机器
cd /export/server

scp -r zookeeper/ root@node2:$PWD
scp -r zookeeper/ root@node3:$PWD

##修改其他机器的配置文件
修改myid文件
mkdir -p /export/data/zkdata
echo 2 > /export/data/zkdata/myid  

mkdir -p /export/data/zkdata
echo 3 > /export/data/zkdata/myid  

##启动
#方式1:每台机器单节点逐个启动

/export/server/zookeeper/bin/zkServer.sh  start|stop|status


#或者编写一个脚本来批量启动所有机器:
#涉及shell知识点数组定义  数组遍历  for循环

#!/bin/bash
hosts=(node1 node2 node3)
for host in ${hosts[*]}
do
 ssh $host "source /etc/profile;/export/server/zookeeper/bin/zkServer.sh start"
done

#!/bin/bash
hosts=(node1 node2 node3)
for host in ${hosts[*]}
do
 ssh $host "/export/server/zookeeper/bin/zkServer.sh stop"
done

##查看集群状态
jps(查看进程)
zkServer.sh status(查看集群状态,主从信息)

如果启动不成功,可以观察zookeeper.out日志,查看错误信息进行排查

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值