从零开始实施推荐系统的落地部署——33.推荐系统案例(二十三)kafka单机搭建和mysql的安装
为了做股票数据可视化,购买2台配置2C4G云服务器,一台设置spark1,另外一台设置为kafka1。还购买了域名再等审核,现在先部署好相关软件。
1.建立目录和查看是否安装java或看版本是否符合
wuyi用户下创建我们将要使用的各个目录
#softwares 软件目录 #modules 模块目录 #tools 工具目录 #datas 数据目录
mkdir -p /opt/softwares
mkdir -p /opt/modules
mkdir -p /opt/tools
mkdir -p /opt/datas
查看Linux自带的jdk
rpm -qa|grep java
查看jdk版本
java -version
将jdk安装包通过工具上传到/opt/softwares目录下
tar -zxf /opt/softwares/jdk-8u221-linux-x64.tar.gz -C /opt/modules/
mv /opt/modules/jdk1.8.0_221 /opt/modules/jdk
配置Java 环境变量
vi /home/wuyi/.bash_profile
export JAVA_HOME=/opt/modules/jdk
export PATH=$PATH:$JAVA_HOME/bin
配置后运行下面命令使java生效
source /home/wuyi/.bash_profile
java -version #查看Java是否安装成功
2.在虚拟机做过测试,在2台2C4G配置上,获取数据时,需要使用到数据库,对比一下mysql和clickhouse的性能,发现使用mysql只要6秒,而clickhouse要7秒,比msyql还慢1秒,可能是因为clickhouse比较吃CPU资源导致,配置低的原因造成。如果配置高应该不会出现这种情况。还有使用mysql的好处是处理过的数据写入到mysql不需要建表,会自动建表和默认类型,如果是clickhouse就必须建表,而且还有指定类型,否则会报错,所以这次在kafka1安装mysql。
配置mysql的yum源
sudo vi /etc/yum.repos.d/mysql.repo
[mysql]
name=mysql
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/
gpgcheck=1
gpgkey=http://repo.mysql.com/RPM-GPG-KEY-mysql
配置好,清理一下yum缓存
yum clean all
yum makecache
安装MYSQL5.6
sudo yum install -y mysql-server
启动mysql
sudo systemctl start mysql
设置开机启动
systemctl enable mysqld
修改mysql的密码
set password = password('密码');
开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启远程登录mysql的权限
登录mysql后输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by '密码';
记得要使用下面命令让mysql权限生效。
flush privileges;
建立shares数据库
create database shares;
3.kafka 单机版搭建
3.1解压软件
将kafka安装包通过工具上传到/opt/softwares目录下
tar -zxvf /opt/softwares/kafka_2.11-2.1.0.tgz -C /opt/modules/
cd /opt/modules/
mv kafka_2.11-2.1.0 kafka
vi /opt/modules/kafka/config/server.properties
listeners=PLAINTEXT://kafka1.wuyi.com:9092
在启动kafka之前先启动zookeeper
/opt/modules/kafka/bin/zookeeper-server-start.sh /opt/modules/kafka/config/zookeeper.properties
/opt/modules/kafka/bin/kafka-server-start.sh /opt/modules/kafka/config/server.properties
3.2开始使用kafka
(1)topic是用来放消息的,也可以做消息分类
创建topic,在bin目录下
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic share
(2)查看topic
./kafka-topics.sh --list --zookeeper localhost:2181
(3)启动生产者
./kafka-console-producer.sh --broker-list localhost:9092 --topic share
(4)启动消费者
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic share
生产者的作用:往topic里生产数据。生产者可以是java客户端、flume等
消费者的作用:消费topic里的数据。消费者可以是java客户端、spark streaming等
什么叫broker(代理)?安装了kafka服务的机器
(5)消费者可以接收,生成者生成的数据
消费者可以接收,生成者生成的数据,如果不指定 --from-beginning 那么消费者消费的是最新的数据。指定了之后也可以消费以前的数据
(6)消费者,可以消费之前产生的数据
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic share --from-beginning
- 点赞
- 收藏
- 关注作者
评论(0)