STORM_0001_用vmware拷贝出三个相同的ubuntu搭建小的zookeeper集群

时间:2022-02-15 22:29:43

第一次配置zookeeper的集群

因为想运行storm必须搭建集群
在自己的电脑上拷贝了自己的ubuntu虚拟机
采用的是vmware给虚拟机分配的地址
三个机器的配置基本上一样除了myid这个文件
看了这么久的一致,选举什么的也想试试这个过程的感觉

首先下载安装一个ubuntu
安装配置好jdk

下载zookeeper然后添加到~/.bashrc里面

 source ~/.bashrc
使得文件配置生效
echo $PATH
查看路径中有没有java和zookeeper需要的可执行文件的路径
 修改zookeeper的配置文件
jason@ubuntu:~/StormProcessing/zookeeper-3.4./conf$ ls
configuration.xsl log4j.properties zoo.cfg zoo.cfg~
jason@ubuntu:~/StormProcessing/zookeeper-3.4./conf$ cat zoo.cfg
# The number of milliseconds of each tick
tickTime=
# The number of ticks that the initial
# synchronization phase can take
initLimit=
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/jason/StormProcessing/data
dataLogDir=/home/jason/StormProcessing/log
# the port at which the clients will connect
clientPort=
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=
# Purge task interval in hours
# Set to "" to disable auto purge feature
#autopurge.purgeInterval= #其中2888表示这个服务器和集群中的leader交换信息的端口
#3888表示万一集群中的leader挂了,找到一个新的leader使用的通信端口
#在真正的集群中,几个服务器使用的端口是一样的,但是在伪集群方式中端口不能一样
server.=192.168.60.129::
server.=192.168.60.132::
server.=192.168.60.133::
#server.=127.0.0.1::
 新建一下
dataDir=/home/jason/StormProcessing/data
dataLogDir=/home/jason/StormProcessing/log
这两个文件夹

在data文件夹下面新建一个文本文件myid里面就写一个1

拷贝磁盘,做成单个虚拟机,分别改其中的myid为2,3,注意ip之间的对应

 jason@ubuntu:~/StormProcessing/zookeeper-3.4./bin$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/jason/StormProcessing/zookeeper-3.4./bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
分别启动三个虚拟机
然后随便查看一个得到下面的结果:
jason@ubuntu:~/StormProcessing/zookeeper-3.4./bin$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/jason/StormProcessing/zookeeper-3.4./bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
 运行这个
netstat -an |grep
得到空

查google有很多可能
第一是没新建data或者log文件夹,我没这问题
第二是配置文件错误,我也没问题
第三是启动脚本zkServer.sh中重复定义端口号,我也没问题(没动这个文件)

 查看自己的下面这个文件
jason@ubuntu:~/StormProcessing/zookeeper-3.4./bin$ cat zookeeper.out
nohup: 无法运行命令"/home/jason/StormProcessing/jdk1.8/bin/java": 权限不够

找到原因了
chmod 755 java
也不行

 受到参考文献2的启发用下面的后两个代替前两个就出现了正常的结果
./zkServer.sh start
./zkServer.sh status
sudo ./zkServer.sh start
sudo ./zkServer.sh status
 下面是server.
jason@ubuntu:~/StormProcessing/zookeeper-3.4./bin$ sudo ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/jason/StormProcessing/zookeeper-3.4./bin/../conf/zoo.cfg
Mode: follower
jason@ubuntu:~/StormProcessing/zookeeper-3.4./bin$ netstat -an |grep
tcp6 ::: :::* LISTEN
server.
jason@ubuntu:~/StormProcessing/zookeeper-3.4./bin$ sudo ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/jason/StormProcessing/zookeeper-3.4./bin/../conf/zoo.cfg
Mode: follower
server.
jason@ubuntu:~/StormProcessing/zookeeper-3.4./bin$ sudo ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/jason/StormProcessing/zookeeper-3.4./bin/../conf/zoo.cfg
Mode: leader

下面是新的成功的  zookeeper.out

 ason@ubuntu:~/StormProcessing/zookeeper-3.4./bin$ sudo cat zookeeper.out
-- ::, [myid:] - INFO [main:QuorumPeerConfig@] - Reading configuration from: /home/jason/StormProcessing/zookeeper-3.4./bin/../conf/zoo.cfg
-- ::, [myid:] - INFO [main:QuorumPeer$QuorumServer@] - Resolved hostname: 192.168.60.133 to address: /192.168.60.133
-- ::, [myid:] - INFO [main:QuorumPeer$QuorumServer@] - Resolved hostname: 192.168.60.132 to address: /192.168.60.132
-- ::, [myid:] - INFO [main:QuorumPeer$QuorumServer@] - Resolved hostname: 192.168.60.129 to address: /192.168.60.129
-- ::, [myid:] - INFO [main:QuorumPeerConfig@] - Defaulting to majority quorums
-- ::, [myid:] - INFO [main:DatadirCleanupManager@] - autopurge.snapRetainCount set to
-- ::, [myid:] - INFO [main:DatadirCleanupManager@] - autopurge.purgeInterval set to
-- ::, [myid:] - INFO [main:DatadirCleanupManager@] - Purge task is not scheduled.
-- ::, [myid:] - INFO [main:QuorumPeerMain@] - Starting quorum peer
-- ::, [myid:] - INFO [main:NIOServerCnxnFactory@] - binding to port 0.0.0.0/0.0.0.0:
-- ::, [myid:] - INFO [main:QuorumPeer@] - tickTime set to
-- ::, [myid:] - INFO [main:QuorumPeer@] - minSessionTimeout set to -
-- ::, [myid:] - INFO [main:QuorumPeer@] - maxSessionTimeout set to -
-- ::, [myid:] - INFO [main:QuorumPeer@] - initLimit set to
-- ::, [myid:] - INFO [main:QuorumPeer@] - currentEpoch not found! Creating with a reasonable default of . This should only happen when you are upgrading your installation
-- ::, [myid:] - INFO [main:QuorumPeer@] - acceptedEpoch not found! Creating with a reasonable default of . This should only happen when you are upgrading your installation
-- ::, [myid:] - INFO [ListenerThread:QuorumCnxManager$Listener@] - My election bind port: /192.168.60.129:
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::QuorumPeer@] - LOOKING
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::FastLeaderElection@] - New election. My id = , proposed zxid=0x0
-- ::, [myid:] - INFO [WorkerReceiver[myid=]:FastLeaderElection@] - Notification: (message format version), (n.leader), 0x0 (n.zxid), 0x1 (n.round), LOOKING (n.state), (n.sid), 0x0 (n.peerEpoch) LOOKING (my state)
-- ::, [myid:] - INFO [WorkerSender[myid=]:QuorumCnxManager@] - Have smaller server identifier, so dropping the connection: (, )
-- ::, [myid:] - INFO [WorkerSender[myid=]:QuorumCnxManager@] - Have smaller server identifier, so dropping the connection: (, )
-- ::, [myid:] - INFO [/192.168.60.129::QuorumCnxManager$Listener@] - Received connection request /192.168.60.132:
-- ::, [myid:] - INFO [WorkerReceiver[myid=]:FastLeaderElection@] - Notification: (message format version), (n.leader), 0x0 (n.zxid), 0x1 (n.round), LOOKING (n.state), (n.sid), 0x0 (n.peerEpoch) LOOKING (my state)
-- ::, [myid:] - INFO [WorkerReceiver[myid=]:FastLeaderElection@] - Notification: (message format version), (n.leader), 0x0 (n.zxid), 0x1 (n.round), LOOKING (n.state), (n.sid), 0x0 (n.peerEpoch) LOOKING (my state)
-- ::, [myid:] - INFO [WorkerSender[myid=]:QuorumCnxManager@] - Have smaller server identifier, so dropping the connection: (, )
-- ::, [myid:] - INFO [WorkerReceiver[myid=]:FastLeaderElection@] - Notification: (message format version), (n.leader), 0x0 (n.zxid), 0x1 (n.round), FOLLOWING (n.state), (n.sid), 0x1 (n.peerEpoch) LOOKING (my state)
-- ::, [myid:] - INFO [WorkerReceiver[myid=]:FastLeaderElection@] - Notification: (message format version), (n.leader), 0x0 (n.zxid), 0x1 (n.round), FOLLOWING (n.state), (n.sid), 0x1 (n.peerEpoch) LOOKING (my state)
-- ::, [myid:] - INFO [/192.168.60.129::QuorumCnxManager$Listener@] - Received connection request /192.168.60.133:
-- ::, [myid:] - INFO [/192.168.60.129::QuorumCnxManager$Listener@] - Received connection request /192.168.60.133:
-- ::, [myid:] - WARN [RecvWorker::QuorumCnxManager$RecvWorker@] - Connection broken for id , my id = , error =
java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:)
at org.apache.zookeeper.server.quorum.QuorumCnxManager$RecvWorker.run(QuorumCnxManager.java:)
-- ::, [myid:] - WARN [RecvWorker::QuorumCnxManager$RecvWorker@] - Interrupting SendWorker
-- ::, [myid:] - INFO [WorkerReceiver[myid=]:FastLeaderElection@] - Notification: (message format version), (n.leader), 0x0 (n.zxid), 0x1 (n.round), LOOKING (n.state), (n.sid), 0x0 (n.peerEpoch) LOOKING (my state)
-- ::, [myid:] - INFO [WorkerReceiver[myid=]:FastLeaderElection@] - Notification: (message format version), (n.leader), 0x0 (n.zxid), 0x1 (n.round), LEADING (n.state), (n.sid), 0x1 (n.peerEpoch) LOOKING (my state)
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::QuorumPeer@] - FOLLOWING
-- ::, [myid:] - WARN [SendWorker::QuorumCnxManager$SendWorker@] - Interrupted while waiting for message on queue
java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.pollSendQueue(QuorumCnxManager.java:)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.access$(QuorumCnxManager.java:)
at org.apache.zookeeper.server.quorum.QuorumCnxManager$SendWorker.run(QuorumCnxManager.java:)
-- ::, [myid:] - WARN [SendWorker::QuorumCnxManager$SendWorker@] - Send worker leaving thread
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::Learner@] - TCP NoDelay set to: true
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::Environment@] - Server environment:zookeeper.version=3.4.--, built on // : GMT
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::Environment@] - Server environment:host.name=ubuntu
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::Environment@] - Server environment:java.version=1.7.0_95
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::Environment@] - Server environment:java.vendor=Oracle Corporation
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::Environment@] - Server environment:java.home=/usr/lib/jvm/java--openjdk-i386/jre
-- ::, [myid:] - INFO [QuorumPeer[myid=]/:::::::::Environment@] - Server environment:java.class.path=/home/jason/StormProcessing/zookeeper-3.4./bin/../build/classes:/home/jason/StormProcessing/zookeeper-3.4./bin/../build/lib/*.jar:/home/jason/StormProcessing/zookeeper-3.4.8/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/jason/StormProcessing/zookeeper-3.4.8/bin/../lib/slf4j-api-1.6.1.jar:/home/jason/StormProcessing/zookeeper-3.4.8/bin/../lib/netty-3.7.0.Final.jar:/home/jason/StormProcessing/zookeeper-3.4.8/bin/../lib/log4j-1.2.16.jar:/home/jason/StormProcessing/zookeeper-3.4.8/bin/../lib/jline-0.9.94.jar:/home/jason/StormProcessing/zookeeper-3.4.8/bin/../zookeeper-3.4.8.jar:/home/jason/StormProcessing/zookeeper-3.4.8/bin/../src/java/lib/*.jar:/home/jason/StormProcessing/zookeeper-3.4.8/bin/../conf:
2016-05-25 13:21:30,166 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:java.library.path=/usr/java/packages/lib/i386:/usr/lib/i386-linux-gnu/jni:/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu:/usr/lib/jni:/lib:/usr/lib
2016-05-25 13:21:30,167 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:java.io.tmpdir=/tmp
2016-05-25 13:21:30,167 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:java.compiler=<NA>
2016-05-25 13:21:30,167 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:os.name=Linux
2016-05-25 13:21:30,167 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:os.arch=i386
2016-05-25 13:21:30,167 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:os.version=3.16.0-67-generic
2016-05-25 13:21:30,167 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:user.name=root
2016-05-25 13:21:30,167 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:user.home=/root
2016-05-25 13:21:30,167 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:user.dir=/home/jason/StormProcessing/zookeeper-3.4.8/bin
2016-05-25 13:21:30,169 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@170] - Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir /home/jason/StormProcessing/log/version-2 snapdir /home/jason/StormProcessing/data/version-2
2016-05-25 13:21:30,169 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Follower@63] - FOLLOWING - LEADER ELECTION TOOK - 112
2016-05-25 13:21:30,171 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumPeer$QuorumServer@149] - Resolved hostname: 192.168.60.133 to address: /192.168.60.133
2016-05-25 13:21:30,178 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Learner@329] - Getting a snapshot from leader
2016-05-25 13:21:30,183 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:FileTxnSnapLog@240] - Snapshotting: 0x100000000 to /home/jason/StormProcessing/data/version-2/snapshot.100000000
2016-05-25 13:22:13,622 [myid:1] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@192] - Accepted socket connection from /127.0.0.1:43640
2016-05-25 13:22:13,628 [myid:1] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@827] - Processing srvr command from /127.0.0.1:43640
2016-05-25 13:22:13,653 [myid:1] - INFO [Thread-1:NIOServerCnxn@1008] - Closed socket connection for client /127.0.0.1:43640 (no session established for client)
jason@ubuntu:~/StormProcessing/zookeeper-3.4.8/bin$

参考文献:
http://blog.csdn.net/crazycoder2010/article/details/8607310
http://rayfuxk.iteye.com/blog/2279596