SEATA第二章:seata-server安装启动

   seata分为三种角色:TC,TM,RM。TC是 seata-server,TM和RM是seata-client。

   我们先启动seata-server,以下是运行环境:

seata-server 1.2.0;Naocs1.3;jdk1.8.0;maven 3.6.3;mysql 5.7.24 操作系统Linux;


wget安装:

首先检查linux中是否安装wget(一个下载工具),没有通过yum -y install wget进行安装。

jdk1.8.0安装:

    1.通过wget下载jdk1.8.0,并且解压缩到/usr/java目录下

    2.配置环境变量  vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_131export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport PATH=$PATH:${JAVA_PATH}


   3.让我们更改的配置信息生效 source /etc/profile

   4.测试安装结果 java -versio,如果有其他情况,多个jdk版本之间切换等同学们可自行查询方法。

maven 3.6.3安装:

    1.通过wget下载maven

wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz


    2.解压缩下载的maven包

tar zvxf apache-maven-3.6.3-bin.tar.gz

    3.配置系统变量,执行命令:vi /etc/profile

export MAVEN_HOME=/usr/local/software/dir-maven/apache-maven-3.5.0export PATH=$MAVEN_HOME/bin:$PATH


    4.刷新配置文件,执行命令:

source/etc/profile

    5.执行mvn -v查看Maven是否安装成功

    6.配置maven的仓库地址,vi /maven目录/conf/setting.xml

          alimaven      *      aliyun maven    http://maven.aliyun.com/nexus/content/groups/public/     

      OK,maven我们也安装完毕。

mysql5.7.24安装(借鉴于:开心跳蚤):

    1.检查是否安装过mysql,执行命令:rpm -qa | grep mysql,如果发现有mysql版本输出则代表已安装mysql


    2.卸载之前安装的mysql,执行命令:rpm -e --nodeps 第一步输出来的mysql版本号


    3.再次执行查询命令,查看是否删除完成。执行命令:rpm  -qa | grep mysql 发现没有mysql版本信息输出,代表第二步删除成功,如果依然存在则重复第2步进行删除操作。


    4.查询所有mysql对应的文件夹,执行命令:whereis mysql 或者 find / -name mysql,可以看到输出来的都是mysql的目录,第2步我们卸载的是系统安装文件。


    5.删除第4步查询出来的文件,执行命令:rm -rf mysql目录地址


    6.验证第5步删除是否完成,执行命令:find / -name mysql,如果没有输出则代表我们已经删除干净,否则继续执行第5步进行删除操作。


    7.检查mysql用户组和用户是否存在,如果没有则创建,执行命令:先执行用户组创建,在执行用户创建。

groupadd mysqluseradd -r -gmysql mysql


 8.通过wget下载mysql安装包,执行命令:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz


    9.解压第8步下载的mysql压缩包,执行命令:tar xzvf mysql压缩包名字


    10.解压缩完毕之后,需要将mysql安装包移动到/usr/local/目录下,且将其重命名为mysql,执行命令:mv mysql安装包 /usr/local/mysql


    11.在/usr/local/mysql目录下创建data目录,执行命令:

mkdir /usr/local/mysql/data


    12.更改mysql下文件所述用户组合用户权限,执行命令:  

chown -R mysql:mysql /usr/local/mysqlchown -R 755 /usr/local/mysql


    13.编译安装并初始化mysql,一定要记住初始化输出日志末尾的初始密码,执行命令:

cd /usr/local/mysql/binmysqld --initialize --user=mysql--datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

补充说明:第13步时,可能会出现错误:


出现该问题首先检查该链接库文件有没有安装使用 命令进行核查 rpm -qa|greplibaio 运行命令后发现系统中无该链接库文件  yum install  libaio-devel.x86_64安装成功后,继续运行数据库的初始化命令,此时可能会出现如下错误:    

执行如下命令后:yum-y install numact执行无误之后,再重新执行第4步初始化命令,无误之后再进行第14步操作!


    14.初始化命令成功后一定要将日志末尾的密码复制下来,root@localhost:后的字符串,这是mysql的管理员临时密码。


    15.编辑配置文件my.cnf,添加配置如下:

[root@localhostbin]#  vi /etc/my.cnf[mysqld]datadir=/usr/local/mysql/dataport= 3306sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESsymbolic-links=0max_connections=600innodb_file_per_table=1lower_case_table_names=1


    16.启动mysql服务器,执行命令:

/usr/local/mysql/support-files/mysql.serverstart

    如果控制台输出:Starting mysql,说明数据库安装成功。

异常情况如果出现如下提示信息StartingMySQL... ERROR! The server quit without updating PIDfile查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令#查询服务ps -ef|grep mysqlps -ef|grep mysqld#结束进程kill -9PID


    17.添加软连接,并重启mysql服务

ln-s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqlln-s /usr/local/mysql/bin/mysql /usr/bin/mysqlservice mysql restart

    18.登录mysql修改管理员密码

mysql -u root -pEnter password:mysql>set password for root@localhost =password('yourpass');


    19.开放远程连接

mysql>use mysql;msyql>update user set user.Host='%' whereuser.User='root';mysql>flush privileges;


    20.设置开机自启动

    1.将服务文件拷贝到init.d下,并重命名为mysql

cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    2.赋予可执行权限

chmod +x /etc/init.d/mysqld

    3.添加服务

chkconfig --add mysqld

    4.显示服务列表

chkconfig --list 

nacos1.3安装:

    1.下载编译后的压缩包,可以自行下载后通过xftp上传到服务器,下载地址:

https://github.com/alibaba/nacos/tags

2.解压缩,执行命令:

tarzxvf nacos压缩包


3.我们只是简单的部署所以只以单机形式启动,执行命令:

shstartup.sh-mstandalone


    4.访问nacos控制台,端口默认8848:

http://ip:8848/nacos/index.html

    5.如果访问不通首先查看服务是否正常启动,执行命令:jps,如果正常启动则看服务8848端口是否对外开放(使用阿里云的同学们注意,端口开放需要在阿里云实例里进行配置,看下图:

)


seata1.2安装:

    上述铺垫了这么多,终于要安装seata有点小激动吗同学们,接下来我们开始安装seata,当然我们也是仅仅安装一台单机启动。

    1.通过wget下载压缩包,执行命令:

wget https://github.com/seata/seata/releases/download/v1.2.0/seata-server-1.2.0.zip

    2. 解压缩安装包,执行命令:unzip seata-server-1.2.0.zip

    3.后进入seata conf目录进行配置,本案例注册中心使用nacos,配置中心依然使用默认的file,因为是单机的原因,如果是集群建议将配置中心也设置为nacos,便于统一管理,执行命令:cd seata-service/conf

    4.打开registry.conf,修改注册中心如下图:


     5.打开file.conf,修改server的属性值,store.mode是配置事物回话信息存储方式,file/db,file不支持高可用,也就是集群模式下我们必须配置为db模式,此案例我们也使用db模式,配置入下图所述:

数据库信息是我们刚才安装的Mysql信息,当然用户,数据库需要自行创建一下,seata所需要的三张表也需要创建,脚本:

https://github.com/seata/seata/tree/develop/script/server/db

    6.启动seata-server,进入bin目录,这里需要讲一下启动参数:

     -h:最终注册到注册中心的ip地址

-p:seata-server监听的端口,通过netty与客户端进行通信

    其他三个我们先不关注,最终我们启动命令是(ip自行切换): 

./seata-server.sh -h ip -p 8091 &


    7. 启动成功之后我们首先通过jps查看服务,看到Server则代表启动成功。然后我们取Nacos控制中心查看下我们的seata-server是否注册成功:


至此为止我们把服务端的东西都已安装完成,且运行正常,下一章我们开始讲解 AT,TCC.SEGA的客户端整合,重点是客户端的参数配置,包含与dubbo,cloud等rpc框架。

你可能感兴趣的:(SEATA第二章:seata-server安装启动)