windows 下远程连接kafka服务器并创建topic 部署服务
一打包项目镜像:
利用Dockerfile 来打包项目的镜像
本次项目共依赖两个镜像(一个基础系统环境和一个项目镜像)
本次直接将Dockerfile写好后,用shell脚本buildsh启动打包:
然后切换到项目的目录下找到buildsh,运行即可打包项目镜像
若
报错:"failed to dial gRPC: cannot connect to the Docker daemon Is 'docker daemon' running on this host: dial unix /var/run/dockersock: connect: permission denied
"
就用
出现以下说明打包成功,接下来可以开始部署:
https://jingyanbaiducom/article/9113f81b49ed2f2b3214c7fahtml
注意:如果遇到只读权限不能修改时,将host文件复制一份到桌面,修改后在替换原来的host文件
在hosts文件末尾加上kafka服务器< !外网! 39 025>地址,修改后的格式如下:
11注意: 修改阿里云服务器的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
41本地docker创建topic:
42 本地windows 创建topic
进入本地软件路径KAFKA/BIN/WIONDOWS
创建topic
5修改服务器的host:
一定要注意加sudo 不然会导致readonly 无法修改
在host 文件的末尾加上以下:
6切换到工程部署的目录
7清理redis,不然数据有残留:
71服务器上的redis挂载清除:
在 docker-composeyml中注销这几行: 目的是每次启动不必记录上次没有执行完的数据
这个是用来记录redis中假如上次指定的是1到100万块,没有执行完下次接着执行没执行完的任务,测试时暂时关闭
72删除volume:
73 如果volume文件被占用时,先删除占用容器:
74 清除redis中的数据
进入redis容器中:
8部署命令:
81开启docker可视化web上监控docker:
然后访问: http://391004841:9000
宿主机IP + 9000端口
82执行部署命令,启动服务:
9部署时报错: yaml: line 46: did not find expected key
原因: docker-composeyml文件中第46行 报错
解决:将所有数据对齐,不要有多余的空格
部署项目您要选择支持项目运行的系统,然后在服务器上挂本地磁盘,把项目传到服务器上去。如果是做应用就可以尝试远程连接并且调试了,如果是网站项目还需要解析域名与备案。这些一起完成后,耐心等待。
大体是这么一个套路。
jenkins要想在远程服务器执行命令,发送文件等操作,必然要处理jenkins与远程机的免交互问题。
下面如何让jenkins与目标主机实现免交互。
系统管理-- 插件安装--搜索ssh --安装 Publish Over SSH
安装完成后,在jenkins端生成秘钥对(公钥id_rsapub 私钥id_rsa)
输入一次密码,以后就免密了。输入完可以用ssh 登陆试一下。
我们以最简单的一个例子来演示,部署一个Html页面到远程服务器的nginx网站目录下,实现页面上线。
首先,刚才jenkins配置ssh插件,注意填写远程服务器信息的那里的remote directory这个地方指的发送到远程服务器的哪个目录下。
在job配置中
上图的配置就是,将jenkins上的项目文件inithtml发送到远端主机1921681112的/var/www/html下
保存,退出。
远端主机的nginx配置:
点击构建。
结果:部署成功
例子比较简单,后期会更新java的部署过程。
0条评论