Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

这篇具有很好参考价值的文章主要介绍了Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近期在学习Zookeeper,将服务注册进去并能够正常使用。由于Zookeeper依赖于Java和Linux,所以中间还碰到了一些虚拟机上的问题,在此记录一下,共同学习一下。


一:Zookeeper的安装与启动

Zookeeper是一个分布式协调服务,一般用来做服务注册中心。Zookeeper的数据是存储在内存中的,因此效率较高,内部数据的存储类似于windows的文件存储结构,采用分层存储。不同的是,Zookeeper的每个节点称为ZNode,每个节点下都可以存储数据,但是每个节点存储的数据不能超过1M

1:软件环境

首先需要确保linxu中已经安装了JDK7版本或以上,因为Zookeeper的服务器是由Java创建的。

2:下载安装包并解压

官网:https://zookeeper.apache.org/

Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

点击对应版本下载即可,一般不要下载最新的,下载个稳定版即可。

 下载完成之后解压即可。

//切换到opt目录
cd /opt
//新建zookeeper文件夹
mkdir zookeeper
//切换到zookeeper文件夹
cd /opt/zookeeper
//解压到当前目录,注意这里是你下载的版本压缩包
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz

3:配置

解压完毕后,需要添加一些配置,为以后的运行做准备。

1:创建存储目录

//切换目录
cd /opt/zooKeeper/
//创建存储目录
mkdir zkdata
//进入conf目录
cd /apache-zookeeper-3.7.1-bin/conf
//拷贝一个配置文件
cp  zoo_sample.cfg  zoo.cfg
//修改zoo.cfg配置文件,指定存储目录
vim zoo.cfg
//打开文件之后按 i 进行编辑

Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

 设置存储目录即可。

2:设置 JAVA_HOME 路径

这一步很重要,不设置的话在之后启动zookeeper客户端时会报错:

JAVA_HOME is not set and java could not be found in PATH.

原因是zookeeper在启动时会执行两个文件:zkServer.sh  和  zkEnv.sh,其中zkEnv.sh的文件中会检查JAVA_HOME,获取不到就会报错。

Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

我们安装JDK时的JAVA_HOME设置在  /etc/profile  文件下,将其复制到zkEnv.sh中即可。注意等号前后不要有空格。

Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

4:启动 

注意:需切换到 apache-zookeeper-3.7.1-bin/bin 目录下再执行命令。

zookeeper服务常用命令:

//启动服务
./zkServer.sh start
//查看状态
./zkServer.sh status
//停止服务
./zkServer.sh stop
//重启服务
./zkServer.sh restart

zookeeper服务端常用命令:

//连接ZooKeeper服务端
./zkCli.sh
//断开连接
quit
//查看根节点目录
ls /
//查看注册中心中的服务
ls /services
//查看指定服务
ls /services/服务名
//获取指定服务详细信息(Json格式)
get /services/服务名/服务id

至此,zookeeper安装与启动完毕。


二:虚拟机外网ping通,防火墙端口开放

1:ping通外网

上面我们的服务已经启动成功了,但是现在还不能和idea配合使用将服务注册进去,我们首先要确保我们的虚拟机能够ping通外网。

如果是使用VMware连接的虚拟机,先确认网络的连接方式。有三种。

桥接模式:让虚拟机成真正的计算机,和主机在同一个局域网下,有着相同的网关、子网掩码
NTA模式:网络地址转换,虚拟机的网络都是由主机的 DHCP 服务器进行分配的
仅主机:虚拟机只可以与主机互相访问,不可以连接外网

我这里使用的是NAT模式,只介绍下这个模式。

打开VMware的编辑 -> 虚拟网络编辑器,打开后点击 NAT设置获取网关及子网掩码,点击DHCP设置获取IP地址起始位置。如果想要更改,需要点击更改设置。

Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

 之后进入虚拟机修改网络文件。

注意:CentOS7.x网卡文件是 ifcfg-ens33,CentOs6.x网卡文件是 ifcfg-eth0

//修改网络文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
//按 i 开始编辑
//主要把这几个修改了
BOOTPROTO: 改成静态的,不然重启后ip会被重新分配
IPADDR: 当前虚拟机的ip,取值范围在DHCP设置中查看的ip范围
NETMASK: 子网掩码,NTA设置的固定值
GATEWAY: 网关,NTA设置的固定值
//修改之后重启网卡
systemctl restart network
//测试是否能ping通外网
ping www.baidu.com

 2:防火墙端口开放

Linux下防火墙有两种分别是 iptables firewalld,在centos7之前centos用的防火墙是iptables,自从centos7过后防火墙的使用就从iptables变成了firewalld。相较于传统的防火墙管理工具,firewalld加入了zone(区域)的概念,大体就是实现了防火墙策略之间的快速切换。

 防火墙命令:

//查看防火墙状态(running开启,dead关闭)
systemctl status firewalld
//启动防火墙
service firewalld start
//重启防火墙(服务)
service firewalld restart
//关闭防火墙
service firewalld stop
//查询端口是否开放(zookeeper默认端口号2181)
firewall-cmd --query-port=2181/tcp
//开放端口
firewall-cmd --permanent --add-port=2181/tcp
//移除端口
firewall-cmd --permanent --remove-port=2181/tcp
//重启防火墙(配置)
firewall-cmd --reload

将zookeeper端口号放行,之后才可以注册服务进去。

三:服务注册进Zookeeper

 1:添加依赖

一般添加第一个和Springboot整合的依赖即可,这里提供一个报错解决的方案。

<!--springboot整合zookeeper客户端-->
<dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
       <!--排除zookeeper自带的版本-->
       <exclusions>
          <exclusion>
             <groupId>org.apache.zookeeper</groupId>
             <artifactId>zookeeper</artifactId>
           </exclusion>
        </exclusions>
</dependency>
 <!--和linux上安装的zookeeper版本同步,该步骤省略也可以,使用默认的,个别可能会报错-->
<dependency>
       <groupId>org.apache.zookeeper</groupId>
       <artifactId>zookeeper</artifactId>
       <version>3.7.1</version>
</dependency>

2:添加配置

linux的IP加Zookeeper端口号,默认2181

#配置Spring
spring:
  application:
    name: cloud-provider-payment  #微服务名称,注册中心显示
  cloud:
    zookeeper:
      connect-string: 192.168.58.128:2181  #zookeeper机器加端口号

3:添加注解

主启动类添加注解,注意不是Eureka的注解

@SpringBootApplication
//该注解用于向使用consul或者zookeeper作为注册中心时注册服务
@EnableDiscoveryClient
public class PaymentMain8004 {

    public static void main(String[] args) {
        SpringApplication.run(PaymentMain8004.class, args);
    }

}

4:启动

项目启动成功之后可以在Zookeeper中查看注册进去的服务。

这里使用上面提到过的一些命令,可以看到我们注册进去的服务。

需要注意的是,Zookeeper默认创建的是临时节点,如果服务挂了,会在一段时间后直接清除,

大概一二十秒,而不是像Eureka那样保持心跳。在这点上,Zookeeper做的很是干脆。

[zk: localhost:2181(CONNECTED) 0] ls /
[services, zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /services
[cloud-consumer-order, cloud-provider-payment]
[zk: localhost:2181(CONNECTED) 2] ls /services/cloud-provider-payment
[04b2cf44-95a2-4d29-b452-620e7d4ec53d]
[zk: localhost:2181(CONNECTED) 3] get /services/cloud-provider-payment/04b2cf44-95a2-4d29-b452-620e7d4ec53d
//后面省略
{"name":"cloud-provider-payment","id":"04b2cf44-95a2-4d29-b452-...

其他的功能就和我们使用Eureka等注册中心一样了,每个注册进去的服务都可以通过服务名进行其他服务的调用。


到这里就结束了,这里只是介绍Zookeeper的简单入门用法。希望能够帮到大家,如果哪里有问题,欢迎大家留言指正。文章来源地址https://www.toymoban.com/news/detail-424652.html

到了这里,关于Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos虚拟机安装配置与MobaXterm工具及Linux常用命令

    目录 一、Centos操作系统 1.1 Centos介绍 1.2 Centos虚拟机安装 1.3 配置centos的镜像  1.4 虚拟机开机初始设置  1.4.1 查看网络配置 1.4.2 编辑网络配置  二、MobaXterm工具 2.1 MobaXterm介绍 2.2 MobaXterm安装  2.3 切换国内源 三、Linux常用命令和模式 3.1 查看网络配置 3.2 文件管理 3.3 vi或vim编

    2024年02月07日
    浏览(37)
  • Linux系统的安装,网络配置,解决虚拟机ping不通的问题

    (可以根据自己的配置(在任务管理器,cpu查看),自由安排) 必须电脑开启了虚拟化(未开启,网上搜一下就可以啦) 然后开启这个虚拟机 然后点击完成 1、修改文件配置(三个位置的网关必须一至,【虚拟机,配置文件,原电脑v8]) vim /etc/sysconfig/network-scripts/ifcfg-ens33 虚拟

    2024年02月06日
    浏览(42)
  • linux中ping不通外网解决办法

    今天给大家出一期ping不通外网的问题,这个问题我经常碰见,然后找度娘各种搜索,最终尝试得到如下解决办法: 外网ping不通 1)、在/etc/resolv.conf下添加如 2)、查看路由网关netstat -rn 添加网关 再次查看网关,现在已经有了 3)、打开网卡配置/etc/sysconfig/network-scripts/ifcfg-

    2024年02月13日
    浏览(35)
  • Linux - Docker 安装使用 常用命令 教程

    官方文档地址: Get Started | Docker 中文参考手册: https://docker_practice.gitee.io/zh-cn/ 1.1 官方定义 最新官网首页 # 1.官方介绍 - We have a complete container solution for you - no matter who you are and where you are on your containerization journey. - 翻译: 我们为你提供了一个完整的容器解决方案,不管你是谁,不

    2024年02月11日
    浏览(26)
  • linux搭建环境内网与外网ping通各种方法

    首先我们要做的是环境搭建 我以这个为例内网在虚拟编辑器中 设为192.168.1.0 外网设为202.112.113.0 内网 :ip192.168.1.10/24 子网掩码 192.168.1.5 防火墙/代理服务器 双网卡 内网主机,外网nat模式 ens33 :ip192.168.1.5/24 子网掩码 192.168.1.5 ens37需要联网   ip 202.112.113.5/24 子网掩码 202.112.

    2024年02月06日
    浏览(28)
  • 【Linux】安装配置解决Centos&MobaXterm的使用及Linux常用命令&命令模式

    目录 一、介绍 1. 背景 2. 讲述功能 二、Centos安装配置MobaXterm 1. 创建 2. 安装 3. 配置 4. MobaXterm使用  三、Linux常用命令模式 1. 常用命令 2. 三种模式 3. 命令使用换源 4. 拍照备份  CentOS的背景可以追溯到2004年,当时Red Hat公司决定将其企业级操作系统Red Hat Enterprise Linux(RHEL)的

    2024年02月08日
    浏览(43)
  • 【Linux】安装配置解决Centos&MobaXterm的使用及Linux常用命令以及命令模式

    目录 Centos的介绍 centos安装配置MobaXterm 创建  安装  ​编辑  配置 ​编辑  MobaXterm使用  Linux常用命令模式   常用命令 vi或vim编辑器  三种模式  命令模式 编辑模式   末行模式 拍照备份  CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux (RHEL) 源代码编

    2024年02月06日
    浏览(30)
  • Linux 虚拟机常用命令

    就是  list  的缩写,通过  ls  命令不仅可以查看  linux  文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。 changeDirectory的缩写,作用是切换文件夹 拓展:家目录即用户的目录如root 用户目录,根目录则是最上层,即根目录包含

    2024年02月11日
    浏览(25)
  • 别再只会使用简单的ping命令了,Linux中这些高级ping命令可以提高工作效率!

    当你需要测试网络连接或者诊断网络问题时,ping命令是一个非常有用的工具。除了基本的用法,ping还有一些高级用法,可以帮助你更好地使用它。 首先,让我们回顾一下ping的基本用法。ping命令用于测试与另一台计算机的连接是否正常。以下是基本的ping命令: 其中, host

    2023年04月18日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包