1. 环境规划:
| 主机名 | IP地址 | 角色 |
| node1 | 192.168.56.111 | ElasticSearch(master) Zookeeper Kafka |
| node2 | 192.168.56.112 | ElasticSearch(slave) Kibana Zookeeper Kafka |
| node3 | 192.168.56.113 | ElasticSearch(slave) Zookeeper Kafka |
| node4 | 192.168.56.114 | Logstash Filebeat |
2. 配置Zookeeper集群:
1>. 安装zookeeper:三个节点操作一致。
[root@node1 ~]# mkdir /data/
[root@node1 ~]# tar xf zookeeper-3.4.10.tar.gz -C /data/
[root@node1 ~]# cd /data
[root@node1 data]# ln -sv zookeeper-3.4.10/ zookeeper
'zookeeper' -> 'zookeeper-3.4.10/'
2>. 配置zookeeper,三个节点都要配置:
[root@node1 data]# cd zookeeper/conf
[root@node1 conf]# cp zoo_sample.cfg zoo.cfg
[root@node1 conf]# vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data ##这个目录用来存放快照、myid等数据
dataLogDir=/data/zookeeper/logs ##这个目录用来存放事务日志
clientPort=2181 ##zookeeper连接端口
server.1=192.168.56.111:2888:3888
server.2=192.168.56.112:2888:3888
server.3=192.168.56.113:2888:3888
server.4=192.168.56.114:2888:3888:observer ##选配
[root@node1 ~]# mkdir /data/zookeeper/{data,logs}
[root@node1 ~]# echo 1 > /data/zookeeper/data/myid
[root@node2 ~]# echo 2 > /data/zookeeper/data/myid
[root@node3 ~]# echo 3 > /data/zookeeper/data/myid
注意:server.id=host:port:port,其中id为1-255,2888是集群间通讯的端口,3888为Leader
选举的端口。
3>. 配置观察者节点observer模式:(选配)
观察者节点不会参与选举,也不参与数据事务提交的ack应答;但是数据会跟集群同步。
[root@node4 data]# cd zookeeper/conf
[root@node4 conf]# cp zoo_sample.cfg zoo.cfg
[root@node4 conf]# vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data ##这个目录用来存放快照、myid等数据
dataLogDir=/data/zookeeper/logs ##这个目录用来存放事务日志
clientPort=2181 ##zookeeper连接端口
peerType=observer ##配置该选项的节点就是observer节点
server.1=192.168.56.111:2888:3888
server.2=192.168.56.112:2888:3888
server.3=192.168.56.113:2888:3888
server.4=192.168.56.114:2888:3888:observer
[root@node4 ~]# mkdir /data/zookeeper/{data,logs}
[root@node4 ~]# echo 4 > /data/zookeeper/data/myid
4>. 启动zookeeper:三个节点同时操作。
[root@node1 ~]# cd /data/zookeeper/bin/
[root@node1 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
5>. 查看各个节点zookeeper状态:
[root@node1 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[root@node2 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Mode: leader
[root@node3 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Mode: follower
3. 配置Kafka集群:
1>. 安装kafka:三个节点操作一致。
[root@node1 ~]# tar xf kafka_2.12-2.6.0.tgz -C /data/
[root@node1 ~]# cd /data/
[root@node1 data]# ln -sv kafka_2.12-2.6.0/ kafka
'kafka' -> 'kafka_2.12-2.6.0/'
2>. 配置kafka:三个节点都要操作。
[root@node1 data]# cd kafka/config/
[root@node1 config]# cp server.properties{,.bak}
[root@node1 config]# vim server.properties
broker.id=1 ##zookeeper myid
delete.topic.enable=true
listeners=PLAINTEXT://192.168.56.111:9092 ##修改成本机地址
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka/kafka-logs
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.56.111:2181,192.168.56.112:2181,192.168.56.113:2181 ##配置zookeeper集群
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
3>. 启动Kafka:三个节点都要操作。
[root@node1 ~]# cd /data/kafka/bin/
[root@node1 bin]# ./kafka-server-start.sh -daemon /data/kafka/config/server.properties
##停止kafka
[root@node1 bin]# ./kafka-server-stop.sh
4>. 测试kafka:
## 创建一个名为"test"的topic,它有一个分区和一个副本:
[root@node1 kafka]# bin/kafka-topics.sh --create --zookeeper 192.168.56.111:2181,192.168.56.112:2181,192.168.56.113:2181 --replication-factor 1 --partitions 1 --topic test
Created topic test.
## 查看topic是否创建成功:
[root@node1 kafka]# bin/kafka-topics.sh --list --zookeeper 192.168.56.111:2181,192.168.56.112:2181,192.168.56.113:2181
test
## 运行一个producer,发布消息:ctrl+d结束消息发布
[root@node1 kafka]# bin/kafka-console-producer.sh --broker-list 192.168.56.111:9092 --topic test
>hello world1
hello world2>
## 运行一个consumer,订阅主题看看是否可以收到消息:另一个节点测试
[root@node2 kafka]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.56.112:9092 --topic test --from-beginning
hello world1
hello world2
##删除主题:
[root@node1 kafka]# bin/kafka-topics.sh --delete --zookeeper 192.168.56.111:2181,192.168.56.112:2181,192.168.56.113:2181 --topic test
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/
前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
Ocra无法处理需要“tk”的应用程序require'tk'puts'nope'用奥克拉http://github.com/larsch/ocra不起作用(如链接中的一个问题所述)问题:https://github.com/larsch/ocra/issues/29(Ocra是1.9的"new"rubyscript2exe,本质上它用于将rb脚本部署为可执行文件)唯一的问题似乎是缺少tcl的DLL文件我不认为这是一个问题据我所知,问题是缺少tk的DLL文件如果它们是已知的,则可以在执行ocra时将它们包括在内有没有办法知道tk工作所需的DLL依赖项? 最佳答
我有一个类unzipper.rb,它使用Rubyzip解压文件。在我的本地环境中,我可以成功解压缩文件,而无需使用require'zip'明确包含依赖项但是在Heroku上,我得到一个NameError(uninitializedconstantUnzipper::Zip)我只能通过使用明确的require来解决问题:为什么这在Heroku环境中是必需的,但在本地主机上却不是?我的印象是Rails自动需要所有gem。app/services/unzipper.rbrequire'zip'#OnlyrequiredforHeroku.Workslocallywithout!class
出于某种原因,heroku尝试要求dm-sqlite-adapter,即使它应该在这里使用Postgres。请注意,这发生在我打开任何URL时-而不是在gitpush本身期间。我构建了一个默认的Facebook应用程序。gem文件:source:gemcuttergem"foreman"gem"sinatra"gem"mogli"gem"json"gem"httparty"gem"thin"gem"data_mapper"gem"heroku"group:productiondogem"pg"gem"dm-postgres-adapter"endgroup:development,:t
如何使用Capistrano将Rails应用程序部署到无法访问外部网络或存储库的生产或暂存服务器?我已经设法完成部署的一半,并意识到Capistrano没有在我的本地机器上下载gitrepo,但它首先连接到远程服务器并尝试在那里下载Git存储库。我希望有一个类似Javaee的构建系统,其中创建可交付成果并将该可交付成果发送到服务器。就像您构建.ear文件并将其部署到您想要的任何服务器上一样。显然在RoR中,你被迫(据我所知)在该服务器上构建应用程序,在那里创建一个gem存储库,在那里克隆最新的分支等等。有什么方法可以将准备运行的包发送到远程服务器吗? 最佳答
开门见山|拉取镜像dockerpullelasticsearch:7.16.1|配置存放的目录#存放配置文件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/config#存放数据的文件夹mkdir-p/opt/docker/elasticsearch/node-1/data#存放运行日志的文件夹mkdir-p/opt/docker/elasticsearch/node-1/log#存放IK分词插件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/plugins若你使用了moba,直接右键新建即可如上图所示依次类推创建
集成背景我们当前集群使用的是ClouderaCDP,Flink版本为ClouderaVersion1.14,整体Flink安装目录以及配置文件结构与社区版本有较大出入。直接根据Streampark官方文档进行部署,将无法配置FlinkHome,以及后续整体Flink任务提交到集群中,因此需要进行针对化适配集成,在满足使用需求上,尽量提供完整的Streampark使用体验。集成步骤版本匹配问题解决首先解决无法识别Cloudera中的FlinkHome问题,根据报错主要明确到的事情是无法读取到Flink版本、lib下面的jar包名称无法匹配。修改对象:修改源码:(解决无法匹配clouderajar