久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Docker下安裝zookeeper(單機和集群)

瀏覽:9日期:2024-11-19 17:02:35

啟動Docker后,先看一下我們有哪些選擇。

Docker下安裝zookeeper(單機和集群)

有官方的當然選擇官方啦~

下載:

[root@localhost admin]# docker pull zookeeperUsing default tag: latestTrying to pull repository docker.io/library/zookeeper ...latest: Pulling from docker.io/library/zookeeper1ab2bdfe9778: Already exists7aaf9a088d61: Pull complete80a55c9c9fe8: Pull completea0086b0e6eec: Pull complete4165e7457cad: Pull completebcba13bcf3a1: Pull complete41c03a109e47: Pull complete4d5281c6b0d4: Pull completeDigest: sha256:175d6bb1471e1e37a48bfa41a9da047c80fade60fd585eae3a0e08a4ce1d39edStatus: Downloaded newer image for docker.io/zookeeper:latest

查看鏡像詳情

[root@localhost admin]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE192.168.192.128:443/hello-2 latest 0c24558dd388 42 hours ago 660 MB192.168.192.128:443/hello latest a3ba3d430bed 42 hours ago 660 MBdocker.io/nginxlatest 5a3221f0137b 13 days ago 126 MBdocker.io/zookeeper latest 3487af26dee9 13 days ago 225 MBdocker.io/registry latest f32a97de94e1 5 months ago 25.8 MBdocker.io/mongolatest 8bf72137439e 12 months ago 380 MBdocker.io/influxdb latest 34de2bdc2d7f 12 months ago 213 MBdocker.io/centos latest 5182e96772bf 12 months ago 200 MBdocker.io/grafana/grafana latest 3e16e05be9a3 13 months ago 245 MBdocker.io/hello-world latest 2cb0d9787c4d 13 months ago 1.85 kBdocker.io/javalatest d23bdf5b1b1b 2 years ago 643 MB[root@localhost admin]# docker inspect 3487af26dee9[ { 'Id': 'sha256:3487af26dee9ef9eacee9a97521bc4f0243bef0b285247258c32f4a03cab92c5', 'RepoTags': [ 'docker.io/zookeeper:latest' ], 'RepoDigests': [ 'docker.io/zookeeper@sha256:175d6bb1471e1e37a48bfa41a9da047c80fade60fd585eae3a0e08a4ce1d39ed' ], 'Parent': '', 'Comment': '', 'Created': '2019-08-15T06:10:50.178554969Z', 'Container': '9a38467115f1952161d6075135d5c5287967282b834cfe68183339c810f9652b', 'ContainerConfig': { 'Hostname': '9a38467115f1', 'Domainname': '', 'User': '', 'AttachStdin': false, 'AttachStdout': false, 'AttachStderr': false, 'ExposedPorts': {'2181/tcp': {},'2888/tcp': {},'3888/tcp': {},'8080/tcp': {} }, 'Tty': false, 'OpenStdin': false, 'StdinOnce': false, 'Env': ['PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/apache-zookeeper-3.5.5-bin/bin','LANG=C.UTF-8','JAVA_HOME=/usr/local/openjdk-8','JAVA_VERSION=8u222','JAVA_BASE_URL=https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_','JAVA_URL_VERSION=8u222b10','ZOO_CONF_DIR=/conf','ZOO_DATA_DIR=/data','ZOO_DATA_LOG_DIR=/datalog','ZOO_LOG_DIR=/logs','ZOO_TICK_TIME=2000','ZOO_INIT_LIMIT=5','ZOO_SYNC_LIMIT=2','ZOO_AUTOPURGE_PURGEINTERVAL=0','ZOO_AUTOPURGE_SNAPRETAINCOUNT=3','ZOO_MAX_CLIENT_CNXNS=60','ZOO_STANDALONE_ENABLED=true','ZOO_ADMINSERVER_ENABLED=true','ZOOCFGDIR=/conf' ], 'Cmd': ['/bin/sh','-c','#(nop) ','CMD ['zkServer.sh' 'start-foreground']' ], 'ArgsEscaped': true, 'Image': 'sha256:20bf3cc1bd5b5766b79da5265e94007d0802ce241df1636d0f63e211a79a0e3e', 'Volumes': {'/data': {},'/datalog': {},'/logs': {} }, 'WorkingDir': '/apache-zookeeper-3.5.5-bin', 'Entrypoint': ['/docker-entrypoint.sh' ], 'OnBuild': null, 'Labels': {} }, 'DockerVersion': '18.06.1-ce', 'Author': '', 'Config': { 'Hostname': '', 'Domainname': '', 'User': '', 'AttachStdin': false, 'AttachStdout': false, 'AttachStderr': false, 'ExposedPorts': {'2181/tcp': {},'2888/tcp': {},'3888/tcp': {},'8080/tcp': {} }, 'Tty': false, 'OpenStdin': false, 'StdinOnce': false, 'Env': ['PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/apache-zookeeper-3.5.5-bin/bin','LANG=C.UTF-8','JAVA_HOME=/usr/local/openjdk-8','JAVA_VERSION=8u222','JAVA_BASE_URL=https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_','JAVA_URL_VERSION=8u222b10','ZOO_CONF_DIR=/conf','ZOO_DATA_DIR=/data','ZOO_DATA_LOG_DIR=/datalog','ZOO_LOG_DIR=/logs','ZOO_TICK_TIME=2000','ZOO_INIT_LIMIT=5','ZOO_SYNC_LIMIT=2','ZOO_AUTOPURGE_PURGEINTERVAL=0','ZOO_AUTOPURGE_SNAPRETAINCOUNT=3','ZOO_MAX_CLIENT_CNXNS=60','ZOO_STANDALONE_ENABLED=true','ZOO_ADMINSERVER_ENABLED=true','ZOOCFGDIR=/conf' ], 'Cmd': ['zkServer.sh','start-foreground' ], 'ArgsEscaped': true, 'Image': 'sha256:20bf3cc1bd5b5766b79da5265e94007d0802ce241df1636d0f63e211a79a0e3e', 'Volumes': {'/data': {},'/datalog': {},'/logs': {} }, 'WorkingDir': '/apache-zookeeper-3.5.5-bin', 'Entrypoint': ['/docker-entrypoint.sh' ], 'OnBuild': null, 'Labels': null }, 'Architecture': 'amd64', 'Os': 'linux', 'Size': 225126346, 'VirtualSize': 225126346, 'GraphDriver': { 'Name': 'overlay2', 'Data': {'LowerDir': '/var/lib/docker/overlay2/92185ebf7638a7b34180cfb87795dd758405cbad4fd0139b92a227d1a4b61847/diff:/var/lib/docker/overlay2/8787e91f5c03a7c03cee072019eca49a0402a0a0902be39ed0b5d651a79cce35/diff:/var/lib/docker/overlay2/ce5864ddfa4d1478047aa9fcaa03744e8a4078ebe43b41e7836c96c54c724044/diff:/var/lib/docker/overlay2/fc99437bcfbabb9e8234c06c90d1c60e58c34ac053aff1adc368b7ad3a50c158/diff:/var/lib/docker/overlay2/1779297a8980830229bd4bf58bd741730956d6797332fd07b863a1b48dcb6fa2/diff:/var/lib/docker/overlay2/ee735aa3608d890ac4751dd93581a67cb54a5dd4714081e9d09d0ebd9dbc3501/diff:/var/lib/docker/overlay2/cf6b3cbc42f3c8d1fb09b29db0dafbb4dceb120925970ab8a3871eaa8562414c/diff','MergedDir': '/var/lib/docker/overlay2/a7fcc1b78c472cde943f20d1d4495f145308507b5fe3da8800c33dc4ce426156/merged','UpperDir': '/var/lib/docker/overlay2/a7fcc1b78c472cde943f20d1d4495f145308507b5fe3da8800c33dc4ce426156/diff','WorkDir': '/var/lib/docker/overlay2/a7fcc1b78c472cde943f20d1d4495f145308507b5fe3da8800c33dc4ce426156/work' } }, 'RootFS': { 'Type': 'layers', 'Layers': ['sha256:1c95c77433e8d7bf0f519c9d8c9ca967e2603f0defbf379130d9a841cca2e28e','sha256:2bf534399acac9c6b09a0b1d931223808000b04400a749f08187ed9ee435738d','sha256:eb25e0278d41b9ac637d8cb2e391457cf44ce8d2bfe0646d0c9faefc96413f91','sha256:e54bd3566d9ef3e1309a5af6caf8682f32c6ac4d6adfcbd3e601cfee4e2e0e85','sha256:c79435051d529a7b86f5f9fc32e7e2ec401929434e5596f02a2af731f55c9f28','sha256:76e0d7b2d700e6d17924b985703c7b5b84fb39ddcc0a1181b41217c2a11dffc4','sha256:eecdc37df6afd77091641588f9639f63b65e8eb141e56529e00da44419c5bd04','sha256:36e788f2d91a89375df5901f31cca33776f887c00ddfd3cf9f2466fa4cb794d6' ] } }]

默認拉取最新的是3.5.X版本,如果你需要3.4.X版本的,要指定標簽

Docker下安裝zookeeper(單機和集群)

單機

# 最后那個是鏡像的ID[root@localhost admin]# docker run -d -p 2181:2181 --name some-zookeeper --restart always 3487af26dee9d5c6f857cd88c342acf63dd58e838a4cdf912daa6c8c0115091147136e819307[root@localhost admin]# docker psCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMESd5c6f857cd88 3487af26dee9 '/docker-entrypoin...' 4 seconds ago Up 3 seconds 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp some-zookeeper[root@localhost admin]# docker exec -it d5c6f857cd88 bashroot@d5c6f857cd88:/apache-zookeeper-3.5.5-bin# ./bin/zkCli.shConnecting to localhost:21812019-08-29 07:15:21,623 [myid:] - INFO [main:Environment@109] - Client environment:zookeeper.version=3.5.5-390fe37ea45dee01bf87dc1c042b5e3dcce88653, built on 05/03/2019 12:07 GMT2019-08-29 07:15:21,679 [myid:] - INFO [main:Environment@109] - Client environment:host.name=d5c6f857cd882019-08-29 07:15:21,680 [myid:] - INFO [main:Environment@109] - Client environment:java.version=1.8.0_2222019-08-29 07:15:21,717 [myid:] - INFO [main:Environment@109] - Client environment:java.vendor=Oracle Corporation2019-08-29 07:15:21,718 [myid:] - INFO [main:Environment@109] - Client environment:java.home=/usr/local/openjdk-82019-08-29 07:15:21,725 [myid:] - INFO [main:Environment@109] - Client environment:java.class.path=/apache-zookeeper-3.5.5-bin/bin/../zookeeper-server/target/classes:/apache-zookeeper-3.5.5-bin/bin/../build/classes:/apache-zookeeper-3.5.5-bin/bin/../zookeeper-server/target/lib/*.jar:/apache-zookeeper-3.5.5-bin/bin/../build/lib/*.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/zookeeper-jute-3.5.5.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/zookeeper-3.5.5.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/slf4j-log4j12-1.7.25.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/slf4j-api-1.7.25.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/netty-all-4.1.29.Final.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/log4j-1.2.17.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/json-simple-1.1.1.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jline-2.11.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jetty-util-9.4.17.v20190418.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jetty-servlet-9.4.17.v20190418.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jetty-server-9.4.17.v20190418.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jetty-security-9.4.17.v20190418.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jetty-io-9.4.17.v20190418.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jetty-http-9.4.17.v20190418.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/javax.servlet-api-3.1.0.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jackson-databind-2.9.8.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jackson-core-2.9.8.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/jackson-annotations-2.9.0.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/commons-cli-1.2.jar:/apache-zookeeper-3.5.5-bin/bin/../lib/audience-annotations-0.5.0.jar:/apache-zookeeper-3.5.5-bin/bin/../zookeeper-*.jar:/apache-zookeeper-3.5.5-bin/bin/../zookeeper-server/src/main/resources/lib/*.jar:/conf:2019-08-29 07:15:22,108 [myid:] - INFO [main:Environment@109] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib2019-08-29 07:15:22,109 [myid:] - INFO [main:Environment@109] - Client environment:java.io.tmpdir=/tmp2019-08-29 07:15:22,109 [myid:] - INFO [main:Environment@109] - Client environment:java.compiler=<NA>2019-08-29 07:15:22,109 [myid:] - INFO [main:Environment@109] - Client environment:os.name=Linux2019-08-29 07:15:22,109 [myid:] - INFO [main:Environment@109] - Client environment:os.arch=amd642019-08-29 07:15:22,110 [myid:] - INFO [main:Environment@109] - Client environment:os.version=3.10.0-862.9.1.el7.x86_642019-08-29 07:15:22,110 [myid:] - INFO [main:Environment@109] - Client environment:user.name=root2019-08-29 07:15:22,110 [myid:] - INFO [main:Environment@109] - Client environment:user.home=/root2019-08-29 07:15:22,110 [myid:] - INFO [main:Environment@109] - Client environment:user.dir=/apache-zookeeper-3.5.5-bin2019-08-29 07:15:22,118 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.free=11MB2019-08-29 07:15:22,148 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.max=247MB2019-08-29 07:15:22,148 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.total=15MB2019-08-29 07:15:22,206 [myid:] - INFO [main:ZooKeeper@868] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@3b95a09c2019-08-29 07:15:22,239 [myid:] - INFO [main:X509Util@79] - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation2019-08-29 07:15:22,285 [myid:] - INFO [main:ClientCnxnSocket@237] - jute.maxbuffer value is 4194304 Bytes2019-08-29 07:15:22,366 [myid:] - INFO [main:ClientCnxn@1653] - zookeeper.request.timeout value is 0. feature enabled=Welcome to ZooKeeper!JLine support is enabled2019-08-29 07:15:22,563 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1112] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)2019-08-29 07:15:23,443 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@959] - Socket connection established, initiating session, client: /0:0:0:0:0:0:0:1:37198, server: localhost/0:0:0:0:0:0:0:1:21812019-08-29 07:15:23,520 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1394] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x10001216d990000, negotiated timeout = 30000 WATCHER:: WatchedEvent state:SyncConnected type:None path:null[zk: localhost:2181(CONNECTED) 0] ls /[zookeeper][zk: localhost:2181(CONNECTED) 1] quit WATCHER:: WatchedEvent state:Closed type:None path:null2019-08-29 07:15:37,042 [myid:] - INFO [main:ZooKeeper@1422] - Session: 0x10001216d990000 closed2019-08-29 07:15:37,043 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@524] - EventThread shut down for session: 0x10001216d990000root@d5c6f857cd88:/apache-zookeeper-3.5.5-bin# exitexit[root@localhost admin]#

在外部訪問(192.168.192.128:2181)

Docker下安裝zookeeper(單機和集群)

集群

環境:單臺宿主機(192.168.192.128),啟動三個zookeeper容器。

這里涉及一個問題,就是Docker容器之間通信的問題,這個很重要!

Docker下安裝zookeeper(單機和集群)

Docker有三種網絡模式,bridge、host、none,在你創建容器的時候,不指定--network默認是bridge。

bridge:為每一個容器分配IP,并將容器連接到一個docker0虛擬網橋,通過docker0網橋與宿主機通信。也就是說,此模式下,你不能用宿主機的IP+容器映射端口來進行Docker容器之間的通信。

host:容器不會虛擬自己的網卡,配置自己的IP,而是使用宿主機的IP和端口。這樣一來,Docker容器之間的通信就可以用宿主機的IP+容器映射端口

none:無網絡。

=====================================================

先在本地創建目錄:

[root@localhost admin]# mkdir /usr/local/zookeeper-cluster[root@localhost admin]# mkdir /usr/local/zookeeper-cluster/node1[root@localhost admin]# mkdir /usr/local/zookeeper-cluster/node2[root@localhost admin]# mkdir /usr/local/zookeeper-cluster/node3[root@localhost admin]# ll /usr/local/zookeeper-cluster/total 0drwxr-xr-x. 2 root root 6 Aug 28 23:02 node1drwxr-xr-x. 2 root root 6 Aug 28 23:02 node2drwxr-xr-x. 2 root root 6 Aug 28 23:02 node3

然后執行命令啟動

docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --name zookeeper_node1 --privileged --restart always -v /usr/local/zookeeper-cluster/node1/volumes/data:/data -v /usr/local/zookeeper-cluster/node1/volumes/datalog:/datalog -v /usr/local/zookeeper-cluster/node1/volumes/logs:/logs -e ZOO_MY_ID=1 -e 'ZOO_SERVERS=server.1=192.168.192.128:2888:3888;2181 server.2=192.168.192.128:2889:3889;2182 server.3=192.168.192.128:2890:3890;2183' 3487af26dee9docker run -d -p 2182:2181 -p 2889:2888 -p 3889:3888 --name zookeeper_node2 --privileged --restart always -v /usr/local/zookeeper-cluster/node2/volumes/data:/data -v /usr/local/zookeeper-cluster/node2/volumes/datalog:/datalog -v /usr/local/zookeeper-cluster/node2/volumes/logs:/logs -e ZOO_MY_ID=2 -e 'ZOO_SERVERS=server.1=192.168.192.128:2888:3888;2181 server.2=192.168.192.128:2889:3889;2182 server.3=192.168.192.128:2890:3890;2183' 3487af26dee9docker run -d -p 2183:2181 -p 2890:2888 -p 3890:3888 --name zookeeper_node3 --privileged --restart always -v /usr/local/zookeeper-cluster/node3/volumes/data:/data -v /usr/local/zookeeper-cluster/node3/volumes/datalog:/datalog -v /usr/local/zookeeper-cluster/node3/volumes/logs:/logs -e ZOO_MY_ID=3 -e 'ZOO_SERVERS=server.1=192.168.192.128:2888:3888;2181 server.2=192.168.192.128:2889:3889;2182 server.3=192.168.192.128:2890:3890;2183' 3487af26dee9

【坑】

乍一看,沒什么問題啊,首先映射端口到宿主機,然后三個zookeeper之間的訪問地址則是宿主機IP:映射端口,沒毛病啊;

看我前面講的網絡模式就能看出問題,ZOO_SERVERS里面的IP有問題,犯這個錯誤都是不了解Docker的網絡模式的。什么錯誤往下看。

關于ZOO_SERVERS

Docker下安裝zookeeper(單機和集群)

什么意思呢,3.5.0開始,不應該再使用clientPort和clientPortAddress配置參數。相反,這些信息現在是server關鍵字規范的一部分。

端口映射三個容器不一樣,比如2181/2182/2183,因為是一臺宿主機嘛,端口不能沖突,如果你不在同一臺機器,就不用修改端口。

最后的那個參數是鏡像ID,也可以是鏡像名稱:TAG。

--privileged=true參數是為了解決【chown: changing ownership of ’/data’: Permission denied】,也可以省略true

執行結果:

[root@localhost admin]# docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --name zookeeper_node1 --privileged --restart always > -v /usr/local/zookeeper-cluster/node1/volumes/data:/data > -v /usr/local/zookeeper-cluster/node1/volumes/datalog:/datalog > -v /usr/local/zookeeper-cluster/node1/volumes/logs:/logs > -e ZOO_MY_ID=1 > -e 'ZOO_SERVERS=server.1=192.168.192.128:2888:3888;2181 server.2=192.168.192.128:2889:3889;2182 server.3=192.168.192.128:2890:3890;2183' 3487af26dee94bfa6bbeb936037e178a577e5efbd06d4a963e91d67274413b933fd189917776[root@localhost admin]# docker run -d -p 2182:2181 -p 2889:2888 -p 3889:3888 --name zookeeper_node2 --privileged --restart always > -v /usr/local/zookeeper-cluster/node2/volumes/data:/data > -v /usr/local/zookeeper-cluster/node2/volumes/datalog:/datalog > -v /usr/local/zookeeper-cluster/node2/volumes/logs:/logs > -e ZOO_MY_ID=2 > -e 'ZOO_SERVERS=server.1=192.168.192.128:2888:3888;2181 server.2=192.168.192.128:2889:3889;2182 server.3=192.168.192.128:2890:3890;2183' 3487af26dee9dbb7f1f323a09869d043152a4995e73bad5f615fd81bf11143fd1c28180f9869[root@localhost admin]# docker run -d -p 2183:2181 -p 2890:2888 -p 3890:3888 --name zookeeper_node3 --privileged --restart always > -v /usr/local/zookeeper-cluster/node3/volumes/data:/data > -v /usr/local/zookeeper-cluster/node3/volumes/datalog:/datalog > -v /usr/local/zookeeper-cluster/node3/volumes/logs:/logs > -e ZOO_MY_ID=3 > -e 'ZOO_SERVERS=server.1=192.168.192.128:2888:3888;2181 server.2=192.168.192.128:2889:3889;2182 server.3=192.168.192.128:2890:3890;2183' 3487af26dee96dabae1d92f0e861cc7515c014c293f80075c2762b254fc56312a6d3b450a919[root@localhost admin]#

查看啟動的容器

[root@localhost admin]# docker psCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMES6dabae1d92f0 3487af26dee9 '/docker-entrypoin...' 31 seconds ago Up 29 seconds 8080/tcp, 0.0.0.0:2183->2181/tcp, 0.0.0.0:2890->2888/tcp, 0.0.0.0:3890->3888/tcp zookeeper_node3dbb7f1f323a0 3487af26dee9 '/docker-entrypoin...' 36 seconds ago Up 35 seconds 8080/tcp, 0.0.0.0:2182->2181/tcp, 0.0.0.0:2889->2888/tcp, 0.0.0.0:3889->3888/tcp zookeeper_node24bfa6bbeb936 3487af26dee9 '/docker-entrypoin...' 46 seconds ago Up 45 seconds 0.0.0.0:2181->2181/tcp, 0.0.0.0:2888->2888/tcp, 0.0.0.0:3888->3888/tcp, 8080/tcp zookeeper_node1[root@localhost admin]#

不是說有錯誤嗎?怎么還啟動成功了??我們來看下節點1的啟動日志

[root@localhost admin]# docker logs -f 4bfa6bbeb936ZooKeeper JMX enabled by default...2019-08-29 09:20:22,665 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@677] - Cannot open channel to 2 at election address /192.168.192.128:3889java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:648) at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:705) at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:618) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:477) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:456) at java.lang.Thread.run(Thread.java:748)2019-08-29 09:20:22,666 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@677] - Cannot open channel to 3 at election address /192.168.192.128:3890java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:648) at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:705) at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:618) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:477) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:456) at java.lang.Thread.run(Thread.java:748)

連接不上2 和 3,為什么呢,因為在默認的Docker網絡模式下,通過宿主機的IP+映射端口,根本找不到啊!他們有自己的IP啊!如下:

[root@localhost admin]# docker psCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMES6dabae1d92f0 3487af26dee9 '/docker-entrypoin...' 5 minutes ago Up 5 minutes 8080/tcp, 0.0.0.0:2183->2181/tcp, 0.0.0.0:2890->2888/tcp, 0.0.0.0:3890->3888/tcp zookeeper_node3dbb7f1f323a0 3487af26dee9 '/docker-entrypoin...' 6 minutes ago Up 6 minutes 8080/tcp, 0.0.0.0:2182->2181/tcp, 0.0.0.0:2889->2888/tcp, 0.0.0.0:3889->3888/tcp zookeeper_node24bfa6bbeb936 3487af26dee9 '/docker-entrypoin...' 6 minutes ago Up 6 minutes 0.0.0.0:2181->2181/tcp, 0.0.0.0:2888->2888/tcp, 0.0.0.0:3888->3888/tcp, 8080/tcp zookeeper_node1[root@localhost admin]# docker inspect 4bfa6bbeb936 'Networks': {'bridge': { 'IPAMConfig': null, 'Links': null, 'Aliases': null, 'NetworkID': '5fc1ce4362afe3d34fdf260ab0174c36fe4b7daf2189702eae48101a755079f3', 'EndpointID': '368237e4c903cc663111f1fe33ac4626a9100fb5a22aec85f5eccbc6968a1631', 'Gateway': '172.17.0.1', 'IPAddress': '172.17.0.2', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '02:42:ac:11:00:02'} } } }][root@localhost admin]# docker inspect dbb7f1f323a0 'Networks': {'bridge': { 'IPAMConfig': null, 'Links': null, 'Aliases': null, 'NetworkID': '5fc1ce4362afe3d34fdf260ab0174c36fe4b7daf2189702eae48101a755079f3', 'EndpointID': '8a9734044a566d5ddcd7cbbf6661abb2730742f7c73bd8733ede9ed8ef106659', 'Gateway': '172.17.0.1', 'IPAddress': '172.17.0.3', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '02:42:ac:11:00:03'} } } }][root@localhost admin]# docker inspect 6dabae1d92f0 'Networks': {'bridge': { 'IPAMConfig': null, 'Links': null, 'Aliases': null, 'NetworkID': '5fc1ce4362afe3d34fdf260ab0174c36fe4b7daf2189702eae48101a755079f3', 'EndpointID': 'b10329b9940a07aacb016d8d136511ec388de02bf3bd0e0b50f7f4cbb7f138ec', 'Gateway': '172.17.0.1', 'IPAddress': '172.17.0.4', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '02:42:ac:11:00:04'} } } }]

node1---172.17.0.2node2---172.17.0.3node3---172.17.0.4

既然我們知道了它有自己的IP,那又出現另一個問題了,就是它的ip是動態的,啟動之前我們無法得知。有個解決辦法就是創建自己的bridge網絡,然后創建容器的時候指定ip。

【正確方式開始】

[root@localhost admin]# docker network create --driver bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 zoonet8257c501652a214d27efdf5ef71ff38bfe222c3a2a7898be24b8df9db1fb3b13[root@localhost admin]# docker network lsNETWORK ID NAMEDRIVER SCOPE5fc1ce4362af bridge bridge local6aa33e21444e hosthostlocal20e563b93ce9 nonenulllocal8257c501652a zoonet bridge local[root@localhost admin]# docker network inspect 8257c501652a[ { 'Name': 'zoonet', 'Id': '8257c501652a214d27efdf5ef71ff38bfe222c3a2a7898be24b8df9db1fb3b13', 'Created': '2019-08-29T06:08:01.442601483-04:00', 'Scope': 'local', 'Driver': 'bridge', 'EnableIPv6': false, 'IPAM': { 'Driver': 'default', 'Options': {}, 'Config': [{ 'Subnet': '172.18.0.0/16', 'Gateway': '172.18.0.1'} ] }, 'Internal': false, 'Attachable': false, 'Containers': {}, 'Options': {}, 'Labels': {} }]

然后我們修改一下zookeeper容器的創建命令。

docker run -d -p 2181:2181 --name zookeeper_node1 --privileged --restart always --network zoonet --ip 172.18.0.2 -v /usr/local/zookeeper-cluster/node1/volumes/data:/data -v /usr/local/zookeeper-cluster/node1/volumes/datalog:/datalog -v /usr/local/zookeeper-cluster/node1/volumes/logs:/logs -e ZOO_MY_ID=1 -e 'ZOO_SERVERS=server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181' 3487af26dee9docker run -d -p 2182:2181 --name zookeeper_node2 --privileged --restart always --network zoonet --ip 172.18.0.3 -v /usr/local/zookeeper-cluster/node2/volumes/data:/data -v /usr/local/zookeeper-cluster/node2/volumes/datalog:/datalog -v /usr/local/zookeeper-cluster/node2/volumes/logs:/logs -e ZOO_MY_ID=2 -e 'ZOO_SERVERS=server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181' 3487af26dee9docker run -d -p 2183:2181 --name zookeeper_node3 --privileged --restart always --network zoonet --ip 172.18.0.4 -v /usr/local/zookeeper-cluster/node3/volumes/data:/data -v /usr/local/zookeeper-cluster/node3/volumes/datalog:/datalog -v /usr/local/zookeeper-cluster/node3/volumes/logs:/logs -e ZOO_MY_ID=3 -e 'ZOO_SERVERS=server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181' 3487af26dee9

1. 由于2888 、3888不需要暴露,就不映射了;

2. 指定自己的網絡,并指定IP;

3. 每個容器之間環境是隔離的,所以容器內所用的端口一樣:2181/2888/3888

Docker下安裝zookeeper(單機和集群)

運行結果:

[root@localhost admin]# docker run -d -p 2181:2181 --name zookeeper_node1 --privileged --restart always --network zoonet --ip 172.18.0.2 > -v /usr/local/zookeeper-cluster/node1/volumes/data:/data > -v /usr/local/zookeeper-cluster/node1/volumes/datalog:/datalog > -v /usr/local/zookeeper-cluster/node1/volumes/logs:/logs > -e ZOO_MY_ID=1 > -e 'ZOO_SERVERS=server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181' 3487af26dee950c07cf11fab2d3b4da6d8ce48d8ed4a7beaab7d51dd542b8309f781e9920c36[root@localhost admin]# docker run -d -p 2182:2181 --name zookeeper_node2 --privileged --restart always --network zoonet --ip 172.18.0.3 > -v /usr/local/zookeeper-cluster/node2/volumes/data:/data > -v /usr/local/zookeeper-cluster/node2/volumes/datalog:/datalog > -v /usr/local/zookeeper-cluster/node2/volumes/logs:/logs > -e ZOO_MY_ID=2 > -e 'ZOO_SERVERS=server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181' 3487af26dee9649a4dbfb694504acfe4b8e11b990877964477bb41f8a230bd191cba7d20996f[root@localhost admin]# docker run -d -p 2183:2181 --name zookeeper_node3 --privileged --restart always --network zoonet --ip 172.18.0.4 > -v /usr/local/zookeeper-cluster/node3/volumes/data:/data > -v /usr/local/zookeeper-cluster/node3/volumes/datalog:/datalog > -v /usr/local/zookeeper-cluster/node3/volumes/logs:/logs > -e ZOO_MY_ID=3 > -e 'ZOO_SERVERS=server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181' 3487af26dee9c8bc1b9ae9adf86e9c7f6a3264f883206c6d0e4f6093db3200de80ef39f57160[root@localhost admin]# docker psCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMESc8bc1b9ae9ad 3487af26dee9 '/docker-entrypoin...' 17 seconds ago Up 16 seconds 2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2183->2181/tcp zookeeper_node3649a4dbfb694 3487af26dee9 '/docker-entrypoin...' 22 seconds ago Up 21 seconds 2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2182->2181/tcp zookeeper_node250c07cf11fab 3487af26dee9 '/docker-entrypoin...' 33 seconds ago Up 32 seconds 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp zookeeper_node1[root@localhost admin]#

進入容器內部驗證一下:

[root@localhost admin]# docker exec -it 50c07cf11fab bashroot@50c07cf11fab:/apache-zookeeper-3.5.5-bin# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /conf/zoo.cfgClient port found: 2181. Client address: localhost.Mode: followerroot@50c07cf11fab:/apache-zookeeper-3.5.5-bin# exitexit[root@localhost admin]# docker exec -it 649a4dbfb694 bashroot@649a4dbfb694:/apache-zookeeper-3.5.5-bin# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /conf/zoo.cfgClient port found: 2181. Client address: localhost.Mode: leaderroot@649a4dbfb694:/apache-zookeeper-3.5.5-bin# exitexit[root@localhost admin]# docker exec -it c8bc1b9ae9ad bashroot@c8bc1b9ae9ad:/apache-zookeeper-3.5.5-bin# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /conf/zoo.cfgClient port found: 2181. Client address: localhost.Mode: followerroot@c8bc1b9ae9ad:/apache-zookeeper-3.5.5-bin# exitexit[root@localhost admin]#

在驗證一下創建節點

Docker下安裝zookeeper(單機和集群)

開啟防火墻,以供外部訪問

firewall-cmd --zone=public --add-port=2181/tcp --permanentfirewall-cmd --zone=public --add-port=2182/tcp --permanentfirewall-cmd --zone=public --add-port=2183/tcp --permanentsystemctl restart firewalldfirewall-cmd --list-all

在本地,我用zookeeper的客戶端連接虛擬機上的集群:

Docker下安裝zookeeper(單機和集群)

可以看到連接成功!

Docker下安裝zookeeper(單機和集群)

集群安裝方式二:通過docker stack deploy或docker-compose安裝

這里用docker-compose。先安裝docker-compose

[root@localhost admin]# curl -L 'https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)' -o /usr/local/bin/docker-compose % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 617 0 617 0 0 145 0 --:--:-- 0:00:04 --:--:-- 145100 15.4M 100 15.4M 0 0 131k 0 0:02:00 0:02:00 --:--:-- 136k[root@localhost admin]# chmod +x /usr/local/bin/docker-compose

檢查版本(驗證是否安裝成功)

[root@localhost admin]# docker-compose --versiondocker-compose version 1.24.1, build 4667896b

卸載的話

rm /usr/local/bin/docker-compose

開始配置,新建三個掛載目錄

[root@localhost admin]# mkdir /usr/local/zookeeper-cluster/node4[root@localhost admin]# mkdir /usr/local/zookeeper-cluster/node5[root@localhost admin]# mkdir /usr/local/zookeeper-cluster/node6

新建任意目錄,然后在里面新建一個文件

[root@localhost admin]# mkdir DockerComposeFolder[root@localhost admin]# cd DockerComposeFolder/[root@localhost DockerComposeFolder]# vim docker-compose.yml

文件內容如下:(自定義網絡見上面)

version: ’3.1’services: zoo1: image: zookeeper restart: always privileged: true hostname: zoo1 ports: - 2181:2181 volumes: # 掛載數據 - /usr/local/zookeeper-cluster/node4/data:/data - /usr/local/zookeeper-cluster/node4/datalog:/datalog environment: ZOO_MY_ID: 4 ZOO_SERVERS: server.4=0.0.0.0:2888:3888;2181 server.5=zoo2:2888:3888;2181 server.6=zoo3:2888:3888;2181 networks: default: ipv4_address: 172.18.0.14 zoo2: image: zookeeper restart: always privileged: true hostname: zoo2 ports: - 2182:2181 volumes: # 掛載數據 - /usr/local/zookeeper-cluster/node5/data:/data - /usr/local/zookeeper-cluster/node5/datalog:/datalog environment: ZOO_MY_ID: 5 ZOO_SERVERS: server.4=zoo1:2888:3888;2181 server.5=0.0.0.0:2888:3888;2181 server.6=zoo3:2888:3888;2181 networks: default: ipv4_address: 172.18.0.15 zoo3: image: zookeeper restart: always privileged: true hostname: zoo3 ports: - 2183:2181 volumes: # 掛載數據 - /usr/local/zookeeper-cluster/node6/data:/data - /usr/local/zookeeper-cluster/node6/datalog:/datalog environment: ZOO_MY_ID: 6 ZOO_SERVERS: server.4=zoo1:2888:3888;2181 server.5=zoo2:2888:3888;2181 server.6=0.0.0.0:2888:3888;2181 networks: default: ipv4_address: 172.18.0.16networks: # 自定義網絡 default: external: name: zoonet

注意yaml文件里不能有tab,只能有空格。

關于version與Docker版本的關系如下:

Docker下安裝zookeeper(單機和集群)

然后執行(-d后臺啟動)

docker-compose -f docker-compose.yml up -d

Docker下安裝zookeeper(單機和集群)

查看已啟動的容器

[root@localhost DockerComposeFolder]# docker psCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMESa2c14814037d zookeeper '/docker-entrypoin...' 6 minutes ago Up About a minute 2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2183->2181/tcp dockercomposefolder_zoo3_150310229b216 zookeeper '/docker-entrypoin...' 6 minutes ago Up About a minute 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp dockercomposefolder_zoo1_1475d8a9e2d08 zookeeper '/docker-entrypoin...' 6 minutes ago Up About a minute 2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2182->2181/tcp dockercomposefolder_zoo2_1

進入一個容器

[root@localhost DockerComposeFolder]# docker exec -it a2c14814037d bashroot@zoo3:/apache-zookeeper-3.5.5-bin# ./bin/zkCli.shConnecting to localhost:2181....WatchedEvent state:SyncConnected type:None path:null[zk: localhost:2181(CONNECTED) 0] [zk: localhost:2181(CONNECTED) 1] ls /[zookeeper][zk: localhost:2181(CONNECTED) 2] create /hiCreated /hi[zk: localhost:2181(CONNECTED) 3] ls /[hi, zookeeper]

進入另一個容器

[root@localhost DockerComposeFolder]# docker exec -it 50310229b216 bashroot@zoo1:/apache-zookeeper-3.5.5-bin# ./bin/zkCli.shConnecting to localhost:2181...WatchedEvent state:SyncConnected type:None path:null[zk: localhost:2181(CONNECTED) 0] ls /[hi, zookeeper]

本地客戶端連接集群:

zkCli.cmd -server 192.168.192.128:2181,192.168.192.128:2182,192.168.192.128:2183

Docker下安裝zookeeper(單機和集群)

查看

Docker下安裝zookeeper(單機和集群)

停止所有活動容器

Docker下安裝zookeeper(單機和集群)

刪除所有已停止的容器

Docker下安裝zookeeper(單機和集群)

更多docker-compose的命令:

[root@localhost DockerComposeFolder]# docker-compose --helpDefine and run multi-container applications with Docker.Usage: docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...] docker-compose -h|--helpOptions: -f, --file FILE Specify an alternate compose file (default: docker-compose.yml) -p, --project-name NAME Specify an alternate project name (default: directory name) --verbose Show more output --log-level LEVEL Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL) --no-ansi Do not print ANSI control characters -v, --versionPrint version and exit -H, --host HOST Daemon socket to connect to --tls Use TLS; implied by --tlsverify --tlscacert CA_PATH Trust certs signed only by this CA --tlscert CLIENT_CERT_PATH Path to TLS certificate file --tlskey TLS_KEY_PATH Path to TLS key file --tlsverify Use TLS and verify the remote --skip-hostname-check Don’t check the daemon’s hostname against the name specified in the client certificate --project-directory PATH Specify an alternate working directory (default: the path of the Compose file) --compatibility If set, Compose will attempt to convert keys in v3 files to their non-Swarm equivalentCommands: build Build or rebuild services bundle Generate a Docker bundle from the Compose file config Validate and view the Compose file create Create services downStop and remove containers, networks, images, and volumes events Receive real time events from containers execExecute a command in a running container helpGet help on a command images List images killKill containers logsView output from containers pause Pause services portPrint the public port for a port binding ps List containers pullPull service images pushPush service images restart Restart services rm Remove stopped containers runRun a one-off command scale Set number of containers for a service start Start services stopStop services topDisplay the running processes unpause Unpause services up Create and start containers version Show the Docker-Compose version information

到此這篇關于Docker下安裝zookeeper(單機和集群)的文章就介紹到這了,更多相關Docker安裝zookeeper內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Docker
相關文章:
主站蜘蛛池模板: 草草网 | 亚洲国产成人久久一区二区三区 | 亚洲欧美韩国 | 亚洲综合欧美日韩 | 日韩精品视频在线观看免费 | 久久久久久极品 | 国产亚洲成av人片在线观看桃 | 午夜视频在线 | 国产黄色免费网站 | 日韩在线国产 | 九一视频在线免费观看 | 欧美日韩精品一区 | 亚洲一区| 一区二区三区在线免费 | 另类一区| 成人爽a毛片一区二区免费 美女高潮久久久 | 日本不卡免费新一二三区 | 成人av网址在线观看 | а天堂中文官网 | 中文字幕一区在线观看视频 | 97国产资源| 国产a视频 | 国产精品99一区二区三区 | av免费在线播放 | 亚洲啊v | 欧美精品一区二区在线观看 | 久久精品99国产精品日本 | 精品亚洲一区二区三区 | 国产精品二区三区 | 国产亚洲一区二区三区 | 欧美精品一区二区三区四区 | 国产精品国色综合久久 | 国产精品视频入口 | 日日摸夜夜添夜夜添高潮视频 | 日本不卡精品 | 成人片免费看 | 亚洲综合大片69999 | 91九色麻豆 | 国产二区三区 | 中文字幕avav | 精品国产一区二区在线 | 亚洲成人av在线 | 在线观看精品91福利 | 欧美一级毛片日韩一级 | 国产91在线播放精品 | 中文字幕一区二区三区四区 | 国产成人精品一区二区三区四区 | 精品久久电影 | a亚洲精品 | 91社区在线高清 | 亚洲美女在线视频 | 国产成人久久精品一区二区三区 | 91 在线观看| 久久久99国产精品免费 | 久久免费小视频 | 亚洲精品永久免费 | 暖暖日本在线视频 | 一级毛片电影 | 一区二区三区视频 | 亚洲欧美精品 | 亚洲激情综合 | 日本妇乱大交xxxxx | 国产成人精品一区二区三区视频 | 欧美激情一区二区三区蜜桃视频 | 日韩视频中文字幕 | 81精品国产乱码久久久久久 | 国产亚洲精品久久久闺蜜 | 青青久在线视频 | 欧美综合一区二区 | 欧美午夜在线 | 国产精品久久久久久久久久久久久久 | 中文字幕av一区二区三区 | 伊人网av | 欧美日韩久久久 | 国产乱a视频在线 | 日本欧美在线 | 蜜臀在线视频 | 成人福利网 | 亚洲一区二区三区视频 | 日日爱夜夜操 | 国产黄色在线观看 | 亚洲精品国产综合区久久久久久久 | 日韩在线一区二区 | 嫩草网站在线观看 | 91国在线高清视频 | 一区不卡| 日本中文字幕在线播放 | 亚洲视频免费在线观看 | 国产精品网站在线看 | 成人免费在线电影 | 天天天天干| 精品中出 | 国产情侣小视频 | 久久成人国产 | 狠狠伊人| 麻豆一区 | 国产成人午夜 | 天天干狠狠操 | 97人人做人人人难人人做 | 成人国产在线 | a在线v| 亚洲精品久久久一区二区三区 | 国产一区二区视频在线观看 | 国产精品美女久久久久久久久久久 | 夜夜骑日日操 | 日批免费观看视频 | 国产成人久久精品77777 | 国产免费黄视频 | 欧美精品99| 国产美女久久 | 亚洲第一视频网站 | 欧美成人激情 | 中文字幕亚洲欧美精品一区四区 | 国产成人精品亚洲日本在线观看 | 中文字幕亚洲一区 | 欧美日韩在线免费 | 精品视频二区 | 欧美一区二区三区在线看 | 91中文在线| 久久免费99精品久久久久久 | 日韩精品极品视频在线 | 日本一区二区三区免费观看 | 97超碰在线免费 | 亚洲午夜精品一区二区三区 | 不卡视频一区二区 | 亚洲视频在线观看一区二区三区 | 精品久久久久久国产 | 亚洲伦理一区 | а天堂中文最新一区二区三区 | 午夜爽爽影院 | 免费毛片在线 | 亚洲精品久久久久久一区二区 | 麻豆产精国品免费入口 | 国产黄色在线观看 | 国产午夜手机精彩视频 | 国产xxxxxxxxxx| 国产高清在线精品 | 精品日韩一区 | 一本大道久久a久久精二百 亚洲欧美高清 | 麻豆一区二区三区 | 久久在线 | 欧美精品成人一区二区在线 | 亚洲精品成人av | 日韩中文字幕在线观看 | 国产一区二区视频精品 | 久久成人精品 | 久久九九国产精品 | 久草成人 | 日韩在线不卡视频 | 日韩av一区二区三区四区 | 97成人在线 | 视频在线一区 | 老牛嫩草一区二区三区眼镜 | 成人av免费在线观看 | av在线一区二区三区 | 在线观看国产 | 欧美va天堂| 免费一级黄色电影 | 日韩一级免费观看 | 亚洲国产精品福利 | 午夜激情在线播放 | 狠狠干美女 | 亚洲一区二区三区在线视频 | 欧美精品在线视频 | 欧美午夜一区二区三区免费大片 | 欧美视频网站 | 自拍偷拍亚洲视频 | 伊人激情av一区二区三区 | 国产在线一区二区 | 亚洲日本国产 | 日韩在线播放一区 | 黄网站免费在线观看 | 久久这里只有精品8 | 草久久久 | 久久成人综合网 | 国产精品久久免费观看spa | 久久精品国产一区二区三区不卡 | 亚洲欧美日韩精品久久奇米色影视 | 久久草在线视频 | 欧美福利在线 | 亚洲福利小视频 | 日韩2020狼一二三 | 一区二区不卡视频 | aaaa大片 | 欧美成人精品一区二区男人看 | 亚洲精美视频 | 国产91精选 | 亚洲最大av网站 | 久久成人精品 | 欧美日韩久久久 | 在线免费国产 | 久久亚洲国产精品 | 欧美日韩综合一区 | 在线观看国产一区 | 日韩成人在线视频 | www国产成人免费观看视频,深夜成人网 | 天天干天天躁 | 日韩久色 | 欧美成人一区二区三区片免费 | 亚洲三级视频 | 日本三级不卡 | 国产精品99久久免费观看 | 国产成人精品免高潮在线观看 | 黄色一级视| 国产精品免费观看 | 国产 日韩 欧美 中文 在线播放 | 日本欧美在线 | 国产精品自拍一区 | 欧美日韩国产免费一区二区三区 | 色综合免费视频 | 91精品国产一区二区三区香蕉 | 日韩欧美一区二区三区 | 日韩在线成人 | 亚洲成人一区二区三区 | 久久久高清 | 免费h| 亚洲一区二区免费视频 | 99久热在线精品视频观看 | 欧美精品一区在线观看 | 超碰在线天天 | www.日本精品 | 亚洲精品久久久久久下一站 | 久久国产精彩视频 | 亚洲一区二区在线播放 | 精品久久久久一区二区国产 | 国产精品自产拍在线观看桃花 | 99视频这里有精品 | 欧美精品v国产精品v日韩精品 | 亚洲不卡在线观看 | 欧美日韩一区二区不卡 | 91碰碰| 欧美视频网站 | 精品一区二区三区中文字幕 | 精品国产一区二区三区不卡蜜臂 | 国产精品综合久久 | 国产高潮呻吟久久渣男片 | 天天网| 欧美激情综合五月色丁香小说 | 亚洲欧洲精品一区二区三区 | 男人的天堂一级片 | 久久综合一区二区三区 | 久久久久久久成人 | 视频二区 | 日韩欧美一区二区三区 | 亚洲一区 国产 | 国产成人av在线播放 | 国产精品久久久久久影院8一贰佰 | 国内久久精品视频 | 操操操操操操 | 毛片链接 | 北条麻妃一区二区三区中文字幕 | 一区二区色| 国产一区二区免费视频 | 日韩精品 电影一区 亚洲 | 国产综合视频 | 久久国内 | 在线中文字幕av | 一区二区av| 久久精品国产亚洲blacked | 久久久久亚洲 | 天天干人人| 日本三级国产 | 美女黄网 | 久久久精品亚洲 | 国产成人高清视频 | 国产精品久久久久久久久久久小说 | 成人久久| 亚洲精品久久 | 日韩精品中文字幕在线观看 | 一区二区三区免费网站 | www.精品 | 日韩久久久久 | 国产精品高清在线 | 久久久久黄 | 久久欧美精品 | 亚洲精品视频在线 | 99热在线播放 | 最新日韩免费 | 国产精自产拍久久久久久 | 日韩一区二区三区在线观看 | 33eee在线视频免费观看 | 欧美在线观看网站 | 欧美一级免费 | 99re国产精品视频 | 色999精品 | 麻豆资源 | 不卡二区| 国产一区二区三区免费看 | 超碰官网| 欧美区在线 | 日韩中文字幕av | 日本成人高清视频 | 免费视频爱爱太爽了 | 久久精品99| 欧美人成在线视频 | 四虎影视网址 | 久久av一区二区三区 | 亚洲精品一 | 日韩精品三区 | 91在线精品一区二区 | 欧美日韩国产在线 | 亚洲精品成人av | 伊人久久综合 | 99热在线精品播放 | 视频在线一区二区三区 | 欧美日韩黄色一区二区 | 国产精品日日 | 91在线免费视频 | 久久精品91 | 九九热精 | 国产成人毛片 | 国产精品久久99 | 成人h动漫精品一区二区器材 | 香蕉久久久久久 | 亚洲精品一区二区三区中文字幕 | 91九色视频 | 国产美女精品 | 亚洲欧美高清 | 日韩亚洲视频 | 99精品视频在线免费观看 | 精品久久国产 | 久久亚洲高清 | 亚洲精品视频在线播放 | 色视频www在线播放国产人成 | 欧美日本一区二区三区 | 亚洲热在线观看 | 欧美日韩一区在线 | 日本激情视频一区二区三区 | 国产一区二区视频在线 | 日日做夜夜爽毛片麻豆 | 亚洲精品一区在线观看 | 中文字幕日韩欧美 | 亚洲日本欧美日韩高观看 | 亚洲精品日韩综合观看成人91 | 在线久草 | 亚洲精品乱码久久久久久花季 | 国产日韩av在线 | 在线精品亚洲欧美日韩国产 | 欧美视频一区二区三区在线观看 | 毛片com| 成人免费看黄 | 国产伦精品一区二区三区四区视频_ | 在线99| 91中文在线观看 | 密色视频| 午夜精品久久久久久久男人的天堂 | 国产成人精品免高潮在线观看 | 日本欧美在线 | 日韩一区二区三区在线观看 | 97精品国产 | 久久亚洲一区二区三区四区 | 成人在线观看免费 | 一区二区日韩 | 亚洲三级在线观看 | 91尤物网站网红尤物福利 | 伊人一二三区 | 青草成人免费视频 | 日韩成人高清电影 | 国产v日产∨综合v精品视频 | 日韩在线观看视频一区二区 | 日本视频网 | 99久久免费精品国产男女性高好 | 欧美精品中文字幕久久二区 | 成人超碰在线 | av片在线观看 | 伊人天堂在线 | 中文字幕在线观看www | 久久久久综合狠狠综合日本高清 | 91天堂 | 欧美一级片在线 | 中文字幕一区二区三区四区 | 亚洲精品电影网在线观看 | 精品一区免费观看 | 欧美成人免费一级人片100 | 99久久99久久 | 中文字幕大全 | 大香伊在人线免97 | 激情视频在线观看 | 久久99精品久久久久久青青日本 | 久久亚洲精品国产一区 | www.伊人网| 一本色道精品久久一区二区三区 | 久久免费看 | 精品一区二区三区免费 | 国产在线拍 | 日韩成人在线网 | 精品亚洲国产成av人片传媒 | 国产精品美女久久久久aⅴ国产馆 | 中文字幕一二三区 | 日韩激情视频一区二区 | 国产精品免费看 | 日韩av一区二区在线观看 | 日本一区二区三区免费观看 | 国产日韩欧美综合 | 成人国产精品视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品不卡视频 | 丝袜美腿一区二区三区 | 91国产精品入口 | 毛片一区二区 | 国产精品无码永久免费888 | 国产精品久久久久久久久 | 欧美激情精品久久久久 | 天天操夜夜操免费视频 | 久久精品这里热有精品 | 久久女人网 | 亚洲高清一区二区三区 | 在线亚洲观看 | 国产精品s色 | 亚洲精品二区 | 最新日韩免费 | 狠狠操夜夜操 | 福利片一区二区 | 免费一区二区 | 免费av电影网站 | 精品国产不卡一区二区三区 | 欧美激情欧美激情在线五月 | 欧美视频在线观看一区 | 天天爽夜夜爽夜夜爽精品视频 | 色性av| 日本中文字幕一区 | 成人a级网站 | 免费一区二区三区 | 人人射人人草 | 国产欧美日韩综合精品一区二区 | 欧美日韩激情一区二区三区 | 视频一区二区三区在线观看 | 国产精品久久久久无码av | 国产精品久久在线观看 | 日韩国产中文字幕 | 黄免费看 | 日本久久久亚洲精品 | 成人国产综合 | 99热这里有精品 | 欧美精品在线免费观看 | 亚洲日韩中文字幕一区 | 亚洲不卡在线观看 | 久草福利 | 香蕉久久久久久 | 欧美激情一区二区三区蜜桃视频 | 国产激情一区二区三区成人免费 | 中文字幕在线看片 | 亚洲精品成人悠悠色影视 | 精品欧美一区二区在线观看 | 精品国产乱码久久久久久88av | jizz欧美大片 | 欧美2区 | 日本成人在线视频网站 | 欧美色综合 | 成人免费一区二区三区视频网站 | 欧美一区久久 | 久久99精品国产麻豆婷婷洗澡 | 免费观看一级黄色片 | 日本精品网站 | 精品一区二区三区免费 | 国产农村妇女精品久久 | 久久国产精品免费一区二区三区 | 国产精品免费一区二区三区四区 | 国产成人精品一区一区一区 | 中文字幕一区二区三区四区 | 国产乱码精品一区二区三区中文 | 国产精品免费一区二区三区四区 | 99精品一级欧美片免费播放 | 国产亚洲精品久久久优势 | 91精品综合久久久久久五月天 | 国产精品久久天天躁 | 精品欧美一区二区三区久久久 | 国产精品久久久久久久久久三级 | 日日操视频 | 91精品国产色综合久久不卡98口 | 久久伊99综合婷婷久久伊 | 国产精品久久久久久久午夜 | 久久性 | 日韩性在线 | 午夜国产精品视频 | 国产精品成人国产乱一区 | 久久久久久久久久一区二区 | 91精品久久久久久久久久 | 做a视频在线观看 | 人人看人人草 | 成人精品在线视频 | av网站有哪些 | 人人干天天干 | 岛国免费 | 亚洲国产高清高潮精品美女 | 91精品欧美久久久久久动漫 | 亚洲高清视频一区二区 | 日韩综合一区 | 欧美午夜视频 | 免费v片| 亚洲国产精品第一区二区 | av免费看在线 | 亚洲成av | 欧美视频免费 | 91精品中文字幕一区二区三区 | 亚洲久草| 久草视频在线首页 | 免费观看av电影 | 国产色 | 羞羞的视频网站 | 国产精品久久久久久久久久大牛 | 91av久久| 久久精品这里热有精品 | 国产一级片在线播放 | 精品免费视频 | 后人极品翘臀美女在线播放 | 国产成人精品免高潮在线观看 | 天天干天天摸 | 久久精品国产亚洲精品 | 国产精品久久久久久亚洲调教 | 国产午夜久久 | 中文成人无字幕乱码精品 | 黄瓜av| 亚洲一区二区中文 | 精品久久久久久 | www.麻豆 | 欧美日韩一区二区三区不卡视频 | 国产99久久久久久免费看农村 | 免费黄色小片 | 伊人狠狠干 | 夸克满天星在线观看 | 国产精品日韩欧美 | 我要看一级黄色 | 免费一区二区 | 欧美一区2区三区4区公司二百 | 亚洲免费影院 | 欧美一区二区三区在线观看视频 | 成人av免费在线观看 | 亚洲黄色免费 | 一区二区日韩视频 | 91久久综合亚洲鲁鲁五月天 | 久久国产欧美日韩精品 | 午夜免费剧场 | 国产精品无码久久久久 | 天天干天天av | 欧美一级片aaa | 日韩欧美二区 | 亚洲视频在线观看免费 | 99久久久久 | 色一色网站 | 伦理一区 | 欧美成年黄网站色视频 | 国产一区 | 成人在线观看免费 | 亚洲 欧美日韩 国产 中文 | 久久精品欧美 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 久久国| 欧美视频免费在线 | chengrenzaixian| 中国一级大黄大黄大色毛片 | 久久久久久av | 国产高清免费 | 日韩精品中文字幕在线观看 | 91精品国产高清久久久久久久久 | 99视频这里有精品 | 国产黄色大片免费观看 | 一区二区三区不卡视频 | 永久精品 | 日韩免费在线观看视频 | 狠狠撸在线 | 欧美精品久久一区 | 成人免费久久 | 久久综合久色欧美综合狠狠 | 黄色国产一级视频 | 一区二区三区在线播放 | 91看片| 性一级录像片片视频免费看 | 日韩av电影观看 | 欧洲一级毛片 | 美女福利视频网站 | 综合久久久久 | av大片网 | 精品美女在线观看视频在线观看 | 精品国产一区av | 97国产精品视频 | 91看片 | 免费成人在线网站 | 欧美精品欧美精品系列 | 中文字幕一区在线 | 国产精品久久久久久吹潮 | 国产精品第一区第27页 | 国产精品一区二区三区四区五区 | 国产精品69毛片高清亚洲 | 91啪影院 | 一区视频在线 | 欧美成人区 | 国产亚洲精品精品国产亚洲综合 | 四虎精品在线 | 亚洲精美视频 | 激情欧美一区二区三区中文字幕 | 日韩精品 电影一区 亚洲 | 免费黄色片在线观看 | 中文字幕自拍偷拍 | 精品在线一区二区三区 | 国产片av | 超碰97中文| 91久久久www播放日本观看 | 天天干天天爽 | 欧美黄色一级 | 国产性×xxx盗摄xxxx | 亚洲网站色 | 黄色精品视频 | 成人h视频在线观看 | 亚洲91| 国产精品美女www爽爽爽软件 | 亚洲精品久久久一区二区三区 | 高清国产一区二区三区四区五区 | 四虎永久免费 | 国产精品国产三级国产a | 精品国产乱码久久久久久闺蜜 | 日韩精品视频免费专区在线播放 | 91高清视频在线观看 | 国产精品一区二区三区av | 激情久久久久 |