版本: 3.2.x
官网: https://pulsar.apache.org/docs/3.2.x/getting-started-docker/
安装pulasr服务
拉取镜像
# sudo docker pull apachepulsar/pulsar:3.0.3
sudo docker pull apachepulsar/pulsar:3.2.1
运行docker
CURRENT_DIR=$(cd `dirname $0`; pwd)
BASE_DIR=$(cd $(dirname $0);cd ..; pwd)FROM_DOCKER=apachepulsar/pulsar:3.2.1
DOCKER_NAME=pagoda_pulsar# 【新建要修改】主机端口
PULSAR_PORT=19537
HTTP_PORT=19536########################################################
if [[ -n $(docker ps -q -f "name=${DOCKER_NAME}") ]];thenecho "not exist docker name=${DOCKER_NAME}"
elseecho "exist docker name=${DOCKER_NAME}. neet exit, then rm docker."docker rm ${DOCKER_NAME}
fi
########################################################
docker run \
-d \
--restart=always \
--shm-size="20g" \
-v /etc/localtime:/etc/localtime \
--mount source=pulsardata,target=/pulsar/data \
--mount source=pulsarconf,target=/pulsar/conf \
-p ${PULSAR_PORT}:6650 \
-p ${HTTP_PORT}:8080 \
--name ${DOCKER_NAME} \
-it ${FROM_DOCKER} \
bin/pulsar standalonedocker logs -f ${DOCKER_NAME}
python简单测试
安装模块
pip install pulsar-client
例子参考:https://pulsar.apache.org/api/python/3.4.x/
(1)生产消息
import pulsarclient = pulsar.Client('pulsar://localhost:6650')
consumer = client.subscribe('my-topic', subscription_name='my-sub')while True:msg = consumer.receive()print("Received message: '%s'" % msg.data())consumer.acknowledge(msg)client.close()
(2)消费消息
import pulsarclient = pulsar.Client('pulsar://localhost:6650')
producer = client.create_producer('my-topic')for i in range(10):producer.send(('hello-pulsar-{i}').encode('utf-8'))client.close()
如果有用,请点赞、关注、收藏、分享
。
你的鼓励是我最大的动力