Zookeeper 3.5.7搭建(啟用Kerberos)
標簽(空格分隔): zookeeper
一,Zookeeper 3.5.7組件搭建步驟
1,Zookeeper 搭建 (全集群 hosts 文件,profile 系統環境變量文件在所有機器均全部同步完畢),且/etc/profile append 文件如下:
# HADOOP CONFIG
export HADOOP_HOME=/app/hadoop
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib/native"
export YARN_CONF_DIR=$HADOOP_CONF_DIR
export SQOOP_HOME=/app/sqoop
export HIVE_HOME=/app/hive
export PRESTO_HOME=/app/presto
export SCALA_HOME=/app/scala
export SPARK_HOME=/app/spark
export ZOOKEEPER_HOME=/app/zookeeper
export HBASE_HOME=/app/hbase
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$ANT_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin:$PRESTO_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
2, JDK安裝。(jdk 安裝包aes-256加密包已經包含)
全集群安裝jdk:
salt '*' cp.get_file salt://jdk1.8.0_92.tar.gz /app/jdk1.8.0_92.tar.gz
salt '*' cmd.run "cd /app && tar -zxf jdk1.8.0_92.tar.gz"
salt '*' cmd.run "cd /app && ln -s jdk1.8.0_92 jdk"
salt '*' cmd.run "cd /app && rm -rf jdk1.8.0_92.tar.gz"
salt '*' cmd.run "cd /app && ls -al"
結果如下:
VECS02589:
total 12
drwxr-xr-x 3 root root 4096 Feb 22 22:15 .
drwxr-xr-x 3 root root 4096 Feb 22 22:10 ..
lrwxrwxrwx 1 root root 11 Feb 22 22:14 jdk -> jdk1.8.0_92
drwxr-xr-x 8 uucp 143 4096 Apr 1 2016 jdk1.8.0_92
VECS02590:
total 12
drwxr-xr-x 3 root root 4096 Feb 22 22:15 .
drwxr-xr-x 3 root root 4096 Feb 22 22:10 ..
lrwxrwxrwx 1 root root 11 Feb 22 22:14 jdk -> jdk1.8.0_92
drwxr-xr-x 8 uucp 143 4096 Apr 1 2016 jdk1.8.0_92
......
3, 安裝KDC:
詳情過程見:https://www.cnblogs.com/hit-zb/p/12534426.html
4, 安裝Zookeeper:
一,下載安裝包並設置一些基本配置
進入 vecs02583,並下載 zk 3.5.x版本安裝包,此處按搭建時刻最新版本為例:
cd /etc/salt/salt
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz
解壓下載的安裝包,並進行簡單的配置文件修改。
root@VECS02583:/etc/salt/salt# ls
apache-zookeeper-3.5.7-bin.tar.gz bin_package hadoop-3.2.1 hosts jdk1.8.0_92.tar.gz profile
root@VECS02583:/etc/salt/salt# tar -zxf apache-zookeeper-3.5.7-bin.tar.gz
root@VECS02583:/etc/salt/salt#
root@VECS02583:/etc/salt/salt# cd apache-zookeeper-3.5.7-bin
root@VECS02583:/etc/salt/salt/apache-zookeeper-3.5.7-bin# ls
bin conf docs lib LICENSE.txt NOTICE.txt README.md README_packaging.txt
root@VECS02583:/etc/salt/salt/apache-zookeeper-3.5.7-bin# cd conf/
root@VECS02583:/etc/salt/salt/apache-zookeeper-3.5.7-bin/conf# ls
configuration.xsl log4j.properties zoo_sample.cfg
root@VECS02583:/etc/salt/salt/apache-zookeeper-3.5.7-bin/conf# cp zoo_sample.cfg zoo.cfg
備注:官網下載地址:https://archive.apache.org/dist/zookeeper/。
特別注意,從版本3.5.5開始,需要下載帶有bin名稱的包,帶有bin名稱的包中有編譯之后的的二進制包。而之前普通的tar.gz中只有源碼無法直接使用。使用不帶bin的包直接啟動會報錯。
在zookeeper3.5.0之前,zookeeper集群的全體成員以及它的配置參數都是在啟動時靜態加載的,並且在運行時不可變。因此當zookeeper集群需要擴縮容的時候,我們只能通過手動修改配置文件然后滾動重啟的方式來完成zk集群的擴容或縮容。當集群中機器較多的時候,可以會因為人工導致誤操作的概率加大。
在zookeeper3.5.0版本之后,zookeeper集群開始支持動態修改集群中的服務器配置,而修改的方式只需要通過zk提供的客戶端命令reconfig進行操作。可以通過rename命令對集群中的服務器進行增加、刪除,還可以改變服務器的端口配置以及服務器在集群中的角色,participant/observer。
而實現zookeeper進行動態配置的一個很重要的前提就是它將zookeeper的動態配置與靜態配置進行了分離,動態配置文件通過靜態配置文件中的dynamicConfigFile關鍵詞與動態配置文件進行鏈接。同樣的,zookeeper3.5之后的版本兼容舊版本的集群配置,使用舊版本配置,zookeeper服務器會將靜態文件中的動態部分自動分離出來。
編輯 zoo.cfg配置文件。
vim zoo.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data1/data/zookeeper/data
dataLogDir=/data1/data/zookeeper/logs
autopurge.purgeInterval=1
autopurge.snapRetainCount=10
extendedTypesEnabled=true
reconfigEnabled=true
standaloneEnabled=false
dynamicConfigFile=/app/zookeeper/conf/zoo.cfg.dynamic
特別注意:
從3.5.0開始clientPort和clientPortAddress配置參數不應該被使用,這些配置應該放在動態配置中進行配置。
配置說明:
zookeeper選填的配置項較多,其他配置項無需填寫直接默認即可,只需要配置上述選項。
tickTime:服務器與服務器之間、服務器與客戶端之間心跳檢查的時間間隔。同時它也是一個時間單位,initLimit和syncLimit參數都以該值作為時間單位
initLimit:集群中的follower服務器(F)與leader服務器(L)之間初始連接時能容忍的最多心跳數(tickTime的數量)。此處表示當已經超過5個心跳時間之后leader還沒收到follower的返回信息,則表示當前follower鏈接失敗。
syncLimit:這個配置項標識 Leader 與 Follower 之間發送消息,請求和應答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 2*2000=4 秒
dataDir:zookeeper保存快照數據的目錄,默認情況下,zookeeper將寫數據的日志也保留在這里。
dataLogDir:指定事務日志文件存放目錄。若沒指定該值,該日志寫在dataDir下
autopurge.snapRetainCount:指定自動清理快照文件和事務日志文件的時間,單位為小時,默認為0表示不自動清理,這個時候可以使用腳本zkCleanup.sh手動清理。不清理的結果是占用的磁盤空間越來越大。
autopurge.purgeInterval:指定保留快照文件和事務日志文件的個數,默認為3
extendedTypesEnabled:開啟zookeeper擴展功能,如果需要使用到zookeeper的ttl node功能,需要設置當前參數為true。
reconfigEnabled:從3.5.0開始,3.5.3之前,無法禁用動態重新配置功能。由於該功能的安全問題,所以在3.5.3之后,zookeeper引入了reconfigEnabled配置,默認情況下,該配置的默認值為false,即無法修改服務器配置,該種狀態下所有嘗試修改集群配置的命令將都會出錯。所以如果需要進行對服務器進行配置,必須將該字段的值設置為true。
standaloneEnabled:在3.5.0之前,可以在獨立模式或分布式模式下運行ZooKeeper。這些是單獨的實現堆棧,並且無法在運行時在它們之間進行切換。默認情況下(為了向后兼容),standaloneEnabled設置為 true。使用此默認值的結果是,如果以單個服務器啟動,則不允許集合增長,並且如果從多個服務器啟動,則不允許縮小以包含少於兩個參與者。將標志設置為false會指示系統運行分布式軟件堆棧,即使整體中只有一個參與者也是如此。
dynamicConfigFile:指定當前服務的動態配置。
zookeeper動態配置文件
此處配置文件統一放 conf 下。
touch /app/zookeeper/conf/zoo.cfg.dynamic
動態配置文件中填入以下配置:
在 conf 目錄下:
vim zoo.cfg.dynamic
server.1=VECS04851:2888:3888:participant;2181
server.2=VECS04852:2888:3888:participant;2181
server.3=VECS04853:2888:3888:participant;2181
配置參數說明:
server.<positive id> = <address1>:<port1>:<port2>[:role];[<client port address>:]<client port>
positive id:zk中的服務器id
address1:服務器ip地址
port1:服務器與集群中的leader交換信息的端口。
Port2: leader選舉專用端口
role:當前服務器在集群中的角色,該角色包括participant或者observer(默認是participant)。observer不參與選舉
client port address:客戶端端口ip,默認為0.0.0.0
client port:客戶端鏈接ip,2181。
/bin/zkEnv.sh配置修改
zookeeper的系統運行日志默認打印在zookeeper.out文件中,由於zookeeper.out文件不會滾動和自動清理,會導致文件越來越大,所以此處需要修改zkEnv.sh配置,使其系統日志強制輸出到日志文件中並支持滾動。
# 設置系統日志存放目錄,將下面命令直接放在zkEnv.sh的最后
export ZOO_LOG_DIR=/app/zookeeper/logs
# 設置日志輸出方式,在zkEnv.sh中尋找ZOO_LOG4J_PROP,將該值修改為:
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
conf/log4j.properties 配置修改
設置每個日志文件大小為1000M,滾動10個文件
log4j.appender.ROLLINGFILE.MaxFileSize=1000MB
log4j.appender.ROLLINGFILE.MaxBackupIndex=10
二,配置 zk 啟用kerberos。
在kerberos服務器vecs02583上,使用root用戶,在/root/keytabs目錄下,創建Zookeeper的principal
kadmin.local:
kadmin.local: listprincs
K/M@HADOOP.COM
kadmin/admin@HADOOP.COM
kadmin/changepw@HADOOP.COM
kadmin/vecs02583@HADOOP.COM
krbtgt/HADOOP.COM@HADOOP.COM
kadmin.local: addprinc -randkey zookeeper/vecs04851@HADOOP.COM
WARNING: no policy specified for zookeeper/vecs04851@HADOOP.COM; defaulting to no policy
Principal "zookeeper/vecs04851@HADOOP.COM" created.
kadmin.local: addprinc -randkey zookeeper/vecs04852@HADOOP.COM
WARNING: no policy specified for zookeeper/vecs04852@HADOOP.COM; defaulting to no policy
Principal "zookeeper/vecs04852@HADOOP.COM" created.
kadmin.local: addprinc -randkey zookeeper/vecs04853@HADOOP.COM
WARNING: no policy specified for zookeeper/vecs04853@HADOOP.COM; defaulting to no policy
Principal "zookeeper/vecs04853@HADOOP.COM" created.
kadmin.local: xst -k zookeeper.keytab zookeeper/vecs04851@HADOOP.COM
Entry for principal zookeeper/vecs04851@HADOOP.COM with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04851@HADOOP.COM with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04851@HADOOP.COM with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04851@HADOOP.COM with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04851@HADOOP.COM with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04851@HADOOP.COM with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:zookeeper.keytab.
kadmin.local: xst -k zookeeper.keytab zookeeper/vecs04852@HADOOP.COM
Entry for principal zookeeper/vecs04852@HADOOP.COM with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04852@HADOOP.COM with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04852@HADOOP.COM with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04852@HADOOP.COM with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04852@HADOOP.COM with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04852@HADOOP.COM with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:zookeeper.keytab.
kadmin.local: xst -k zookeeper.keytab zookeeper/vecs04853@HADOOP.COM
Entry for principal zookeeper/vecs04853@HADOOP.COM with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04853@HADOOP.COM with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04853@HADOOP.COM with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04853@HADOOP.COM with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04853@HADOOP.COM with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:zookeeper.keytab.
Entry for principal zookeeper/vecs04853@HADOOP.COM with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:zookeeper.keytab.
生成如下文件:(注意該文件權限賦予 400 且屬組用戶要匹配進程 啟動用戶)
root@VECS02583:~/keytabs# ls
zookeeper.keytab
root@VECS02583:~/keytabs# chown -R zookeeper:zookeeper zookeeper.keytab
root@VECS02583:~/keytabs# chmod 400 zookeeper.keytab
將該文件放到 zk 的 conf 的目錄下。
修改zoo.cfg,添加以下安全相關的配置
追加
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
jaasLoginRenew=3600000
在conf目錄創建java.env文件,添加以下內容
export JVMFLAGS="-Djava.security.auth.login.config=/app/zookeeper/conf/jaas.conf"
在conf目錄創建jaas.conf文件
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/app/zookeeper/conf/zookeeper.keytab"
storeKey=true
useTicketCache=false
principal="zookeeper/vecs4851@HADOOP.COM";
};
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/app/zookeeper/conf/zookeeper.keytab"
storeKey=true
useTicketCache=false
principal="zookeeper/vecs04851@HADOOP.COM";
};
注意:如果修改jaas.conf配置,則一定要重啟zkServer,否則會導致zkClient連不上,
可能是因為zkClinet和zkServer使用同一個jaas配置,實際zkClient應該配置自己的keytab用於訪問,
而不是配置成和Server一樣,可以在其他機器上面新建一個用戶作為訪問的客戶端。
將zookeeper拷貝到搭建節點
tar -zcf apache-zookeeper-3.5.7-bin.tar.gz apache-zookeeper-3.5.7-bin
salt -N zk cp.get_file salt://apache-zookeeper-3.5.7-bin.tar.gz /app/apache-zookeeper-3.5.7-bin.tar.gz
salt -N zk cmd.run "cd /app && tar -zxf apache-zookeeper-3.5.7-bin.tar.gz && ln -s apache-zookeeper-3.5.7-bin zookeeper"
salt -N zk cmd.run "cd /app && chown -R zookeeper:zookeeper apache-zookeeper-3.5.7-bin"
salt -N zk cmd.run "useradd zookeeper && mkdir -p /data1/data/zookeeper/data && mkdir -p /data1/data/zookeeper/logs && chown -R zookeeper:zookeeper /data1/data/zookeeper/"
還需要在zk data 目錄下 的myid 中加入zk 節點int 序號
salt VECS04851 cmd.run "su - zookeeper -c 'echo 1 > /data1/data/zookeeper/data/myid'"
salt VECS04852 cmd.run "su - zookeeper -c 'echo 2 > /data1/data/zookeeper/data/myid'"
salt VECS04853 cmd.run "su - zookeeper -c 'echo 3 > /data1/data/zookeeper/data/myid'"
zookeeper 進程使用 zookeeper 用戶啟動,
salt -N zk cmd.run "su - zookeeper - 'zkServer.sh start '"
啟動完畢 zookeeper 可以在 zk 節點上進入 zkCli
[18:58:53zookeeper@VECS04852 ~]$ zkCli.sh -server vecs04852:2181
Connecting to vecs04852:2181
2020-03-21 18:59:05,931 [myid:] - INFO [main:Environment@109] - Client environment:zookeeper.version=3.5.7-f0fdd52973d373ffd9c86b81d99842dc2c7f660e, built on 02/10/2020 11:30 GMT
2020-03-21 18:59:05,935 [myid:] - INFO [main:Environment@109] - Client environment:host.name=vecs04852
2020-03-21 18:59:05,935 [myid:] - INFO [main:Environment@109] - Client environment:java.version=1.8.0_92
2020-03-21 18:59:05,938 [myid:] - INFO [main:Environment@109] - Client environment:java.vendor=Oracle Corporation
2020-03-21 18:59:05,938 [myid:] - INFO [main:Environment@109] - Client environment:java.home=/data1/app/jdk1.8.0_92/jre
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:java.class.path=/app/zookeeper/bin/../zookeeper-server/target/classes:/app/zookeeper/bin/../build/classes:/app/zookeeper/bin/../zookeeper-server/target/lib/*.jar:/app/zookeeper/bin/../build/lib/*.jar:/app/zookeeper/bin/../lib/zookeeper-jute-3.5.7.jar:/app/zookeeper/bin/../lib/zookeeper-3.5.7.jar:/app/zookeeper/bin/../lib/slf4j-log4j12-1.7.25.jar:/app/zookeeper/bin/../lib/slf4j-api-1.7.25.jar:/app/zookeeper/bin/../lib/netty-transport-native-unix-common-4.1.45.Final.jar:/app/zookeeper/bin/../lib/netty-transport-native-epoll-4.1.45.Final.jar:/app/zookeeper/bin/../lib/netty-transport-4.1.45.Final.jar:/app/zookeeper/bin/../lib/netty-resolver-4.1.45.Final.jar:/app/zookeeper/bin/../lib/netty-handler-4.1.45.Final.jar:/app/zookeeper/bin/../lib/netty-common-4.1.45.Final.jar:/app/zookeeper/bin/../lib/netty-codec-4.1.45.Final.jar:/app/zookeeper/bin/../lib/netty-buffer-4.1.45.Final.jar:/app/zookeeper/bin/../lib/log4j-1.2.17.jar:/app/zookeeper/bin/../lib/json-simple-1.1.1.jar:/app/zookeeper/bin/../lib/jline-2.11.jar:/app/zookeeper/bin/../lib/jetty-util-9.4.24.v20191120.jar:/app/zookeeper/bin/../lib/jetty-servlet-9.4.24.v20191120.jar:/app/zookeeper/bin/../lib/jetty-server-9.4.24.v20191120.jar:/app/zookeeper/bin/../lib/jetty-security-9.4.24.v20191120.jar:/app/zookeeper/bin/../lib/jetty-io-9.4.24.v20191120.jar:/app/zookeeper/bin/../lib/jetty-http-9.4.24.v20191120.jar:/app/zookeeper/bin/../lib/javax.servlet-api-3.1.0.jar:/app/zookeeper/bin/../lib/jackson-databind-2.9.10.2.jar:/app/zookeeper/bin/../lib/jackson-core-2.9.10.jar:/app/zookeeper/bin/../lib/jackson-annotations-2.9.10.jar:/app/zookeeper/bin/../lib/commons-cli-1.2.jar:/app/zookeeper/bin/../lib/audience-annotations-0.5.0.jar:/app/zookeeper/bin/../zookeeper-*.jar:/app/zookeeper/bin/../zookeeper-server/src/main/resources/lib/*.jar:/app/zookeeper/bin/../conf:.:/app/jdk//lib/tools.jar:/app/jdk//lib/dt.jar
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:java.io.tmpdir=/tmp
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:java.compiler=<NA>
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:os.name=Linux
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:os.arch=amd64
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:os.version=2.6.32-754.27.1.el6.x86_64
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:user.name=zookeeper
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:user.home=/home/zookeeper
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:user.dir=/home/zookeeper
2020-03-21 18:59:05,939 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.free=115MB
2020-03-21 18:59:05,941 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.max=228MB
2020-03-21 18:59:05,941 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.total=121MB
2020-03-21 18:59:05,945 [myid:] - INFO [main:ZooKeeper@868] - Initiating client connection, connectString=vecs04852:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@58d25a40
2020-03-21 18:59:05,954 [myid:] - INFO [main:X509Util@79] - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation
2020-03-21 18:59:05,963 [myid:] - INFO [main:ClientCnxnSocket@237] - jute.maxbuffer value is 4194304 Bytes
2020-03-21 18:59:05,973 [myid:] - INFO [main:ClientCnxn@1653] - zookeeper.request.timeout value is 0. feature enabled=
Welcome to ZooKeeper!
JLine support is enabled
[zk: vecs04852:2181(CONNECTING) 0] 2020-03-21 18:59:06,305 [myid:vecs04852:2181] - INFO [main-SendThread(vecs04852:2181):Login@302] - Client successfully logged in.
2020-03-21 18:59:06,307 [myid:vecs04852:2181] - INFO [Thread-1:Login$1@135] - TGT refresh thread started.
2020-03-21 18:59:06,312 [myid:vecs04852:2181] - INFO [Thread-1:Login@320] - TGT valid starting at: Sat Mar 21 18:59:06 CST 2020
2020-03-21 18:59:06,312 [myid:vecs04852:2181] - INFO [Thread-1:Login@321] - TGT expires: Sun Mar 22 18:59:06 CST 2020
2020-03-21 18:59:06,313 [myid:vecs04852:2181] - INFO [Thread-1:Login$1@193] - TGT refresh sleeping until: Sun Mar 22 15:03:57 CST 2020
2020-03-21 18:59:06,313 [myid:vecs04852:2181] - INFO [main-SendThread(vecs04852:2181):SecurityUtils$1@128] - Client will use GSSAPI as SASL mechanism.
2020-03-21 18:59:06,327 [myid:vecs04852:2181] - INFO [main-SendThread(vecs04852:2181):ClientCnxn$SendThread@1112] - Opening socket connection to server vecs04852/10.111.30.248:2181. Will attempt to SASL-authenticate using Login Context section 'Client'
2020-03-21 18:59:06,335 [myid:vecs04852:2181] - INFO [main-SendThread(vecs04852:2181):ClientCnxn$SendThread@959] - Socket connection established, initiating session, client: /10.111.30.248:53206, server: vecs04852/10.111.30.248:2181
2020-03-21 18:59:06,368 [myid:vecs04852:2181] - INFO [main-SendThread(vecs04852:2181):ClientCnxn$SendThread@1394] - Session establishment complete on server vecs04852/10.111.30.248:2181, sessionid = 0x2004e17d3a30000, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
WATCHER::
WatchedEvent state:SaslAuthenticated type:None path:null
[zk: vecs04852:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: vecs04852:2181(CONNECTED) 1]