安装规划

zookeeper安装到zdh41上面,单机模式

10.43.159.41 zdh41 ZDH.COM

安装用户

zookeeper/zdh1234

useradd -g hadoop -s /bin/bash -md /home/zookeeper zookeeper

安装zookeeper集群,并且开启kerberos认证

1.获取Zookeeper安装包

scp garrison@zdh-237:/home/garrison/backup/zookeeper-3.5.1-alpha.tar.gz .

解压zookeeper包

tar -zxvf zookeeper-3.5.1-alpha.tar.gz

在zookeeper-3.5.1-alpha/conf/目录执行

mv zoo_sample.cfg zoo.cfg

修改zoo.cfg文件:

dataDir=/home/zookeeper/zookeeper-3.5.1-alpha/dataDir

clientPort=2181

文件最后添加,配置zookeeper集群通信端口:

server.1=zdh-237:12888:13888

创建一个dataDir文件夹:

mkdir ~/zookeeper-3.5.1-alpha/dataDir

再创建一个空文件:

touch /dataDir/myid

最后向该文件写入ID:

echo 1 > /dataDir/myid

配置环境变量方便以后操作:

export ZOOKEEPER_HOME=:~/zookeeper-3.5.1-alpha

export PATH=ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

2.在zte-krb上,使用root用户,在/root/keytabs目录下,创建Zookeeper的principal

kadmin.local

addprinc -randkey zookeeper/zdh41@ZDH.COM

xst -k zookeeper.keytab zookeeper/zdh41@ZDH.COM

exit

scp zookeeper.keytab storm@zdh41:/home/storm/zookeeper-3.5.1-alpha/conf

3.修改zoo.cfg,添加以下内容

authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
jaasLoginRenew=3600000
kerberos.removeHostFromPrincipal=true
kerberos.removeRealmFromPrincipal=true

4.在conf目录创建java.env文件,添加以下内容

export JVMFLAGS="-Djava.security.auth.login.config=/home/zookeeper/zookeeper-3.5.1-alpha/conf/jaas.conf"

下面这句zkClient单独部署的时候可以用

export CLIENT_JVMFLAGS="-Djava.security.auth.login.config=/home/zookeeper/zookeeper-3.5.1-alpha/conf/jaas.conf"

5.在conf目录创建jaas.conf文件

Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/home/zookeeper/zookeeper-3.5.1-alpha/conf/zookeeper.keytab"
storeKey=true
useTicketCache=false
principal="zookeeper/zdh41@ZDH.COM";
};
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/home/zookeeper/zookeeper-3.5.1-alpha/conf/zookeeper.keytab"
storeKey=true
useTicketCache=false
principal="zookeeper/zdh41@ZDH.COM";
};

注意:如果修改jaas.conf配置,则一定要重启zkServer,否则会导致zkClient连不上,

可能是因为zkClinet和zkServer使用同一个配置,实际zkClient应该配置自己的keytab用于访问。

6.启动zookeeper

进入到 zookeeper-3.4.5/bin/

./zkServer.sh start

查看状态:

./zkServer.sh status

停止zookeeper:

./zkServer.sh stop

7.验证开启Kerberos

客户端能够登陆开启Kerberos的zkServer

./zkCli.sh -server zdh41:12181

注意不能使用zkCli.sh -server 10.43.159.41:12181登陆,

会导致鉴权失败,zdh41和10.43.159.41在Kerberos服务器看来是不一样的principle

但是无法删除不是自己的storm

deleteall /storm

Authentication is not valid : /storm/leader-lock

其他IP的客户端未使用kerberos的也能登陆并且查看,

但是应该无法修改有权限的节点:

zkCli.sh -server 10.43.159.41:12181

zkCli.sh -server zdh41:12181

create /znode1 sasl:zookeeper/zdh41@ZDH.COM:cdwra

getAcl /znode1

delete /test

列出目录:

ls /

Zookeeper单机安装(开启kerberos)的更多相关文章

  1. (原) 1.1 Zookeeper单机安装

    本文为原创文章,转载请注明出处,谢谢 zookeeper 单机安装配置 1.安装前准备 linux系统(此文环境为Centos6.5) Zookeeper安装包,官网https://zookeeper ...

  2. Zookeeper集群安装(开启kerberos)

    安装规划 zookeeper集群模式,安装到如下三台机器 10.43.159.237 zdh-237 10.43.159.238 zdh-238 10.43.159.239 zdh-239 Kerbe ...

  3. Ranger-AdminServer安装(开启Kerberos)

    Ranger-AdminServer安装, 同时开启Kerberos安全模式, 基于ranger版本0.7.0. 安装规划 10.43.159.240 zdh-240 10.43.159.245 zd ...

  4. Zookeeper单机安装部署与配置(二)

    在上篇博客中简单介绍了Zookeeper的特点和应用场景,详情可参考:<Zookeeper简介(一)>,那么这篇博客我们介绍一下关于Zookeeper的单机模式安装步骤与配置. 环境准备 ...

  5. zookeeper单机安装

    安装zookeeper步骤: 1,下载zookeeper http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ 2,放到合适目录,解压 ...

  6. Linux zookeeper 单机安装

    Zookeeper(端口2181) 下载地址 http://mirror.bit.edu.cn/apache/zookeeper/ 解压到/usr/local目录 >tar -zxvf zook ...

  7. Storm集群安装Version1.0.1开启Kerberos

    Storm集群安装,基于版本1.0.1, 同时开启Kerberos安全认证, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 ...

  8. Centos7 zookeeper单机/集群安装详解和开机自启

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  9. Kafka单机安装Version1.0.1(自带Zookeeper)

    1.说明 Kafka单机安装,基于版本1.0.1, 使用kafka_2.12-1.0.1.tgz安装包, 其中2.12是编译工具Scala的版本. 而且不需要另外安装Zookeeper服务, 使用Ka ...

随机推荐

  1. Hibernate 总结(转)

    JMX:Java Management Extensions.JCA: J2EE Contector ArchitectureJNDI: Java Namind and Directory Inter ...

  2. CSS3新增特性\HTML标签类型

    RGBA:透明度      作用: 设置透明度(R G B A)   opacity:不透明度     文字也会被设置不透明度   圆角      border-radius:圆角{左上角,右上角.. ...

  3. 【编程思想】【设计模式】【创建模式creational】lazy_evaluation

    Python版 https://github.com/faif/python-patterns/blob/master/creational/lazy_evaluation.py #!/usr/bin ...

  4. 【Java 8】函数式接口(二)—— 四大函数接口介绍

    前言 Java8中函数接口有很多,大概有几十个吧,具体究竟是多少我也数不清,所以一开始看的时候感觉一脸懵逼,不过其实根本没那么复杂,毕竟不应该也没必要把一个东西设计的很复杂. 几个单词 在学习了解之前 ...

  5. python中numpy库ndarray多维数组的的运算:np.abs(x)、np.sqrt(x)、np.modf(x)等

    numpy库提供非常便捷的数组运算,方便数据的处理. 1.数组与标量之间可直接进行运算 In [45]: aOut[45]:array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ ...

  6. 如何将java对象转换成json数据

    package cn.hopetesting.com.test;import cn.hopetesting.com.domain.User;import com.fasterxml.jackson.c ...

  7. 【C/C++】最长无重复子数组

    题目描述 给定一个数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同. 子数组是连续的,比如[1,2,3,4,5]的子数组有[1,2],[2,3,4]等等,但是[1,3, ...

  8. Gitlab-CICD实践篇

    一.背景 随着公司项目使用gitlab越来越多,业务发布的次数越来越频繁,对于发布效率提出了更高的要求.从2012开始,Gitlab官方开始集成了Continuous Integration (CI) ...

  9. AT2686 [ARC080A] 4-adjacent 题解

    Content 给定一个长度为 \(n\) 的数列 \(a\),请将其重新排列,使得 \(\forall i\in[1,n-1]\),都有 \(4\mid (a_i\cdot a_{i+1})\),或 ...

  10. MySQL、Oracle元数据抽取分析

    最近接到个任务是抽取mysql和Oracle的元数据,大致就是在库里把库.schema.表.字段.分区.索引.主键等信息抽取出来,然后导成excel. 因为刚开始接触元数据,对这个并不了解,就想借助一 ...