欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用docker搭建kong集群操作

 更新時(shí)間:2020年11月23日 09:18:26   作者:julien71  
這篇文章主要介紹了使用docker搭建kong集群操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

docker容器下搭建kong的集群很簡單,官網(wǎng)介紹的也很簡單,初學(xué)者也許往往不知道如何去處理,經(jīng)過本人的嘔心瀝血的琢磨,終于搭建出來了。

主要思想:不同的kong連接同一個(gè)數(shù)據(jù)庫(就這么一句話)

難點(diǎn):如何在不同的主機(jī)上用kong連接同一數(shù)據(jù)庫

要求:

1、兩臺主機(jī) 172.16.100.101 172.16.100.102

步驟:

1、在101上安裝數(shù)據(jù)庫(這里就用cassandra)

docker run -d --name kong-database \
       -p 9042:9042 \
       cassandra:latest

2、遷移數(shù)據(jù)庫(可以理解初始化數(shù)據(jù)庫)

docker run --rm \
  --link kong-database:kong-database \
  -e "KONG_DATABASE=cassandra" \
  -e "KONG_PG_HOST=kong-database" \
  -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
  kong:latest kong migrations up

3、安裝kong

docker run -d --name kong \
  --link kong-database:kong-database \
  -e "KONG_DATABASE=cassandra" \
  -e "KONG_PG_HOST=kong-database" \
  -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
  -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
  -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
  -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
  -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
  -p 8000:8000 \
  -p 8443:8443 \
  -p 8001:8001 \
  -p 8444:8444 \
  kong:latest

注意:以上三部都是在101上完成的,且官網(wǎng)上都有https://getkong.org/install/docker/?_ga=2.68209937.1607475054.1519611673-2089953626.1519354770,接下來的第四步則是在另一主機(jī)102上完成,同一主機(jī)上可以用link,不同主機(jī)的容器關(guān)聯(lián)就不能使用link了,如下配置即可

4、在102上安裝另一個(gè)kong,實(shí)現(xiàn)多節(jié)點(diǎn)kong集群

docker run -d --name kong\
 -e "KONG_DATABASE=cassandra" \
 -e "KONG_PG_HOST=kong-database" \
 -e "KONG_CASSANDRA_CONTACT_POINTS=172.16.100.101" \
 -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
 -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
 -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
 -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
 -p 8000:8000 \
 -p 8443:8443 \
 -p 8001:8001 \
 -p 8444:8444 \
 kong:latest

5、這里使用的是cassandra數(shù)據(jù)庫,所以需要修改一個(gè)配置 db_update_propagation 這個(gè)參數(shù),默認(rèn)是0,可以改成 5,進(jìn)入容器

docker exec -it kong bash  //進(jìn)入kong容器
cd etc/kong         //進(jìn)入該目錄下
cp kong.conf.default kong.conf  //復(fù)制kong.conf.default文件為kong.conf文件
vi kong.conf           //修改db_update_propagation這個(gè)配置項(xiàng)

exit //退出空容器

docker restart kong //重新啟動kong

注:101和102上的kong都需要修改這個(gè)配置項(xiàng),關(guān)于db_update_propagation配置項(xiàng)的介紹可以去官網(wǎng)看下

6、驗(yàn)證kong集群

可以在101上注冊一個(gè)api如下

curl -i -X POST \
 --url http://172.16.100.101:8001/apis/ \
 --data 'name=example-api' \
 --data 'hosts=example.com' \
 --data 'upstream_url=http://mockbin.org'

然后查詢這個(gè)api是否注冊成功:

curl -i http://172.16.100.101:8001/apis/example-api

返回如下:

你也可以通過102機(jī)器主機(jī)進(jìn)行查詢:

curl -i http://172.16.100.102:8001/apis/example-api

如果也返回和上面一樣的結(jié)果說明可以訪問同一個(gè)api了,api信息是保存在數(shù)據(jù)庫中的,也是就說可以訪問同一個(gè)數(shù)據(jù)庫了,這樣你的kong集群也就搭建成功了,希望對你有所幫助。

補(bǔ)充知識:使用docker-compose創(chuàng)建hadoop集群

下載docker鏡像

首先下載需要使用的五個(gè)docker鏡像

docker pull bde2020/hadoop-namenode:1.1.0-hadoop2.7.1-java8
docker pull bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
docker pull bde2020/hadoop-resourcemanager:1.1.0-hadoop2.7.1-java8
docker pull bde2020/hadoop-historyserver:1.1.0-hadoop2.7.1-java8
docker pull bde2020/hadoop-nodemanager:1.1.0-hadoop2.7.1-java8

設(shè)置hadoop配置參數(shù)

創(chuàng)建 hadoop.env 文件,內(nèi)容如下:

CORE_CONF_fs_defaultFS=hdfs://namenode:8020
CORE_CONF_hadoop_http_staticuser_user=root
CORE_CONF_hadoop_proxyuser_hue_hosts=*
CORE_CONF_hadoop_proxyuser_hue_groups=*

HDFS_CONF_dfs_webhdfs_enabled=true
HDFS_CONF_dfs_permissions_enabled=false

YARN_CONF_yarn_log___aggregation___enable=true
YARN_CONF_yarn_resourcemanager_recovery_enabled=true
YARN_CONF_yarn_resourcemanager_store_class=org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore
YARN_CONF_yarn_resourcemanager_fs_state___store_uri=/rmstate
YARN_CONF_yarn_nodemanager_remote___app___log___dir=/app-logs
YARN_CONF_yarn_log_server_url=http://historyserver:8188/applicationhistory/logs/
YARN_CONF_yarn_timeline___service_enabled=true
YARN_CONF_yarn_timeline___service_generic___application___history_enabled=true
YARN_CONF_yarn_resourcemanager_system___metrics___publisher_enabled=true
YARN_CONF_yarn_resourcemanager_hostname=resourcemanager
YARN_CONF_yarn_timeline___service_hostname=historyserver
YARN_CONF_yarn_resourcemanager_address=resourcemanager:8032
YARN_CONF_yarn_resourcemanager_scheduler_address=resourcemanager:8030
YARN_CONF_yarn_resourcemanager_resource___tracker_address=resourcemanager:8031

創(chuàng)建docker-compose文件

創(chuàng)建 docker-compose.yml 文件,內(nèi)如如下:

version: "2"

services:
 namenode:
  image: bde2020/hadoop-namenode:1.1.0-hadoop2.7.1-java8
  container_name: namenode
  volumes:
   - hadoop_namenode:/hadoop/dfs/name
  environment:
   - CLUSTER_NAME=test
  env_file:
   - ./hadoop.env

 resourcemanager:
  image: bde2020/hadoop-resourcemanager:1.1.0-hadoop2.7.1-java8
  container_name: resourcemanager
  depends_on:
   - namenode
   - datanode1
   - datanode2
   - datanode3
  env_file:
   - ./hadoop.env

 historyserver:
  image: bde2020/hadoop-historyserver:1.1.0-hadoop2.7.1-java8
  container_name: historyserver
  depends_on:
   - namenode
   - datanode1
   - datanode2
   - datanode3
  volumes:
   - hadoop_historyserver:/hadoop/yarn/timeline
  env_file:
   - ./hadoop.env

 nodemanager1:
  image: bde2020/hadoop-nodemanager:1.1.0-hadoop2.7.1-java8
  container_name: nodemanager1
  depends_on:
   - namenode
   - datanode1
   - datanode2
   - datanode3
  env_file:
   - ./hadoop.env

 datanode1:
  image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
  container_name: datanode1
  depends_on:
   - namenode
  volumes:
   - hadoop_datanode1:/hadoop/dfs/data
  env_file:
   - ./hadoop.env

 datanode2:
  image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
  container_name: datanode2
  depends_on:
   - namenode
  volumes:
   - hadoop_datanode2:/hadoop/dfs/data
  env_file:
   - ./hadoop.env

 datanode3:
  image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
  container_name: datanode3
  depends_on:
   - namenode
  volumes:
   - hadoop_datanode3:/hadoop/dfs/data
  env_file:
   - ./hadoop.env

volumes:
 hadoop_namenode:
 hadoop_datanode1:
 hadoop_datanode2:
 hadoop_datanode3:
 hadoop_historyserver:

創(chuàng)建并啟動hadoop集群

sudo docker-compose up

啟動hadoop集群后,可以使用下面命令查看一下hadoop集群的容器信息

# 查看集群包含的容器,以及export的端口號
sudo docker-compose ps
   Name        Command      State   Ports
------------------------------------------------------------
datanode1     /entrypoint.sh /run.sh  Up   50075/tcp
datanode2     /entrypoint.sh /run.sh  Up   50075/tcp
datanode3     /entrypoint.sh /run.sh  Up   50075/tcp
historyserver   /entrypoint.sh /run.sh  Up   8188/tcp
namenode     /entrypoint.sh /run.sh  Up   50070/tcp
nodemanager1   /entrypoint.sh /run.sh  Up   8042/tcp
resourcemanager  /entrypoint.sh /run.sh  Up   8088/tc

# 查看namenode的IP地址
sudo docker inspect namenode | grep IPAddress

也可以通過 http://:50070 查看集群狀態(tài)。

提交作業(yè)

要提交作業(yè),我們首先需要登錄到集群中的一個(gè)節(jié)點(diǎn),這里我們就登錄到namenode節(jié)點(diǎn)。

sudo docker exec -it namenode /bin/bash

準(zhǔn)備數(shù)據(jù)并提交作業(yè)

cd /opt/hadoop-2.7.1

# 創(chuàng)建用戶目錄
hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/root

# 準(zhǔn)備數(shù)據(jù)
hdfs dfs -mkdir input
hdfs dfs -put etc/hadoop/*.xml input

# 提交作業(yè)
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'

# 查看作業(yè)執(zhí)行結(jié)果
hdfs dfs -cat output/*

清空數(shù)據(jù)

hdfs dfs -rm input/*
hdfs dfs -rmdir input/
hdfs dfs -rm output/*
hdfs dfs -rmdir output/

停止集群

可以通過CTRL+C來終止集群,也可以通過 “sudo docker-compose stop”。

停止集群后,創(chuàng)建的容器并不會被刪除,此時(shí)可以使用 “sudo docker-compose rm” 來刪除已經(jīng)停止的容器。也可以使用 “sudo docker-compose down” 來停止并刪除容器。

刪除容器后,使用 “sudo docker volume ls” 可以看到上面集群使用的volume信息,我們可以使用 “sudo docker rm ” 來刪除。

以上這篇使用docker搭建kong集群操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker搭建Zookeeper&Kafka集群的實(shí)現(xiàn)

    Docker搭建Zookeeper&Kafka集群的實(shí)現(xiàn)

    這篇文章主要介紹了Docker搭建Zookeeper&Kafka集群的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 使用Docker快速搭建你的Gitbook

    使用Docker快速搭建你的Gitbook

    這篇文章主要介紹了使用Docker快速搭建你的Gitbook的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 詳解如何用docker安裝laravel開發(fā)環(huán)境

    詳解如何用docker安裝laravel開發(fā)環(huán)境

    本篇文章主要介紹了詳解如何用docker安裝laravel開發(fā)環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Docker安裝部署分布式數(shù)據(jù)庫?OceanBase的詳細(xì)過程

    Docker安裝部署分布式數(shù)據(jù)庫?OceanBase的詳細(xì)過程

    這篇文章主要介紹了Docker安裝部署分布式數(shù)據(jù)庫?OceanBase,快速的體驗(yàn) OceanBase 的自動化部署過程,及了解 OceanBase 集群安裝成功后的目錄特點(diǎn)和使用方法,需要的朋友可以參考下
    2022-06-06
  • Docker部署Mysql數(shù)據(jù)庫步驟詳解

    Docker部署Mysql數(shù)據(jù)庫步驟詳解

    Docker是一種流行的容器化平臺,可以簡化應(yīng)用程序的部署和管理,在本博客中,我們將探討如何使用Docker部署兩個(gè)廣泛使用的數(shù)據(jù)庫:MySQL,我們將提供詳細(xì)的步驟和相應(yīng)的命令,以幫助您輕松地在Docker容器中設(shè)置和運(yùn)行這個(gè)數(shù)據(jù)庫
    2023-07-07
  • Docker部署Minio的實(shí)現(xiàn)方法

    Docker部署Minio的實(shí)現(xiàn)方法

    使用Docker搭建MinIO分布式對象存儲系統(tǒng)可以讓您快速搭建和配置一個(gè)高性能、可擴(kuò)展的存儲系統(tǒng),本文主要介紹了Docker部署Minio的實(shí)現(xiàn)方法,感興趣的可以了解一下
    2024-01-01
  • 樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具的操作步驟詳解

    樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具的操作步驟詳解

    這篇文章主要介紹了樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 關(guān)于Docker的基礎(chǔ)概念分享

    關(guān)于Docker的基礎(chǔ)概念分享

    Docker是一個(gè)開源項(xiàng)目,誕生于2013年初,最初是dotCloud公司內(nèi)部的一個(gè)業(yè)余項(xiàng)目。它基于 Google公司推出的Go語言實(shí)現(xiàn)。項(xiàng)目后來加入了 Linux 基金會,遵從了 Apache 2.0 協(xié)議,項(xiàng)目代碼在 GitHub上進(jìn)行維護(hù)。
    2017-01-01
  • Docker搭建OpenLDAP+phpLDAPadmin統(tǒng)一用戶認(rèn)證的方法

    Docker搭建OpenLDAP+phpLDAPadmin統(tǒng)一用戶認(rèn)證的方法

    這篇文章主要介紹了Docker搭建OpenLDAP+phpLDAPadmin統(tǒng)一用戶認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • docker安裝openwrt immortalwrt全過程

    docker安裝openwrt immortalwrt全過程

    本文主要介紹了如何通過OpenWrt和Docker結(jié)合使用,以提供路由器的功能并接管無法安裝軟件的Switch的流量,首先,通過阿里鏡像加速下載并安裝Docker,然后配置網(wǎng)絡(luò),包括開啟網(wǎng)卡混雜模式和創(chuàng)建虛擬網(wǎng)絡(luò)MACVLAN,接著,在OpenWrt中配置網(wǎng)絡(luò),最后拉取OpenWrt鏡像并啟動
    2024-10-10

最新評論