Spring boot结合Kafka的Demo

欢迎关注本人个人博客https://huangshubin.gitee.io,阅读体验更佳!
文章链接KafkaDemo

KafkaDemo参考博客:http://www.54tianzhisheng.cn/2018/01/05/SpringBoot-Kafka/

Spark安装:厦大数据库实验室Spark安装

Scala安装:厦大数据库实验室Scala安装

相应软件的安装

环境:
jdk 1.8.0_161

scala 2.12.12

spark 2.4.7

maven 3.6.3

zookeeper 3.6.1

kafka_2.12-2.5.0

apache-tomcat-8.5.61

nginx-1.17.10.tar.gz

jdk的安装

  1. 在 /usr/local/ 下创建 java ⽂件夹并进⼊。

cd /usr/local/

mkdir java

cd java

  1. 将上⾯准备好的 JDK 安装包解压到 /usr/local/java 中即可

tar -zxvf /root/jdk-8u161-linux-x64.tar.gz -C ./

解压完之后, /usr/local/java ⽬录中会出现⼀个 jdk1.8.0_161 的⽬录

  1. 编辑 /etc/profile ⽂件,在⽂件尾部加⼊如下 JDK 环境配置即可
JAVA_HOME=/usr/local/java/jdk1.8.0_161  
CLASSPATH=$JAVA_HOME/lib/  
PATH=$PATH:$JAVA_HOME/bin  
export PATH JAVA_HOME CLASSPATH

然后执⾏如下命令让环境变量⽣效

source /etc/profile

  1. 输⼊如下命令即可检查安装结果:
java -version  
javac

Maven安装

  1. 这⾥下载的是 apache-maven-3.6.3-bin.tar.gz 安装包,并将其放置于提前创建好的 /opt/maven
    ⽬录下并解压。
tar zxvf apache-maven-3.6.3-bin.tar.gz
  1. 配置Maven阿里加速镜像源

编辑修改 /opt/maven/apache-maven-3.6.3/conf/settings.xml
⽂件,在 <mirrors></mirrors> 标签对⾥添加如下内容即可:

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
  1. 配置环境变量

    编辑修改 /etc/profile ⽂件,在⽂件尾部添加如下内容,配置 maven 的安装路径

    export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
    export PATH=$MAVEN_HOME/bin:$PATH
    

    接下来执行source /etc/profile 来刷新环境变量,让 maven 环境的路径配置生效

  2. 执⾏ mvn –v ,能打印出 maven 版本信息说明安装、配置成功

zookeeper的安装

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务

  1. 在 /usr/local/ 下创建zookeeper ⽂件夹并进⼊.

cd /usr/local/

  1. 将 ZooKeeper 安装包解压到 /usr/local/zookeeper 中即可

tar -zxvf /root/apache-zookeeper-3.6.1-bin.tar.gz -C ./
解压完之后, /usr/local/zookeerper ⽬录中会出现⼀个 apache-zookeeper-3.6.1-bin 的⽬录

  1. 创建Data目录,这⾥直接在 /usr/local/zookeeper/apache-zookeeper-3.6.1-bin ⽬录中创建⼀个 data ⽬录,等下该 data ⽬录地址要配到 ZooKeeper 的配置⽂件中
  2. 创建配置⽂件并修改,进⼊到 zookeeper 的 conf ⽬录,复制 zoo_sample.cfg 得到 zoo.cfg :

cd conf
cp zoo_sample.cfg zoo.cfg

修改配置⽂件 zoo.cfg ,将其中的 dataDir 修改为上⾯刚创建的 data ⽬录,其他选项可以按需配置

ticiktime = 2000
initiLimit = 10
synLimit = 5
datadir = /home/zcb/zookeeper/data
clientPort = 2181

  1. 启动zooKeeper

./bin/zkServer.sh start

启动后可以通过如下命令来检查启动后的状态:

./bin/zkServer.sh status

  1. 编辑配置⽂件

vim /etc/profile

尾部加⼊ ZooKeeper 的 bin 路径配置即可

export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.6.1-bin  
export PATH=$PATH:$ZOOKEEPER_HOME/bin

最后执⾏ source /etc/profile 使环境变量⽣效即可

⾸先进⼊ /etc/rc.d/init.d ⽬录,创建⼀个名为 zookeeper 的⽂件,并赋予执⾏权限

cd /etc/rc.d/init.d/
touch zookeeper
chmod +x zookeeper

接下来编辑 zookeeper ⽂件,并在其中加⼊如下内容:

    #!/bin/bash  
    #chkconfig:- 20 90
    #description:zookeeper
    #processname:zookeeper
    ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.6.1-bin
    export JAVA_HOME=/usr/local/java/jdk1.8.0_161 # 此处根据你的实际情况更换对应
    case $1 in
        start) su root $ZOOKEEPER_HOME/bin/zkServer.sh start;;
        stop) su root $ZOOKEEPER_HOME/bin/zkServer.sh stop;;
        status) su root $ZOOKEEPER_HOME/bin/zkServer.sh status;;
        restart) su root $ZOOKEEPER_HOME/bin/zkServer.sh restart;;
        *) echo "require start|stop|status|restart" ;;
    esac

Kafka安装部署

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。因为 Kafka 的运⾏环境依赖于 ZooKeeper ,所以⾸先得安装并运⾏ ZooKeeper 。

  1. 准备KAFKA安装包,这⾥下载的是 2.5.0 版: kafka_2.12-2.5.0.tgz ,将下载后的安装包放在了 /root ⽬录下
  2. 解压并安装,在 /usr/local/ 下创建 kafka ⽂件夹并进⼊

cd /usr/local/
mkdir kafka
cd kafka

  1. 将Kafka安装包解压到 /usr/local/kafka 中即可

tar -zxvf /root/kafka_2.12-2.5.0.tgz -C ./

解压完之后, /usr/local/kafka ⽬录中会出现⼀个 kafka_2.12-2.5.0 的⽬录

  1. 创建Logs目录,这⾥直接在 /usr/local/kafka/kafka_2.12-2.5.0 ⽬录中创建⼀个 logs ⽬录等下该 logs ⽬录地址要配到Kafka的配置⽂件中。
  2. 修改配置⽂件,进⼊到 Kafka 的 config ⽬录,编辑配置⽂件 server.properties

cd config/
vim server.properties

修改配置⽂件,⼀是将其中的 log.dirs 修改为上⾯刚创建的 logs ⽬录,其他选项可以按需配置

############################# Log Basics #############################

# A comma separated list of directories under which to store log files
log.dirs=/home/zcb/kafka_2.12-2.5.0/logs

另外关注⼀下连接 ZooKeeper 的相关配置,根据实际情况进⾏配置:

zooKeeper.connect = localhost:2181

zooKeeper.connection = 18000

  1. 启动KAFKA,执行如下命令即可:

./bin/kafka-server-start.sh ./config/server.properties

如果需要后台启动,则在./bin/kafka-server-start.sh后加上 -daemon 参数即可

  1. 实验验证,这里要注意要先关闭防火墙

然后⾸先创建⼀个名为 demo 的 topic(对应一个消息队列) :

./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic demo

创建完成以后,可以使⽤命令来列出⽬前已有的 topic 列表

./bin/kafka-topics.sh --list --bootstrap-server localhost:9092

接下来创建⼀个⽣产者,⽤于在demo 这个 topic 上⽣产消息:

./bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic demo

⽽后接着创建⼀个消费者,⽤于在 demo 这个 topic 上获取消息:

./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic demo

此时在生产者中发送消息,可以观察能否在消费者中接受到,若成功接受到,则代表安装完成

tomcat安装

安装tomcat参考博客

版本为 apache-tomcat-8.5.61

简化tomcat启动参考博客

只看其中的第四部分:创建SystemD单元文件

配置文件如下:

[Unit]
Description=Tomcat Service
After=network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_161"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"

Environment="CATALINA_BASE=/usr/local/apache-tomcat-8.5.61"
Environment="CATALINA_HOME=/usr/local/apache-tomcat-8.5.61"
Environment="CATALINA_PID=/usr/local/apache-tomcat-8.5.61/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/usr/local/apache-tomcat-8.5.61/bin/startup.sh
ExecStop=/usr/local/apache-tomcat-8.5.61/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

将设置开机启动tomcat

sudo systemctl enable tomcat

启动tomcat

sudo systemctl start tomcat

在浏览器中访问localhost:8080

出现tomcat页面表示tomcat启动成功

检查的服务状态

sudo systemctl status tomcat

关闭tomcat

sudo systemctl stop tomcat

nginx安装

  1. 首先下载nginx-1.17.10.tar.gz安装包

  2. 解压缩安装包

cd /usr/local
mkdir nginx
cd nginx
tar zxvf /home/hsb/LinuxSoftware/nginx-1.17.10.tar.gz -C ./

之后将在/usr/local/nginx目录下出现一个nginx-1.17.10的文件夹

  1. 安装环境依赖
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
# Ubuntu的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl 
sudo apt-get install libssl-dev
  1. 编译安装nginx
cd nginx-1.17.10
./configure
make && make install
  1. 启动nginx

/usr/local/nginx/sbin/nginx

停止nginx服务

/usr/local/nginx/sbin/nginx -s stop

修改了配置文件后想重新加载Nginx

/usr/local/nginx/sbin/nginx -s reload

配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值