• [Java] zookeeper有几种部署模式?
    1
  • [技术干货] 【转载】从未如此简单:10分钟带你逆袭Kafka!(03)
    Kafka 集群搭建我们在工作中,为了保证环境的高可用,防止单点,Kafka 都是以集群的方式出现的,下面就带领大家一起搭建一套 Kafka 集群环境。我们在官网下载 Kafka,下载地址为:http://kafka.apache.org/downloads,下载我们需要的版本,推荐使用稳定的版本。搭建集群①下载并解压1.  cd /usr/local/src2.  wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.11-2.4.0.tgz3.  mkdir /data/servers4.  tar xzvf kafka_2.11-2.4.0.tgz -C /data/servers/5.  cd /data/servers/kafka_2.11-2.4.06②修改配置文件Kafka 的配置文件 $KAFKA_HOME/config/server.properties,主要修改一下下面几项:1.  确保每个机器上的id不一样2.   broker.id=03.    配置服务端的监控地址4.   listeners=PLAINTEXT://192.168.51.128:90925.    kafka 日志目录6.   log.dirs=/data/servers/kafka_2.11-2.4.0/logs7.   #kafka设置的partitons的个数8.   num.partitions=19.   10.  zookeeper的连接地址, 如果有自己的zookeeper集群, 请直接使用自己搭建的zookeeper集群11. zookeeper.connect=192.168.51.128:218112.因为我自己是本机做实验,所有使用的是一个主机的不同端口,在线上,就是不同的机器,大家参考即可。我们这里使用 Kafka 的 Zookeeper,只启动一个节点,但是正真的生产过程中,是需要 Zookeeper 集群,自己搭建就好,后期我们也会出 Zookeeper 的教程,大家请关注就好了。③拷贝 3 份配置文件1.  #创建对应的日志目录2.  mkdir -p /data/servers/kafka_2.11-2.4.0/logs/90923.  mkdir -p /data/servers/kafka_2.11-2.4.0/logs/90934.  mkdir -p /data/servers/kafka_2.11-2.4.0/logs/90945.   6.  #拷贝三份配置文件7.  cp server.properties server_9092.properties 8.  cp server.properties server_9093.properties 9.  cp server.properties server_9094.properties 10.④修改不同端口对应的文件1.  #9092的id为0, 9093的id为1, 9094的id为22.   broker.id=03.   # 配置服务端的监控地址, 分别在不通的配置文件中写入不同的端口4.   listeners=PLAINTEXT://192.168.51.128:90925.   # kafka 日志目录, 目录也是对应不同的端口6.   log.dirs=/data/servers/kafka_2.11-2.4.0/logs/90927.   # kafka设置的partitons的个数8.   num.partitions=19.   # zookeeper的连接地址, 如果有自己的zookeeper集群, 请直接使用自己搭建的zookeeper集群10. zookeeper.connect=192.168.51.128:218111.修改 Zookeeper 的配置文件:1.  dataDir=/data/servers/zookeeper2.  server.1=192.168.51.128:2888:38883.   然后创建 Zookeeper 的 myid 文件:1.  echo "1"> /data/servers/zookeeper/myid2.   ⑤启动 Zookeeper使用 Kafka 内置的 Zookeeper:1.  cd /data/servers/kafka_2.11-2.4.0/bin2.  zookeeper-server-start.sh -daemon ../config/zookeeper.properties 3.  netstat -anp |grep 21814.   启动 Kafka:1.  ./kafka-server-start.sh -daemon ../config/server_9092.properties   2.  ./kafka-server-start.sh -daemon ../config/server_9093.properties   3.  ./kafka-server-start.sh -daemon ../config/server_9094.properties   4.   Kafka 的操作①Topic我们先来看一下创建 Topic 常用的参数吧:·         --create:创建 topic·         --delete:删除 topic·         --alter:修改 topic 的名字或者 partition 个数·         --list:查看 topic·         --describe:查看 topic 的详细信息·         --topic <String: topic>:指定 topic 的名字·         --zookeeper <String: hosts>:指定 Zookeeper 的连接地址参数提示并不赞成这样使用(DEPRECATED, The connection string for the zookeeper connection in the form  host:port. Multiple hosts can be given to allow fail-over.)--bootstrap-server <String: server to connect to>:指定 Kafka 的连接地址,推荐使用这个,参数的提示信息显示(REQUIRED: The Kafka server to connect to. In case of providing this, a direct Zookeeper connection won't be required.)。--replication-factor <Integer: replication factor> : 对于每个 Partiton 的备份个数。(The replication factor for each partition in the topic being created. If not supplied, defaults to the cluster default.)--partitions <Integer: # of partitions>:指定该 topic 的分区的个数。示例:1.  cd /data/servers/kafka_2.11-2.4.0/bin2.  # 创建topic  test13.  kafka-topics.sh --create --bootstrap-server=192.168.51.128:9092,10.231.128.96:9093,192.168.51.128:9094 --replication-factor 1 --partitions 1 --topic test14.  # 创建topic test25.  kafka-topics.sh --create --bootstrap-server=192.168.51.128:9092,10.231.128.96:9093,192.168.51.128:9094 --replication-factor 1 --partitions 1 --topic test26.  # 查看topic7.  kafka-topics.sh --list --bootstrap-server=192.168.51.128:9092,10.231.128.96:9093,192.168.51.128:9094 8.   ②自动创建 Topic我们在工作中,如果我们不想去管理 Topic,可以通过 Kafka 的配置文件来管理。我们可以让 Kafka 自动创建 Topic,需要在我们的 Kafka 配置文件中加入如下配置文件:auto.create.topics.enable=true如果删除 Topic 想达到物理删除的目的,也是需要配置的:delete.topic.enable=true③发送消息他们可以通过客户端的命令生产消息,先来看看 kafka-console-producer.sh 常用的几个参数吧:·         --topic <String: topic>:指定 topic·         --timeout <Integer: timeout_ms>:超时时间·         --sync:异步发送消息·         --broker-list <String: broker-list>:官网提示: REQUIRED: The broker list string in the form HOST1:PORT1,HOST2:PORT2.这个参数是必须的:1.  kafka-console-producer.sh --broker-list 192.168.51.128:9092,192.168.51.128:9093,192.168.51.128:9094 --topic test12.   ④消费消息我们也还是先来看看 kafka-console-consumer.sh 的参数吧:·         --topic <String: topic>:指定 topic·         --group <String: consumer group id>:指定消费者组·         --from-beginning:指定从开始进行消费, 如果不指定, 就从当前进行消费·         --bootstrap-server:Kafka 的连接地址 kafka-console-consumer.sh --bootstrap-server 192.168.51.128:9092,192.168.51.128:9093,192.168.51.128:9094 --topic test1 ---beginningKafka 的日志Kafka 的日志分两种:·         第一种日志是我们的 Kafka 的启动日志,就是我们排查问题,查看报错信息的日志。·         第二种日志就是我们的数据日志,Kafka 是我们的数据是以日志的形式存在存盘中的,我们第二种所说的日志就是我们的 Partiton 与 Segment。那我们就来说说备份和分区吧:我们创建一个分区,一个备份,那么 test 就应该在三台机器上或者三个数据目录只有一个 test-0。(分区的下标是从 0 开始的)如果我们创建 N 个分区,我们就会在三个服务器上发现,test_0-n,如果我们创建 M 个备份,我们就会在发现,test_0 到 test_n 每一个都是 M 个。
  • [技术干货] 【Hive】客户端鉴权失败报错“The ZooKeeper client is AuthFailed”
    HiveServer服务正常的情况下,使用Shell客户端或二次开发工具登录HiveServer失败,日志提示“The ZooKeeper client is AuthFailed”关键字。20/05/19 10:52:00 WARN utils.HAClientUtilDummyWatcher: The ZooKeeper client is AuthFailed 2020/05/19 10:52:00 INFO utils.HiveHAClientUtil: Exception thrown while reading data from znode.The possible reason may be connectionless. This is recoverable. Retrying..可能原因:客户端用户使用的keytab文件存在问题。客户端所在节点的系统时间与集群的系统时间不一致导致鉴权失败。排查步骤:使用keytab方式认证的客户端,与系统管理员确认客户端用户使用的keytab信息是否正确,保证获取正确的keytab文件。检查客户端所在节点的系统时间,是否与集群的系统时间一致。
  • [技术干货] [大数据]Zookeeper V3.4.6安装指南
    下载zookeeper bin安装包,检查无X86依赖解压;进到解压路径创建data logs文件夹进到配置文件路径拷贝示例配置文件 修改zoo.cfg增加data  logs路径修改/etc/profile添加zookeeper 路径, source /etc/profile 生效 关闭防火墙等进到zookeeper路径进入bin路径执行启动检查状态: 版本echo stat|nc 127.0.0.1 2181【来自转载】 
  • [开发者] 连接不上zookeeper
    在云虚拟机(Linux)上安装了zookeeper,但是从后台java端一直连接不上,后台Java端用的ip是虚拟机的私有ip,防火墙和安全组都设置了,就是连不上,报Socket is not connected....
  • [中间件] 【华为云鲲鹏云服务最佳实践】【工具篇】第054期zookeeper-3.4.6编译安装指南
    1、简介Apache ZooKeeper致力于开发和维护可实现高度可靠的分布式协调的开源服务器。2、基础环境类别子项版本获取地址(方法)华为云虚拟机KC1(920)--OSCentOS7.7kernel4.14软件包Zookper3.4.6https://kojipkgs.fedoraproject.org//vol/fedora_koji_archive01/packages/zookeeper/3.4.6/16.fc24/src/zookeeper-3.4.6-16.fc24.src.rpmJava 1.8.0_191源自带Gcc 4.8.5源自带3、依赖安装使用yum进行安装yum install libxml2-devel python-devel ant-junit  junit  jline slf4j apache-commons-parent jetty-server jetty-servlet svn -y解决checkstyle依赖rpm -ivhhttps://kojipkgs.fedoraproject.org//vol/fedora_koji_archive01/packages/checkstyle/6.13/2.fc24/noarch/checkstyle-6.13-2.fc24.noarch.rpm http://rpmfind.net/linux/fedora/linux/releases/29/Everything/aarch64/os/Packages/a/antlr4-runtime-4.5.2-5.fc29.noarch.rpm https://kojipkgs.fedoraproject.org//vol/fedora_koji_archive01/packages/checkstyle/6.13/2.fc24/noarch/checkstyle-6.13-2.fc24.noarch.rpm 解决jtoaster依赖rpm -ivhhttps://kojipkgs.fedoraproject.org//vol/fedora_koji_archive01/packages/jtoaster/1.0.5/6.fc24/noarch/jtoaster-1.0.5-6.fc24.noarch.rpm 解决netty依赖rpm -ivhhttps://kojipkgs.fedoraproject.org//vol/fedora_koji_archive01/packages/netty/4.0.28/3.fc24/aarch64/netty-4.0.28-3.fc24.aarch64.rpm  http://download-ib01.fedoraproject.org/pub/fedora/linux/releases/29/Everything/x86_64/os/Packages/p/protobuf-java-3.5.0-8.fc29.noarch.rpm解决mockito依赖rpm -ivhhttp://rpmfind.net/linux/fedora/linux/releases/29/Everything/aarch64/os/Packages/m/mockito-1.10.19-17.fc29.noarch.rpm http://rpmfind.net/linux/fedora/linux/releases/29/Everything/aarch64/os/Packages/j/javapackages-filesystem-5.3.0-1.fc29.noarch.rpm解决jdiff依赖rpm -ivhhttp://rpmfind.net/linux/fedora/linux/releases/29/Everything/aarch64/os/Packages/j/jdiff-1.1.1-16.fc29.noarch.rpm 解决json_simple依赖rpm -ivhhttp://rpmfind.net/linux/fedora/linux/releases/29/Everything/aarch64/os/Packages/j/json_simple-1.1.1-17.fc29.noarch.rpm解决ivy-local依赖需要重新编译ivy-local组包编译方法:wget http://download-ib01.fedoraproject.org/pub/fedora-secondary/releases/30/Everything/source/tree/Packages/j/javapackages-tools-5.3.0-4.fc30.src.rpmrpm –ivh javapackages-tools-5.3.0-4.fc30.src.rpmcd /root/rpmbuild/SPECrpmbuild –ba javapackages-tools.spec屏蔽掉zookeeper.spec中的patch2和patch3因为编译环境是centos,所以预先选择好分支,参考下图   4、组件编译安装设置好repo源执行以下命令:yum install rpm-build –yrpmbuild –ba zookeeper.spec 编译分两个阶段:java源代码编译阶段 和 c/c++语言编译阶段Ant编译阶段SUCCESSFUL   Make编译阶段  最终生成rpm包   5、系统配置无6、测试使用yum命令安装,所需依赖在http://rpmfind.net上找,适配Fedora 29 版本的rpm包7、参考信息编译所需依赖下载网址:http://rpmfind.net/https://src.fedoraproject.orghttps://pkgs.org/8、FAQ  无
  • KUNPENG平台Zookeeper3.1.4移植自动安装脚本
    1 Zookeeper简介Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 2 环境信息2.1 环境信息类别子项版本获取地址OSCentOS7.5 Aarch64href="https://www.centos.org/download/" https://www.centos.org/download/服务器配置16U16GB50GB软件Zookeeper3.4.14 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz3 软件移植3.1 环境准备OS安装类型:CentOS-7.5-aarch64-1804。 注:操作系统安装使用最小简化版安装(如上图),其余步骤安装一般安装操作系统步骤即可。 3.1.1 相关软件下载上传1、 上传CentOS 7.5系统ISO镜像文件至服务器2、 上传zookeeper-3.4.14.tar.gz源码包至服务器目录下,如/opt下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 3.2 安装Zookeeper      1、 如果当前服务器没有网络,请先配置本地yum源。        a. 上传以下脚本至要安装Zookeeper的服务器上的任意目录,如/opt。        (local_yum_install.sh)        b. 执行如下命令添加执行权限:        chmod +x /opt/local_yum_install.sh        c. 执行如下命令安装配置本地yum源        sh /opt/local_yum_install.sh    2、 本地yum源安装完毕后,因为Zookeeper需要依赖java环境    yum install java-1.8.0-openjdk –y         3、 解压安装包     tar -zxvf zookeeper-3.4.14.tar.gz    cd zookeeper-3.4.14    4、 创建日志存放目录    mkdir dataDir    5、 拷贝样例文件为配置文件,准备修改    cd conf    cp zoo_sample.cfg zoo.cfg    6、 编辑配置文件,自定义日志存放目录,如下图    vim zoo.cfg     7、 启动Zookeeper  3.3 验证执行 
  • [中间件] 【鲲鹏翱翔】消息中间件03-Zookeeper移植指南
    1.简介    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。本次移植以Zookeeper3.4.6为例进行说明,其他版本将下文中的3.4.6替换为对应的版本号进行验证即可。2.环境说明Packet NameVersionCentOSCentOS 7.5 with ARMZookeeper3.4.63.安装部署3.1安装Ant打包工具  通过yum安装Ant:yum install -y ant3.2安装automake和cppunit工具yum install -y autoconf   automake libtool cppunit4.依赖库编译无5.Zookeeper编译从官网上下载zookeeper-release-3.4.6源码到根目录下,并解压:wget https://github.com/apache/zookeeper/archive/release-3.4.6.tar.gztar zxvf release-3.4.6.tar.gz如果官网下载有问题,可以通过网站(https://github.com/apache/zookeeper/releases/tag/release-3.4.6)下载源码包,通过FTP工具上传到云主机之后再执行解压。进入到解压后的zookeeper目录执行编译:cd zookeeper-release-3.4.6ant package tar编译成功后,在zookeeper-release-3.4.6/build下生成zookeeper-3.4.6.tar.gz包。tar包可在相同环境下使用,不需要再次编译。6.测试验证测试单机部署Zookeeper。Step1:将上一步打包好的安装包复制到root目录下,并解压cp /root/zookeeper-release-3.4.6/build/zookeeper-3.4.6.tar.gz /roottar -zxvf zookeeper-3.4.6.tar.gzStep2:进入到Zookeeper目录下解压并创建data和logs目录cd /root/zookeeper-3.4.6mkdir datamkdir logsStep3:在zookeeper的conf目录下生成和修改zoo.cfg配置文件cd confcp zoo_sample.cfg zoo.cfgvim zoo.cfg#文件内容如下,标红的代表做过修改,其他的默认# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=../datadataLogDir=../logs# the port at which the clients will connectclientPort=2181Step4:修改环境变量增加zookeeper配置vim /root/.bash_profile#在文件最后增加zookeeper配置,其他保持不变# zookeeper envexport ZOOKEEPER_HOME=/root/zookeeper-3.4.6export PATH=$ZOOKEEPER_HOME/bin:$PATH Step5:启动和验证Zookeeper服务source /root/.bash_profilecd /root/zookeeper-3.4.6/bin#启动zookeeper服务./zkServer.sh start #验证zookeeper状态./zkServer.sh status#通过curl命令验证2181端口是否通curl 127.0.0.1:2181出现如上截图代表安装成功。 7.参考信息官方链接:https://zookeeper.apache.org/。安装zookeeper 3.4.6指导链接: https://www.cnblogs.com/zfzf1/p/6644122.html 8.FAQ无。
  • [技术干货] ZooKeeper客户端无法使用
    现象描述当往ZooKeeper节点写入超过1MB数据的文件时,ZooKeeper客户端无法使用,出现如下信息。2014-11-07 15:23:34,237 | WARN | NIOServerCxn.Factory:/10.18.51.157:24002 |  Exception causing close of session 0xe4985ef3128000d due to java.io.IOException: Len error 1080037 |  org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:362)2014-11-07 15:23:34,238 | INFO | NIOServerCxn.Factory:/10.18.51.157:24002 |  Closed socket connection for client /10.18.51.156:44987 which had sessionid 0xe4985ef3128000d |  org.apache.zookeeper.server.NIOServerCnxn.closeSock(NIOServerCnxn.java:1007)可能原因ZooKeeper的数据大小是由jute.max.buffer参数的值决定的。如果数据超过配置的值,服务端会拒绝访问并出现以上异常。该参数的默认值为1MB,且该参数不能修改。在集群的服务端和客户端必须保持这两个参数的一致性。定位思路无。处理步骤建议用户不要去修改jute.max.buffer参数的值,在ZooKeeper节点写入数据时,确保单个文件的大小不超过1MB。为确保ZooKeeper的性能,建议不要将大量的数据写入到ZooKeeper节点中。
  • [技术干货] ZooKeeper无法对外提供服务
    现象描述ZooKeeper服务异常。可能原因ZooKeeper无法选主。ZooKeeper集群中有机器IP冲突,或主机名冲突。定位思路检查ZooKeeper安装并运行的实例是否为奇数个,如3个、5个。恢复故障的ZooKeeper服务。处理步骤登录FusionInsight Manager 管理界面。选择“Services > ZooKeeper > Instances”,检查ZooKeeper实例个数是否为奇数个。是,点击“Add Instance”,根据页面提示继续安装奇数个ZooKeeper实例。否,执行3。点击“Alarms”,检查FusionInsight Manager 的告警界面是否有ZooKeeper告警、磁盘空间不足告警。是,参照对应告警处理章节进行处理。否,执行4。检查ZooKeeper所在节点的机器中,是否有IP地址冲突或主机名冲突。是,修改节点主机IP地址及主机名。否,联系相关技术人员。
  • [技术干货] ZooKeeper服务不断重启
    现象描述FusionInsight Manager ZooKeeper界面中ZooKeeper角色实例一直处于Concerning状态。可能原因ZooKeeper所在磁盘空间不足。ZooKeeper服务数据文件被损坏。定位思路检查ZooKeeper磁盘空间是否足够。删除损坏的ZooKeeper数据文件。处理步骤登录FusionInsight Manager管理界面。点击“Alarms”,在告警页面查看ZooKeeper故障节点是否有磁盘空间不足告警。是,按照磁盘空间不足告警流程进行处理。否,执行3。确认磁盘空间充足后,选择“Services > ZooKeeper > Instances”,勾选故障ZooKeeper实例,选择“More Actions > Restart instance”,重启实例,看ZooKeeper是否能恢复正常。是,操作结束。否,执行4。选择“Services > ZooKeeper > Configuration”,在配置参数“dataDir”中找到ZooKeeper的数据存储路径。使用PuTTY工具,以root用户连接到故障ZooKeeper所在节点上,然后切换为omm帐号。su - omm 说明:需要确保操作用户为omm。切换当前目录到ZooKeeper数据存储目录。cd /srv/BigData/zookeeper执行命令,备份数据目录中的version-2。mv /srv/BigData/zookeeper/version-2 /srv/BigData/zookeeper/version-2.bak创建空目录。mkdir /srv/BigData/zookeeper/version-2重新登录FusionInsight Manager管理界面,选择“Services > ZooKeeper > Instances”,勾选故障ZooKeeper实例,选择“More Actions > Restart instance”,重启实例,看ZooKeeper是否恢复正常。是,操作结束。否,联系相关技术人员。
总条数:41 到第
上滑加载中