虚拟机基础常用操作命令(2)——软件安装、环境搭建

虚拟机软件安装、环境搭建

1、 wget: 未找到命令

[root@localhost ~]# yum -y install wget
安装完毕即可。

上面的方法使用的前提是你的linux 系统是已经连接外网,可以ping一下百度主页,如果通,就是连接外网了,不是的话,就要先去打开网络链接(这个百度一下就很多),打开网络链接后,重启linux系统这样才真的可以上外网,因为wget是通过外网进行下载的,然后运行yum install wget,这样就可以.

2、在线安装下载JDK


命令:
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
参考地址:
https://www.cnblogs.com/justuntil/p/11665540.html

3、创建目录

mkdir /data1/ehserver/env/kafka_2.11-2.2.0/logs/kafka-logs-1 -pv
解压缩:
tar -zxf kafka_2.11-2.0.0.tgz -C /data1/ehserver/env

4、 查看虚拟机中现存在的jdk版本:

输入指令:rpm -qa|grep jdk

5、安装下载ZK

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.0/apache-zookeeper-3.6.0.tar.gz
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

参考地址:
https://www.cnblogs.com/expiator/p/9853378.html

6、zk 启动找不到或无法加载主类 org.apache.zookeeper.ZooKeeperMain


https://www.cnblogs.com/zhoading/p/11593972.html

7、安装kafka

参考上篇kafka安装

8、测试demo


创建一个topic:
对于linux或者macos操作系统,执行kafka的shell文件
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

对于windows操作系统用户,请执行对应的bin/windows目录下的bat文件
bin/windows/kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

启动producer:
对于linux或者macos操作系统,执行kafka的shell文件

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
对于windows操作系统,执行kafka的bat文件

bin/windows/kafka-console-producer.bat --broker-list localhost:9092 --topic test


启动consumer:
对于linux或者macos操作系统,执行kafka的shell命令

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
对于windows操作系统,执行kafka的bat命令

bin/windows/kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test

9、出现异常:

 ERROR Error when sending message to topic test with key: null, value: 14 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.CorruptRecordException: This message has failed its CRC checksum, exceeds the valid size, has a null key for a compacted topic, or is otherwise corrupt.

原因:kafka 生成者创建需要一个key值

启动producer修改为:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test \--property parse.key=true \--property key.separator=,

发送格式为:key,value 
这样在消费端可以收到value.


10、安装Redis


wget http://download.redis.io/releases/redis-5.0.5.tar.gz

参考资料:

https://blog.csdn.net/slss01/article/details/88920845
https://blog.csdn.net/weixin_44899258/article/details/93976868

启动: ./bin/redis-server /data1/ehserver/env/redis-4.0.8/etc/redis.conf 

11、-bash: mkde: 未找到命令 

原因是因为未安装gcc
解决方法:
yum install gcc-c++ -y

12、redis 启动日志 输出 


https://www.cnblogs.com/hzb462606/p/9117193.html

logfile "/data1/ehserver/env/redis-4.0.8/logs/nohup.out"


/data1/ehserver/env/redis-4.0.8/bin/redis-server
/data1/ehserver/env/redis-4.0.8/etc/redis.conf


10、 tomcat

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.100/bin/apache-tomcat-7.0.100.tar.gz 

# docker run -d -p 58080:8080 -v /root/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh

 

11、kafka配置文件介绍(server.properties)

server.properties(broker.id和listeners每个节点都不相同)

#是否允许删除topic,默认false不能手动删除
delete.topic.enable=true
#当前机器在集群中的唯一标识,和zookeeper的myid性质一样
broker.id=0
#当前kafka服务侦听的地址和端口,端口默认是9092
listeners = PLAINTEXT://192.168.100.21:9092
#这个是borker进行网络处理的线程数
num.network.threads=3
#这个是borker进行I/O处理的线程数
num.io.threads=8
#发送缓冲区buffer大小,数据不是一下子就发送的,先会存储到缓冲区到达一定的大小后在发送,能提高性能
socket.send.buffer.bytes=102400
#kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.receive.buffer.bytes=102400
#这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
socket.request.max.bytes=104857600
#消息日志存放的路径
log.dirs=/opt/module/kafka_2.11-1.1.0/logs
#默认的分区数,一个topic默认1个分区数
num.partitions=1
#每个数据目录用来日志恢复的线程数目
num.recovery.threads.per.data.dir=1
#默认消息的最大持久化时间,168小时,7天
log.retention.hours=168
#这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件
log.segment.bytes=1073741824
#每隔300000毫秒去检查上面配置的log失效时间
log.retention.check.interval.ms=300000
#是否启用log压缩,一般不用启用,启用的话可以提高性能
log.cleaner.enable=false
#设置zookeeper的连接端口
zookeeper.connect=node21:2181,node22:2181,node23:2181
#设置zookeeper的连接超时时间
zookeeper.connection.timeout.ms=6000


12、kafka启动多个broker


如果想在同一台服务器启动多个broker可以复制多份config/server.propoerties文件


这里我复制了三份server.properties文件,这样我可以启动三个broker。在启动broker之前,需要先修改server.properties文件中的三个属性,broker.id、listeners和log.dirs,保证这三个属性不同。

bin/kafka-server-start.sh --daemon config/server1.properties
bin/kafka-server-start.sh --daemon config/server2.properties
bin/kafka-server-start.sh --daemon config/server3.properties


13、分发安装包到其他节点

[admin@node21 module]$ scp -r kafka_2.11-1.1.0 admin@node22:/opt/module/
[admin@node21 module]$ scp -r kafka_2.11-1.1.0 admin@node23:/opt/module/
修改node22,node23节点kafka配置文件conf/server.properties里面的broker.id和listeners的值。


14、 添加环境变量


[admin@node21 module]$ vi /etc/profile
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka_2.11-1.1.0
export PATH=$PATH:$KAFKA_HOME/bin
保存使其立即生效

[admin@node21 module]$  source /etc/profile

3.1 首先启动zookeeper集群
所有zookeeper节点都需要执行

[admin@node21 ~]$ zkServer.sh start
3.2 后台启动Kafka集群服务
所有Kafka节点都需要执行

[admin@node21 kafka_2.11-1.1.0]$ bin/kafka-server-start.sh config/server.properties &

15、kafka命令行操作


kafka-broker-list:node21:9092,node22:9092,node23:9092

zookeeper.connect-list: node21:2181,node22:2181,node23:2181


在node21节点上创建一个新的Topic

[admin@node21 kafka_2.11-1.1.0]$ bin/kafka-topics.sh --create --zookeeper node21:2181,node22:2181,node23:2181 --replication-factor 3 --partitions 3 --topic TestTopic


选项说明:

--topic 定义topic名

--replication-factor  定义副本数

--partitions  定义分区数

查看topic副本信息
[admin@node21 kafka_2.11-1.1.0]$ bin/kafka-topics.sh --describe --zookeeper node21:2181,node22:2181,node23:2181 --topic TestTopic


 查看已经创建的topic信息
[admin@node21 kafka_2.11-1.1.0]$ kafka-topics.sh --list --zookeeper node21:2181,node22:2181,node23:2181

在node21上生产消息

[admin@node21 kafka_2.11-1.1.0]$ bin/kafka-console-producer.sh --broker-list node21:9092,node22:9092,node23:9092 --topic TestTopic


在node22上消费消息(旧命令操作)

[admin@node22 kafka_2.11-1.1.0]$ kafka-console-consumer.sh --zookeeper node21:2181,node22:2181,node23:2181  --from-beginning --topic TestTopic
--from-beginning:会把TestTopic主题中以往所有的数据都读取出来。根据业务场景选择是否增加该配置。

新消费者命令

[admin@node22 kafka_2.11-1.1.0]$ kafka-console-consumer.sh --bootstrap-server node21:9092,node22:9092,node23:9092  --from-beginning --topic TestTopic


删除topic
[admin@node22 kafka_2.11-1.1.0]$ bin/kafka-topics.sh --zookeeper node21:2181,node22:2181,node23:2181  --delete --topic TestTopic


需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。

16、 停止Kafka服务


[admin@node21 kafka_2.11-1.1.0]$ bin/kafka-server-stop.sh stop


编写kafka启动脚本

[admin@node21 kafka_2.11-1.1.0]$ cd bin
[admin@node21 bin]$ vi start-kafka.sh
#!/bin/bash
nohup /opt/module/kafka_2.11-1.1.0/bin/kafka-server-start.sh  /opt/module/kafka_2.11-1.1.0/config/server.properties >/opt/module/kafka_2.11-1.1.0/logs/kafka.log 2>&1 &
赋权限给脚本:chmod +x start-kafka.sh


17、-bash: unzip: 未找到命令

Install 安装
[root@dev-redis agent]# yum install -y unzip zip

这里介绍的是在虚拟机上搭建Kafka的开发环境过程中遇到的一些问题,在此做一下总计记录。仅自己学习

每天努力一点,每天都在进步。

发布了156 篇原创文章 · 获赞 50 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/dingjianmin/article/details/104826313
今日推荐