php远程调用kafka服务,PHP kafka

发布时间:2023-01-09

本文目录一览:

  1. 给kafka配置外部连接
  2. 如何利用pykafka远程消费 zookeeper+kafka集群 python脚本
  3. windows 下远程连接kafka服务器并创建topic 部署服务
  4. php本地 怎么连接远程数据库服务器
  5. 消息中间件Kafka - PHP操作使用Kafka

给kafka配置外部连接

在公司的测试环境中,有的应用需要远程连接kafka,本地有时也是需要连接到kafka进行Debug,这就需要将kafka配置成外部可连接。想要实现这种效果,有两种实现方法,第一种方法是将所有kafka的连接都配置成公网IP连接。第二种方法是采用kafka的内外分离配置。方法一虽然能够实现kafka的外部连接,可是服务器上面对kafka的连接也会默认使用公网IP的方式连接,而不是内网,这样会给实例的公网带宽带来很大的压力,应用一多,就会造成实例无法进行登录。而方法二就可以有效的避免这种现象了,它是将云上本地应用采用内网来连接kafka,而同时又采用不同的端口配置外网连接,这样能够有效的减少公网带宽的压力。 在原有配置的基础上加上或者更改如下配置,配置接受外网连接的端口为9093,同时打开安全组的9093端口,配置过后通过重启kafka即可通过9093在本地连接kafka。 listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT主要分别定义内部和外部连接采用的安全协议 listeners=INTERNAL://内网IP:9092,EXTERNAL://0.0.0.0:9093主要是定义内部和外部连接监听的地址端口 advertised.listeners=INTERNAL://内网IP:9092,EXTERNAL://外网IP:9093主要是提交给zookeeper来实现对kafka内部和外部的连接,最开始改配置只是配置了外部的连接,没有内部的连接,所以对kafka的连接都是通过外部连接。 inter.broker.listener.name=INTERNAL主要是制定kafka集群内部broker之前通过INTERNAL的配置来进行内部通讯。 参考连接:

如何利用pykafka远程消费 zookeeper+kafka集群 python脚本

# 从kafka消费
# consumer_area = topic_area.get_simple_consumer(auto_offset_reset=OffsetType.LATEST)
# 从ZOOKEEPER消费
consumer_area = topic_area.get_balanced_consumer(
    consumer_group=b'zs_download_04',  # 自己命令
    auto_offset_reset=OffsetType.LATEST,  # 在consumer_group存在的情况下,设置此变量,表示从最新的开始取
    # auto_offset_reset=OffsetType.EARLIEST,
    # reset_offset_on_start=True,
    auto_commit_enable=True,
    # auto_commit_interval_ms=1,
    zookeeper_connect=ZK_LIST
)

windows 下远程连接kafka服务器并创建topic 部署服务

一.打包项目镜像: 利用Dockerfile 来打包项目的镜像 本次项目共依赖两个镜像(一个基础系统环境和一个项目镜像) 本次直接将Dockerfile写好后,用shell脚本build.sh启动打包: 然后切换到项目的目录下找到build.sh,运行即可打包项目镜像 若 报错:"failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial unix /var/run/docker.sock: connect: permission denied" 就用 出现以下说明打包成功,接下来可以开始部署: 注意:如果遇到只读权限不能修改时,将host文件复制一份到桌面,修改后在替换原来的host文件 在hosts文件末尾加上kafka服务器 !外网! 39. 0.25...地址,修改后的格式如下: 1.1注意: 修改阿里云服务器的hosts 文件来配置 kafka的服务器地址: 在hosts 文件最后加入: 添加的 kafka-server 就是以下创建topic命令中的 kafka-server别名, 监听远程kafka:新建消费者: 远程创建topic的实例: 查看远程已创建的topc: 本地: 远程修改后的kafka topic: 2.通过git Bash 切换到kafka客户端的bin目录: 桌面打开 gitBash,切换到本地kafka软件目录: 这里一定要切换为windows 3.查看已经有的topic --topic 指定topic名字 --replication-factor 指定副本数,因为我的是集群环境,这里副本数就为3 --partitions 指定分区数,这个参数需要根据broker数和数据量决定,正常情况下,每个broker上两个partition最好 注意:服务器部署时候一定要用内网172. .开头的,外部访问设为外网ip 不然会导致Kafka写入数据的时候报错 : TImeout 4.1本地docker创建topic: 4.2 本地windows 创建topic 进入本地软件路径KAFKA/BIN/WIONDOWS 创建topic 5.修改服务器的host: 一定要注意加sudo 不然会导致readonly 无法修改 在host 文件的末尾加上以下: 6.切换到工程部署的目录 7.清理redis,不然数据有残留: 7.1服务器上的redis挂载清除: 在 docker-compose.yml中注销这几行: 目的是每次启动不必记录上次没有执行完的数据. 这个是用来记录redis中假如上次指定的是1到100万块,没有执行完.下次接着执行没执行完的任务,测试时暂时关闭 7.2删除volume: 7.3 如果volume文件被占用时,先删除占用容器: 7.4 清除redis中的数据 进入redis容器中: 8.部署命令: 8.1开启docker可视化web上监控docker: 然后访问: 宿主机IP + 9000端口 8.2执行部署命令,启动服务: 9.部署时报错: yaml: line 46: did not find expected key 原因: docker-compose.yml文件中第46行 报错 解决:将所有数据对齐,不要有多余的空格.

php本地 怎么连接远程数据库服务器

在php中如果要连接远程数据库连接方法很简单,只要把本地连接localhost或127.0.0.1改成指定远程服务器一IP地址或者直接域名即可。 语法

mysql_connect(servername, username, password);

例子 在下面的例子中,我们在一个变量中 ($con) 存放了在脚本中供稍后使用的连接。如果连接失败,将执行 "die" 部分 :

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con) {
    die('Could not connect: ' . mysql_error());
}
// some code
?>

消息中间件Kafka - PHP操作使用Kafka

cd librdkafka/
./configure
make
make install

安装成功界面 没有报错就是安装成功