1、JDK安装
// jdk安装步骤
把jdk的软件包上传到 Linux 某个文件夹中
// 解压至指定目录
tar -zxvf 软件的包名 -C `指定目录`
// 安装名字太长,不好配置PATH,自己改个名字
mv jdk1.8.0_186 jdk1.8
// 修改配置文件,配置 PATH [ :$ | G 跳到配置文件结尾]
vi /etc/profile
// 内容结尾追加两句 [路径根据自己的 JDK 解压路径]
export JAVA_HOME=/usr/local/jdk1.8
export PATH=/usr/local/jd1.8/bin:$PATH
// 按 ESC 退出编辑, 按 :wq 保存
source /etc/profile // 更新 PATH 配置
java -version // 查看JRE 版本
javac -version // 查看JDK 版本
2、 Tomcat 安装
// Tomcat安装步骤
把 Tomcat 的软件包上传到 Linux 某个文件夹中
// 解压至指定目录
tar -zxvf 软件的包名 -C `指定目录`
// 启动tomcat: 进入tomcat/bin目录中控制台输入
./startup.sh
// 或 通过绝对路径启动
/usr/local/apache-tomcat-9.0.54/bin/startup.sh
/*
如何确定tomcat是否启动成功
tomcat启动日志都放到logs 有一个catalina.out文件中
可以使用tail -f -n 100 catalina.out 看日志信息
在访问如果访问不了,把防火墙一定要关闭掉
systemctl stop firewalld
如果你想要把tomcat给关闭掉
可以找到他进程信息 ps -ef | grep java
通过kill -9 pid 把它杀死掉
*/
3、 MySQL安装
// 安装mysql5.7 示例
// 1、先把postfix 和mariadb-libs卸载掉,不然的会有依赖包冲突:
rpm -e postfix mariadb-libs
// 2、安装mysql的依赖net-tools和 perl
yum -y install net-tools perl
// 3、安装mysql-common包:
rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm
// 4、安装mysql-libs包:
rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm
// 5、安装mysql-client包;
rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm
// 6、安装mysql-server包
rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm
// 5、设置开机启动:
systemctl enable mysqld
// 6、启动MySql服务
systemctl start mysqld
// 7、由于MySQL5.7安装好后会给root用户分配一个临时密码,所以我们先查看临时密码
grep 'temporary password' /var/log/mysqld.log
/*
2018-06-01T19:40:08.341478Z 1 [Note] A temporary password is generated for root@localhost: Ct<pX.k7S(=w
冒号后面的就是root用户的临时密码:Ct<pX.k7S(=w
*/
// 8、使用临时密码登录 执行后提示输入密码
mysql -u root -p
// 提示输入密码, 输入不可见
Ct<pX.k7S(=w
// 9、进入MySQL后, 设置root的密码 `mysql>` 意思是连接mysql后输入
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'NB_Plus_1999';
mysql> exit
// 注意:mysql5.7增加了安全级别,密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
// 10、用新密码登陆
mysql -u root -p
password:NB_Plus_1999
// 11、开放远程登录权限 `mysql>` 意思是连接mysql后输入
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'NB_Plus_1999' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
// 12、开放mysql的3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
// 如果连接数据库出现乱码:在链接地址栏后添加
localhost:3306/demo?useUnicode=true&characterEncoding=utf-8
4、 RocketMQ安装
1.要知道RocketMQ原生就是支持分布式的,而ActiveMQ原生存在单点性。
2.RocketMQ可以保证严格的消息顺序,而ActiveMQ无法保证!
3.RocketMQ提供亿级消息的堆积能力,这不是重点,重点是堆积了亿级的消息后,依然保持写入低延迟!
4.丰富的消息拉取模式(Push or Pull)
Push好理解,比如在消费者端设置Listener回调;而Pull,控制权在于应用,即应用需要主动的调用拉消息方法从Broker获取消息,这里面存在一个消费位置记录的问题(如果不记录,会导致消息重复消费)。
5.在Metaq1.x/2.x的版本中,分布式协调采用的是Zookeeper,而RocketMQ自己实现了一个NameServer,更加轻量级,性能更好!
6.消息失败重试机制、高效的订阅者水平扩展能力、强大的API、事务机制等等(后续详细介绍)
获取rocketmq 在github上找到对应的版本,获取到下载链接
https://github.com/apache/rocketmq/releases
A、 安装Maven 插件
1、由于下载到的rocketmq是源码,需要对源码进行编译,编译使用maven,若linux没有安装,需做该操作
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -zxvf apache-maven-3.6.3-bin.tar.gz
vim /usr/local/src/apache-maven-3.6.3/conf/setting.xml 新增maven镜像http://maven.aliyun.com/nexus/content/groups/public/,如图1
2、配置环境变量,编辑文件/etc/profile在最下面添加以下内容(如图2)
MAVEN_HOME=/usr/local/src/apache-maven-3.6.3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
3、验证 mvn -v 得到maven信息,则成功配置完成
B、 编译
在rocketmq目录下执行 mvn -Prelease-all -DskipTests clean install -U 如图
C、启动
/rocketmq-rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1 该目录就是编译后的rocketmq
1、启动命令
nohup sh bin/mqnamesrv > /data/mq/rocketmq/nameserver.log 2>&1 &
jps (查看启动信息)
nohup sh bin/mqbroker -n 127.0.0.1:9876 -c conf/broker.conf autoCreateTopicEnable=true > /data/mq/rocketmq/broker.log 2>&1 &
2、rocketmq服务关闭
关闭namesrv服务:sh bin/mqshutdown namesrv
关闭broker服务 :sh bin/mqshutdown broker
D、 配置修改
安全组需要开放10909和10911端口,其中10911是非VIP通道,10909是VIP通道。
若启动broker出现内存不足错误
这是因为 apache-rocketmq/bin 目录下启动 nameserv 与 broker 的 runbroker.sh 和 runserver.sh 文件中默认分配的内存太大,而系统实际内存却太小导致启动失败。解决办法就是修改runbroker.sh 和 runserver.sh里的内存配置,调小一些即可。
评论区