独自行走的犀牛 發表於 2020-3-29 21:57:00

centos 安装kafka

<p style="color: rgba(51, 102, 153, 1); font-size: 30px; font-weight: 400; letter-spacing: -0.5px; border-bottom: 1px dashed rgba(221, 221, 221, 1)">前言</p>
<p>Apache Kafka是一个流行的分布式消息代理,旨在有效地处理大量的实时数据。Kafka集群不仅具有高度的可伸缩性和容错能力,而且与ActiveMQ和RabbitMQ等其他消息代理相比,它还具有更高的吞吐量。尽管它通常用作发布/订阅消息传递系统,但许多组织也将其用于日志聚合,因为它为发布的消息提供了持久存储。</p>
<p>发布/订阅消息传递系统允许一个或多个生产者发布消息,而无需考虑使用者的数量或他们将如何处理消息。订阅的客户端会自动收到更新和创建新消息的通知。与客户端定期轮询以确定是否有新消息可用的系统相比,此系统更高效、可伸缩。</p>
<p>工欲善其事必先利其器,接下来看一下在centos上如何安装kafka。</p>
<p style="color: rgba(51, 102, 153, 1); font-size: 30px; font-weight: 400; letter-spacing: -0.5px; border-bottom: 1px dashed rgba(221, 221, 221, 1)">安装步骤</p>
<p style="color: rgba(51, 102, 153, 1); font-size: 30px; font-weight: 400; letter-spacing: -0.5px; border-bottom: 1px dashed rgba(221, 221, 221, 1)">一,更新系统</p>
<p>对centos系统的软件进行一些更新或者升级,从而在进行安装的时候可以很快的找到安装包。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">sudo yum install epel-release -y
sudo yum update -y 
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328122936893-46505376.jpg"></p>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328122950966-1022459679.jpg"></p>
<p style="color: rgba(51, 102, 153, 1); font-size: 30px; font-weight: 400; letter-spacing: -0.5px; border-bottom: 1px dashed rgba(221, 221, 221, 1)">二,安装jdk</p>
<p>安装jdk有两种方式,一种方式安装oracle jdk得下载安装包,第二种方式不用下载安装包,直接通过命令执行就完成安装了,安装的是openjdk。</p>
<p>(1) jdk安装的第一种方式</p>
<p>首先到Oracle官网上下载jdk,jdk 下载地址是:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html&nbsp;下载之后上传到centos上,接着执行本地安装jdk。</p>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328162833066-743262969.jpg"></p>
<p>下载完成之后上传到centos,接着输入以下命令进行安装。</p>
<div class="cnblogs_code">
<pre> sudo yum -y localinstall jdk-8u241-linux-x64.rpm</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328162938400-575797982.jpg"></p>
<p>安装完成之后,接着检查一下jdk是否安装成功。</p>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328163133860-899621813.jpg"></p>
<p>(2)jdk安装的第二种方式</p>
<p>使用以下得方式进行安装,就不用下载安装包,直接在centos输入命令即可完成安装。输入的命令是:</p>
<div class="cnblogs_code">
<pre>sudo yum install -y java-1.8.0-openjdk</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328163731697-956459225.jpg"></p>
<p>安装完成之后检查是否安装成功。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">java -version
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328163817994-1097058096.jpg"></p>
<p>&nbsp;</p>
<p>由于执行kafka需要配置jdk环境变量,那接下来看一下如何配置jdk变量。</p>
<p style="color: rgba(51, 102, 153, 1); font-size: 30px; font-weight: 400; letter-spacing: -0.5px; border-bottom: 1px dashed rgba(221, 221, 221, 1)">三,配置Java环境变量</p>
<p>如何配置Java变量呢?首先我们得检查一下环境种是否有Java变量。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">echo $JAVA_HOME
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328165210429-1299115097.jpg"></p>
<p>检查完没有配置,我们接着来配置一下环境变量,把jdk的安装路径找到,把这个路径赋值给JAVA_HOME,写入到用户主目录下的.bash_profile中或者放到/etc/profile中。通过如下命令来进行配置。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328170218017-1472499391.jpg"></p>
<p>接着让配置文件生效。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">source /etc/profile
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200328170325304-327052404.jpg"></p>
<p>配置完成之后,接下来进行kafka的安装。</p>
<p style="color: rgba(51, 102, 153, 1); font-size: 30px; font-weight: 400; letter-spacing: -0.5px; border-bottom: 1px dashed rgba(221, 221, 221, 1)">四,安装kafka</p>
<p>从kafka官网上下载kafka的二进制安装包,下载地址是:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz,下载下来之后进行解压。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329203641159-1758519147.jpg"></p>
<p>接着对文件进行解压。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">sudo tar -zvxf kafka_2.12-2.4.0.tgz -C/opt/
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329203857966-1162119227.jpg"></p>
<p>提取文件成功之后,接着创建一个文件的软连接,这样可以方便进行kafka的升级。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">sudo ln -s /opt/kafka_2.12-2.4.0 /opt/kafka
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329204413273-414885525.jpg"></p>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329210523649-749994232.jpg"></p>
<p>接下来,进入到kafka目录下,启动kafka,启动kafka之前得先启动zookeeper。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">sudo ./zookeeper-server-start.sh ../config/zookeeper.properties
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329211325059-790384791.jpg">  </p>
<p>接着在开启一个shell进行启动kafka。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">sudo ./kafka-server-start.sh ../config/server.properties
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329211424111-1756673948.jpg"></p>
<p>由于通过上面的方式启动不是很方便,接下来就配置系统单元服务进行启动kafka和zookeeper。</p>
<p>按照以下方式创建zookeeper.service系统服务单元。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$sudovi /etc/systemd/system/zookeeper.service


Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target


Type=simple
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
User=root
Group=root


WantedBy=multi-user.target
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329212309597-592982696.jpg"></p>
<p>&nbsp;</p>
<p>保存完成之后,来启动验证一下是否配置成功。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">sudo systemctl start zookeeper
sudo systemctl status zookeeper
sudo systemctl start zookeeper</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329212933252-1005677137.jpg"></p>
<p>接着在配置一下kafka服务器的系统服务单元。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ sudo vi /etc/systemd/system/kafka.service


Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service


Type=simple
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal



WantedBy=multi-user.target
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329213705129-1432638837.jpg"></p>
<p>配置完成之后,接着来启动kafka。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">sudo systemctl start kafka
sudo systemctl status kafka
sudo systemctl stop kafka
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329213810862-1022807867.jpg"> </p>
<p>创建成功之后,接下来,测试一下是否安装成功。</p>
<p>测试之前先通过kafka创建一个topic。进入到kafka目录下,接着通过下面命令创建一个kafka topic。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329214457430-837196483.jpg"></p>
<p>查看创建了多少个topic,可以使用以下命令进行查看。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">bin/kafka-topics.sh --list --zookeeper localhost:2181
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329214744065-71818843.jpg">  </p>
<p>接下来通过生产者进行发送消息。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329215030516-131874702.jpg"> </p>
<p>接着创建一个消费者来进行接收消息。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;"> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning
</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/566138/202003/566138-20200329215308798-1644819628.jpg"> </p>
<p>通过以上步骤,就成功安装kafka了,这个时候就可以通过java开发工具连接进行开发了。 </p>

</div>
<div id="MySignature" role="contentinfo">
    <div style="text-align: center"><img id="ViewPicture1_GalleryImage" src="https://files.cnblogs.com/files/Hackerman/%E9%BB%98%E8%AE%A4%E6%A0%87%E9%A2%98_%E6%A8%AA%E7%89%88%E4%BA%8C%E7%BB%B4%E7%A0%81_2020.gif" alt="微信公众号" style="border-width: 0px;">
</div>
<div id="MySignature" style="display: block; border: solid 1px #E5E5E5; padding: 10px; background: #FFFEFE url(&quot;https://images.cnblogs.com/cnblogs_com/Hackerman/617610/o_o_info.png&quot;) no-repeat scroll 1% 50%; padding-left: 60px">作者:Hackerman<br>
出处:http://www.cnblogs.com/Hackerman/ <br>
<div class="cuscomment" style="border: #c0c0c0 1px dashed; font-size: 9pt; line-height: 20pt; padding-left: 10px; padding-top: 5px; padding-right: 10px; padding-bottom: 10px; margin-top: 15px; margin-bottom: 15px">本文版权归作者和博客园共有,欢迎转载。但必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。</div></div><br><br>
来源:https://www.cnblogs.com/Hackerman/p/12595246.html
頁: [1]
查看完整版本: centos 安装kafka