卸载mariadb(卸载mariadb后无法再安装)
以免霸屏的指令是什么
为什么要学习Linux,因为Linux很多都是开源免费的,并且Linux是非常稳定的,我们开发出来的项目一般都是在服务器中的,我们操作服务器中的程序有两种方式,要么你就去服务器跟前,这种明显是不现实的,所以在实际情况中我们都是在电脑安装一个远程登陆软件,通过这个软件来连接远程的服务器,这样我们就可以在本地的电脑操作远程服务器了;Linux就提供了一种可靠的远程连接方式;
Linux的特点:免费,开源,多用户(同一时刻可以多个用户同时登陆和执行同一个Linux系统),多任务;
Linux的安装
安装
1.安装VMWare: 下载对应的软件,一直下一步就行;
2.安装centOS镜像:
①点击创建新的虚拟机
②然后按照虚拟机向导安装镜像,注意选择自己安装对应的镜像版本
③在CD/DVD的配置项中配置镜像的路径;(内存可以根据自己需求设置)
然后一直下一步就行;
④第一次启动的时候比较慢,因为需要安装一些东西;然后按照需求配置自己需要的就行;
不过设置的root密码要记住!第一次安装完成后需要重新启动!!!
⑤配置网卡驱动:
然后重新启动!
然后再使用 ip addr 查看ip地址是否可以显示了;
使用finalshell连接虚拟机
⑥使用远程连接软件连接本地的Linux来进行操作;
这里我们使用finalshell,自己下载安装这个finalshell就行;
下面我们来演示一下如何使用finalshell来连接这个Linux: 要先知道我们要连接的服务器(Linux或者是云服务器的IP地址)的ip地址才能去连接;
点击最左上角的文件夹图形,然后点击左边白色的文件夹,会弹窗出:然后点击SSH连接
出现下面的窗口:这个主机要写你要连接的服务器的ip地址,这里我们填自己这个虚拟机的ip地址就行(在本机的虚拟机使用 ip addr 查看自己的虚拟机的IP地址);
了解一下Linux的目录结构(不需要记忆)
Java中流传一句话:万物皆对象!在Linux中同样流传一句话:万物皆文件!
Linux中常用的命令(重点)
Linux命令初体验--几个常用命令
序号 命令 对应英文 作用
1 ls list 查看当前目录下的内容
2 pwd print work directory 查看当前目录所在目录
3 cd 目录名 change directory 切换目录
4 touch 文件名 touch 如果文件不存在,就新创建文件
5 mkdir 目录名 make directory 创建目录
6 rm 文件名 remove 删除指定文件
注意事项:
在执行Linux命令的时候,提示信息如果显示为乱码,这是由于编码问题导致的,只需要修改Linux的编码就行即可,命令如下:
下面命名表示:把'LANG="en_UTF-8"'追加到后面的文件中
echo 'LANG="en_UTF-8"' /etc/profile
source /etc/profile #重新加载配置文件,新添进去的配置才可以生效
登录后复制
使用Linux的一些小技巧:非常使用,和经常使用得到;
tab键自动补全
连续两次Tab键,给出操作提示
使用上下箭头快速调出曾经使用过的命令
使用clear命令或者是ctrl+l 实现快速清屏
Linux命令格式
command [-options][parameter]
登录后复制
说明:
command:命令名
[-options]:选项,可以用来对命令进行控制,也可以进行省略
[parameter]:传给命令的参数,可以是零个,一个或者是多个
注意:[] 代表可选
命令名 ,选项 ,参数之间使用空格进行分隔
案例演示: 使用 ls 与 使用 ls -l 的区别
paramter是多个的时候:比如同时创建多个文件
强制删除文件:
强制删除一个文件:rm -f 文件名1
强制删除一批文件:rm -f 文件名1 文件名2 文件名3
显示指定目录下的内容 ls和ll
作用:显示指定目录下的内容
语法:ls [-al] [dir]
说明:
-a 显示所有文件及目录 (.开头的隐藏文件也会列出, 在Linux中隐藏文件是以.开头的)
-l 除文件名称外,同时将文件类型(d表示目录,-表示文件),权限,拥有者,文件大小等信息详细列出
注意:由于我们使用ls命令是经常需要加入 -l 选项, 所以Linux为ls -l 提供了一种简单的书写方式, 即 ll
如果不指定特定的dir,那么展示的就是root目录下的所有文件;
如果指定了dir,那么展示的就是指定dir目录下的所有文件:ls -al /etc
简写: 把ls -al 进行了合并,变成了 ll
切换目录: cd
作用:用于切换当前工作目录,即进入指定目录;
语法:cd [dirName]
特殊说明:
~表示当前用户的home目录 不同用户的home目录可能不同,比如Linux中的root用户的home目录就是 /root
.表示目前所在的目录
..表示目前位置的上级目录 (用得比较频繁)
举例:
cd .. 切换到当前目录的上级目录
cd ~ 切换到用的home目录
cd /usr/local 切换到/usr/local目录
cd usr 进入到usr目录
显示文件内容:cat
作用:用于显示文件内容
语法: cat [-n] filaName
说明: -n 由1开始对所有输出行数编号
举例:cat /etc/profile 查看/etc目录下的profile文件内容
不使用-n:
使用-n:
分页查看文件:more
作用:以分页的形式显示文件内容, 使用场景,当查看的文件的内容比较多的时候,就可以使用more命令来查看,这样更加方便
语法:more fileNeme
操作说明:
回车键 向下滚动一行
空格键 向下滚动一屏
b 返回上一屏
q或者是Ctrl + c 退出more
举例:在根目录下使用命令 more /etc/profile
查看文件末尾:tail
作用:查看文件末尾的内容
语法:tail [-f] fileName
说明:动态的读取文件末尾内容并显示,通过用于日志文件的内容的输出
举例:
tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容(这个10是默认的)
tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
tail -f /ydl/my.log 动态的读取 /ydl目录下的my.log文件末尾内容并显示, 这个命令会让当前Linux窗口处于霸屏的状态,使用Ctrl + C 就可以停止;
创建目录:mkdir
作用:创建目录
语法:mkdir [-p] dirName
说明:
-p: 确保目录名称是存在的,不存在就创建一个。通过此选项,可以实现多层目录同时创建
(p代表parent)
举例:
mkdir it在当前目录下,创建一个名为it的子目录
mkdir -p it/javaTest 在工作的目录下的it目录中建立一个名为test的目录,若it目录不存在,则创建一个
删除目录:rmdir
作用:删除空目录
语法:rmdir [-p] dirName
说明:
-p : 当子目录被删除后使父目录为空目录的话,则一并删除
举例:
rmdir it 删除为it的空目录
rmdir -p it/java 删除it目录中名为Java的子目录,若java目录删除后it目录变为空目录,则it目录也会被删除
rmdir it* 删除以it开头的空目录
删除不为空的文件或目录 rm
作用:删除文件或者目录
语法:rm [-rf] name
说明:
-r : 将目录及目录中的所有文件(目录)逐一删除,即递归删除
-f : 无需确认,直接删除
举例:
rm -r it/ 删除名为it的目录和目录中的所有文件,删除前需要确定
rm -rf it/ 无需确认,直接删除名为it的目录和目录中所有文件
rm -rf hello.txt 无需确认,直接删除hello.txt文件 (这个删除文件的命令可以不用带r)
拷贝移动命令cp
作用:用于复制文件或者是目录
语法:cp [-r] source target
说明:
-r : 如果复制的是目录需要使用到此项,此时将复制该目录下所有的子目录和文件
举例:
cp hello.txt it/ 将hello.txt复制到it目录中
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r it/ itjava/ 将it目录和目录下的所有文件复制到itjava目录下
cp -r it/* itjava/ 将it目录下所有文件复制到itjava目录下(目录这一层不复制,只复制目录下的内容)
移动拷贝mv
作用:为文件或者是目录进行改名,或将文件或目录移动到其他位置
语法:mv source dest
举例:
mv hello.txt hi.txt 将hello.txt改名为hi.txt
mv hi.txt it/ 将文件hi.txt移动到it目录中
mv hi.txt it/hello.txt 将hi.txt移动到it目录中,并且改名为hello.txt
mv it/ itjava/ 如果itjava目录不存在,将it目录改名为itjava
mv it/ itjava/ 如果itjava目录存在,将it目录移动到itjava目录中
打包压缩命令 tar
作用:对文件进行打包,解包,压缩,解压
语法:tar [-zcxvf] filaName[files]
包文件后缀为 .tar 表示只完成了打包,并没有压缩
包文件后缀为 .tar.gz 表示打包同时还进行了压缩
说明:
-z : z代表的是gzip , 通过gzip命令处理文件,gzip可以对文件压缩或者是解压
-c : c代表的是create, 即创建新的文件包 (打包)
-x : x代表的是extract,实现从包文件还原文件 (解包)
-v : v代表的是verbose,显示命令执行的过程
-f : f代表的是file,用于指定包文件的名称
如果不想把解压的文件包的内容放到当前目录, 加 -c /要存放的目录
第一个常用组合: -cvf
第二个常用组合:-zcvf
第三个常用组合: -xvf 解压包
第四个常用组合:-zxvf (非常常用)
文本编辑命令vi/vim
作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似与windows的记事本;
语法:vi fileName
文本编辑命令vim:
作用:对文件内容进行编辑,vim其实就是一个文本编辑器;
语法:vim fileName
说明:
1.在使用vim进行编辑文件的时候,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件
2.vim在进行文本编辑的时候一共分为三种模式,分别是命令模式(command mode),插入模式(insert mode)和底行模式(last line mode)。这三种模式之间可以相互切换。我们在使用vim命令的时一定要注意我们当前所处的是哪一种模式;
对于这三种模式的一些说明:
注意:命令模式下,这个gg表示的是快速将光标移动到文件开头, 这个G表示的是快速将光标移动到文件末尾;
下面的插入模式和底行模式,是不能直接进行转换的,都需要先进入到命令模式然后才能进行模式转换;
注意:必须要进入底行模式才能进行文件的保存!!!
查询命令find
作用:在指定目录下查找文件 (从指定目录中搜索指定的文件)
语法:find dirName(目录名称) -option fileName
(-option 一般是-name,表示根据指定名称来查找文件)
举例:
find . -name "*.java" 在当前目录及其子目录下查找.java结尾的文件 (-name根据文件名来进行查找)
find /it -name "*.java" 在/it目录及其子目录下查找.java结尾的文件
查找指定内容命令grep
作用:从指定文件中查找指定的文本内容(从当前或者是指定的文件中查找指定的内容)
语法:grep word fileName
注意:这个word是区分大小写的 !
举例:
grep hello helloword.java 查找 helloword.java文件中出现的hello字符串的位置
grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
Linux中进行软件安装
软件安装的方式:
二进制发布包的安装
软件已经针对具体平台编译打包发布,只需要解压,修改配置即可
rpm安装
软件已经安装redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
yum安装(一般推荐这种安装方式)
一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程自动解决库依赖的问题
源码编译安装(Java源代码安装)
软件以源码工程的形式发布,需要自己编译打包
在Linux中安装jdk
安装jdk,先检测一下自己的Linux中有没有jdk环境,如果有就不需要安装了;
检测命令:java -version
如果没有的话,那就安装和配置环境变量:
1.先在官网下载好jdk在Linux环境下的呀压缩包,以.tar.gz结尾的jdk压缩包
2.然后使用 tar -zxvf jdk-8uxxxxxx64.tar.gz -C /usr/local (表示把压缩包解压到usr下的local文件夹下)
3.解压完成后,然后进行环境变量的配置, 使用命令 vim /etc/profile
然后快速的到达文件的末尾,按一下 大写的G就行;然后修改配置文件:
LANG="en_US.UTF-8" #配置字符编码集
JAVA_HOME=/usr/java/jdk1.8.0_261-amd64 #配置jdk的环境变量
PATH=$JAVA_HOME/bin:$PATH
登录后复制
修改完成后让配置文件重新加载一下,使用命令:source /etc/profile 然后回车;
4.然后查看是否配置成功:java -version
在Linux中安装Tomcat(防火墙相关命令使用的时候查询就行)
sh startup.sh
./startup.sh
登录后复制
# 查看Tomcat的后50行日志
tail -50 /usr/loacal/apache-tomcat-7.0.57/logs/catalina.out
# 查询指定软件的进程
ps -ef | grep tomcat
登录后复制
Tomcat在Linux运行的,可能你在浏览器也无法访问,因为防火墙开着的;
查看和修改防火墙的状态:
查看防火墙状态(systemctl status firewalld、firewall-cmd --state)
暂时关闭防火墙(systemctl stop firewalld)
永久关闭防火墙(systemctl disable firewalld)
开启防火墙(systemctl start firewalld)
开放指定端口8080(firewall-cmd --zone=public --add-port=8080/tcp --permanent)
关闭指定端口(firewall-cmd --zone=public --remove-port=8080/tcp --permanent)
立即生效(firewall-cmd --reload)
查看开放的端口(firewall-cmd --zone=public --list-ports)
注意:
1、systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
2、firewall-cmd是Linux中专门用于控制防火墙的命令
3、为了保证系统安全,服务器的防火墙不建议关闭 在Linux中开放指定的端口是以后在实际生产中最常用的方式,在实际生产中是不能直接把防火墙关闭的,容易受到攻击;修改防火墙配置后都需要reload一下才能生效;
systemctl status firewalld、firewall-cmd --state
systemctl stop firewalld
systemctl start firewalld
systemctl start firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
登录后复制
sh shutdown.sh
./shutdwon.sh
ps -ef | grep tomcat
kill -9 7742 # 一般不建议直接强制停止进程,除非正常的手段无法停止进程了
登录后复制
在Linux中安装MySQL
使用rpm来进行安装MySQL;
①先检查当前系统中是否安装了MySQL数据库
rpm -qa #查询当前系统中安装的所有软件
rpm -qa|grep mysql #查询当前系统中安装的名称带MySQL的软件
rpm -qa|grep mariadb #查询当前系统中安装的名称带mariadb的软件 这个是centons中自带的一个数据库,如果你的虚拟机中有这个软件要先把这个软件给卸载然后再安装MySQL,不然会出现数据库冲突的情况
登录后复制
卸载mariadb数据库:
rpm -e --nodeps 软件名称
rpm -e --nodeps
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
登录后复制
参考下面的文章:
Linux安装MySQL详细教程(YUM+离线安装)初尘屿风的博客-CSDN博客yum安装mysql的步骤和方法
;request_id=165569845616782390520827biz_id=0utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v32_ecpm-26-124343942-null-null.142%5Ev17%5Erank_v32,157%5Ev15%5Enew_3utm_term=linux%E5%AE%89%E8%A3%85MySQL%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8Bspm=1018.2226.3001.4187
在参考这个文章的时候,中途可能还会报一个错误:在下面的文件中修改配置文件,把相关的文件地址填过去;
登陆: mysql -u -root -p 登陆的时候可能会报下面的错误:一般来说都是密码错误了.....(反正我测试了很多次才登陆成功)
安装Linux常见的三个错误:liunx 安装 mysql 时遇到错误的解决_qq_31683775的博客-CSDN博客
安装lrzsz
这个是Linux中负责文件的上传和下载的功能;
1.搜索lrzsz安装包,命令为 yum list lrzsz (这个命令的作用是在应用商店搜索lrzsz这个安装包)
2.使用yum在线安装,命令为 yum install lrzsz.x86_64 ,然后回车就行(中间可能让你输入一个y);然后在命令窗口使用 rz 命令就可以把本地的文件上传到Linux上了;
注意:虽然这个finalshell可以直接使用拖拽的方式来进行文件的上传,那么为什么还要安装这个软件?因为并不是所有的Linux连接工具中都会有这种可视图操作的功能!
Linux项目部署
手工部署项目
自己打包,自己上传,自己运行,然后都是自己一行一行的手敲命令来完成;
①在代码编写工具中把spring boot项目打成jar架构包;
②将jar包上传到Linux服务器
mkdir /usr/local/take_out_app #创建目录,将项目的jar包放到此目录
登录后复制
运行命令:不过要注意的是,你这个Linux环境必须安装了jdk才可以运行Boot项目
java -jar reggie_take_out-1.0-SNAPSHOT.jar
登录后复制
检查防火墙8080是否对外开放:firewall -cmd --zone=public --list-ports
我们发现8080端口并没有被开放,所以使用命令把8080端口开放:
firewall-cmd --zone=public --add-port=8080/tcp --permanent # 出现sucess后,然后必须执行下面的reload,不然开放的端口不会生效
firewall-cmd --reload
firewall-cmd --zone=public --list-ports # 如果再次进行查看
登录后复制
然后可以去浏览器访问了,但是此时还不一定可以访问成功,如果你的这个项目使用到了数据库MySQL或者是redis,那么还需要配置数据库,或者是使用你本地的数据库,但是要修改刚刚上传的jar架构包中的yml文件中的MySQL的url;
比如果你的Linux的ip是:192.168.300.100 , 而你的MySQL是在windons中,你windows的ip地址是 192.169.200.1, 那么就要在Linux中把yml文件中的MySQL的url中的localhost改成你的这个windows的ip地址;
等等问题需要去解决。。。。。。。。(后面再补充一下具体的情况)
设置Java项目在后台运行并且输出日志到指定文件
上面的那种霸屏允许的方式,只要允许Java程序的那个窗口被关闭,那么在浏览器就访问不到了;
比如在运行刚刚到项目:
nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar app.log # 这里的log文件是相对路径下的文件,会在我们执行该行命令的目录下生成这个log文件 最后一个表示在后台运行
登录后复制
那么这种在后台运行的程序应该怎么把它结束?使用杀进程的方式
ps -ef | grep java 拿到Java程序的进程id
然后使用 kill -9 进程号 (这个9可以换成15,15杀进程的方式更加‘温柔一些’)
然后再查询一下 ps -ef | grep java 看有没有关闭该程序
shell脚本自动部署
通过脚本的方式,只要执行一个命令,就可以自动的从我们的git仓库拉取项目和部署项目;
完整的操作步骤:
java
linux
电子蜂鸣器
精选推荐
?广告
?
python基础代码大全-python基础语法,python 代码命令大全
1804阅读·0评论·0点赞
2020年10月28日
Undefined symbols for architecture x86_64:"xxxxxx", referenced from:
9398阅读·0评论·0点赞
2016年12月6日
yml 配置指令参考
129阅读·0评论·0点赞
2022年9月29日
Docker Compose
236阅读·0评论·0点赞
2020年5月12日
linux服务器上部署项目常用命令
1658阅读·1评论·3点赞
2018年6月21日
/proc/diskstats
381阅读·0评论·0点赞
2018年8月2日
如果,一个人身上出现了这几个迹象,说明他的情商非常低
国际专业情商测试
广告
[求助] win7 x64 封装 出现 Administrator.xxxxx 的问题
391阅读·0评论·0点赞
2016年11月27日
Linux大神都是怎么记住这么多命令的?
496阅读·1评论·0点赞
2021年7月22日
将瑞吉外卖项目jar包部署在远程服务器并成功运行在pc和移动端
928阅读·14评论·8点赞
2022年7月20日
linux命令那么多怎么记,如何记住Linux命令
205阅读·0评论·0点赞
2021年5月11日
linux命令怎么学?
6481阅读·0评论·1点赞
2018年10月3日
【Linux学习笔记22】Linux-C进程内存分布
210阅读·0评论·1点赞
2019年8月2日
Linux nohup模式启动jar
220阅读·0评论·0点赞
2018年9月21日
linux yml安装mysql
2345阅读·2评论·0点赞
2019年12月18日
Linux 命令集锦
5476阅读·0评论·0点赞
2007年3月19日
shendxx python 知识点
1下载·0评论
2022年12月9日
科创成果奖励.rar.rar
0下载·0评论
2022年12月9日
DISCO_v1.0.7.exe
0下载·0评论
2022年12月9日
统计咨询用户量.sql
0下载·0评论
2022年12月9日
去首页
看看更多热门内容
评论2
?
爱殇戏子
?
赞
大佬,再自学么?
mariadb要卸载吗
要。
安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
centos7系统自带mysql吗?
centos7是不自带mysql,虽然CentOS7中没有自带mysql
但是自带了另外一款数据库mariadb,我们安装mysql的时候会和mariadb产生冲突 , 最好的解决办法就是先卸载mariadb , 再安装mysql;
查看mariadb
卸载mariadb
查看CentOS是否已经安装mysql
假如安装了,要进行卸载
两台服务器手动部署大数据平台
两台服务器手动部署大数据平台
##### 初始服务器数量
- 2台centos7
##### 建议配置
- 32G(RAM)
- 24cpu
- 10t(SATA)
### 1.环境
- 系统centos7
- jdk:1.8.0_171(64位)
- zookeeper:3.4.8
- spark-2.1.0-bin-hadoop2.6
- kafka_2.10-0.10.2.1
- hadoop-2.7.0
- hbase-1.2.6
- elasticsearch-6.3.0
### 2.系统准备
对应的安装包文件:
elasticsearch-6.3.0.tar.gz
hadoop-2.7.0.tar.gz
hbase-1.2.6-bin.tar.gz
jdk-8u171-linux-x64.tar.gz
kafka_2.10-0.10.2.1.tgz
mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
spark2.1.0hadoop2.6.tgz.gz
zookeeper-3.4.8.tar.gz
一、 配置好hosts
```
两台设备的host
ip1 hello1
ip2 hello2
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
二、机器之间做好免密
1. 在hello1服务器中,cd /root/
2. ssh-keygen -trsa? (全部按回车,走默认配置)
3. cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
4. chmod 600 ~/.ssh/authorized_keys
5. scp ~/.ssh/authorized_keys root@hello2:~/.ssh/
到此处时可以实现hello1机器上通过root账户登录到hello2中,但从hello2中无法通过免密码登录到hello1服务器。
6. 在hello2服务器中,cd /root/
7. ssh-keygen -trsa? (全部按回车,走默认配置)
8. cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
9. scp ~/.ssh/authorized_keys root@hello1:~/.ssh/
到此处时可以实现hello1机器与hello2机器之间免密码互通
三、建立一个用户操作elasticsearch用户,后期所有安装软件放在该目录下(当前使用root账户安装)
1.添加用户:
useradd -m -s /bin/bash es
2.为该用户设置密码:
password es
四、安装JDK
如果系统自带openjdk,先将其卸载掉!
1.创建jdk安装路径(hello1、hello2都执行)
执行: mkdir /usr/java
2.解压缩jdk到安装目录
执行: tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
3.添加环境变量
vi /etc/profile,添加以下语句
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
执行:source /etc/profile
4.复制安装包和数据目录到hello2
scp? -r /usr/java/jdk1.8.0_171 hello2:/usr/java/
scp /etc/profile hello2:/etc/
登录到hello2上,进入/home/es目录
执行: source /etc/profile
5、验证:
两台服务器上分别执行: java -version,查看输出的版本是否与安装的版本一致。
五、安装mysql
1.如果centos系统中自带mariadb,先卸载mariadb。
2.解压mysql安装包程序
执行:tar -xvf? mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
3.依次安装里面rpm包组建
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.23-1.el7.x86_64.rpm
4.启动MySQL
执行: systemctl start mysqld
5.登录mysql服务器
这种方式安装好后,会再my.cnf文件中自动生成一个密码,
执行:cat /var/log/mysqld.log | grep password, 出现如下记录:
2017-09-15T01:58:11.863301Z 1 [Note] A temporary password is generated for root@localhost: m-NdrSG4ipuO
其中“m-NdrSG4ipuO”为mysql root账户的初始密码。
登录:
执行: mysql -uroot -p
输入密码: m-NdrSG4ipuO,即可进入mysql服务器。
后续可自行修改root密码,创建新账户等操作。
六、安装zookeeper
1.解压zookeeper安装包到指定目录(/home/es)
tar -zxvf zookeeper-3.4.8.tar.gz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s zookeeper-3.4.8 zookeeper
3.添加执行路径环境
vi /etc/profile
添加
export ZOOKEEPER_HOME=/home/es/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
执行
source /etc/profile
4.修改配置文件
cd /home/es/zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg
在/home/data下创建对应的zookeeper数据存储目录
mkdir /home/data/zookeeper
mkdir /home/data/zookeeper/data
mkdir /home/data/zookeeper/log
修改配置文件:conf/zoo.cfg,添加以下语句
dataDir=/home/data/zookeeper/data
dataLogDir=/home/data/zookeeper/log
server.1=hello1:2888:3888
server.2=hello2:2888:3888
5.创建server表示符文件
touch /home/data/zookeeper/data/myid
echo echo 1/home/data/zookeeper/data/myid
6.复制安装包和数据目录到hello2
scp -r /home/es/zookeeper-3.4.8 es@hello2:/home/es
scp -r /home/data/zookeeper es@hello2:/home/data
scp? /etc/profile es@hello2:/etc
登录到hello2上
cd /home/es
ln -s zookeeper-3.4.8 zookeeper
echo echo 2/home/data/zookeeper/data/myid
执行
source /etc/profile
7.两台机器上分别执行
zkServer.sh start
8.验证
jps | grep QuorumPeerMain,查看是否有该进程
zkServer.sh status,查看服务状态
六、安装kafka
1.解压kafka安装包到指定目录(/home/es)
tar -zxvf kafka_2.10-0.10.2.1.tgz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s kafka_2.10-0.10.2.1 kafka
3.修改配置文件
备份:
cp config/server.properties config/server.properties.bak
创建kafka日志目录:
mkdir /home/data/kafka
mkdir /home/data/kafka/kafka-logs
修改:config/server.properties,具体对应字段如下:
broker.id=0
delete.topic.enable=true
num.network.threads=10
num.io.threads=32
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/home/data/kafka/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=hello1:2181,hello2:2181
zookeeper.connection.timeout.ms=6000
6.复制安装包和数据目录到hello2
scp -r /home/es/kafka_2.10-0.10.2.1 es@hello2:/home/es
scp -r /home/data/kafka es@hello2:/home/data
修改hello2中的配置
登录到hello2上,cd /home/es/kafka,修改config/server.properties中broker.id值为2.
7.启动kafka
在两台机器的/home/es/kafka中,创建一个日志存放目录:mkdir start_log,执行以下命令:
nohup bin/kafka-server-start.sh config/server.properties start_log/kafka_start_log 21
8.验证运行情况
jps | grep Kafka,查看进程
通过kafka命令查看topic。
七、安装hadoop
1.解压hadoop安装包到指定目录(/home/es)
tar -zxvf hadoop-2.7.0.tar.gz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s hadoop-2.7.0 hadoop
3.创建数据存放目录
mkdir /home/data/hadoop
mkdir /home/data/hadoop/tmp
mkdir /home/data/hadoop/dfs
mkdir /home/data/hadoop/dfs/data
mkdir /home/data/hadoop/dfs/name
4.修改配置文件
修改/home/es/hadoop/etc/hadoop/core-site.xml
configuration
property
namefs.defaultFS/name
valuehdfs://hello1:9000/value
/property
property
namehadoop.tmp.dir/name
valuefile:/home/data/hadoop/tmp/value
/property
property
nameio.file.buffer.size/name
value131702/value
/property
/configuration
修改/home/es/hadoop/etc/hadoop/hdfs-site.xml
configuration
property
namedfs.namenode.name.dir/name
valuefile:/home/data/hadoop/dfs/name/value
/property
property
namedfs.datanode.data.dir/name
valuefile:/home/data/hadoop/dfs/data/value
/property
property
namedfs.replication/name
value2/value
/property
property
namedfs.namenode.secondary.http-address/name
valuehello1:9001/value
/property
property
namedfs.webhdfs.enabled/name
valuetrue/value
/property
/configuration
修改/home/es/hadoop/etc/hadoop/mapred-site.xml
configuration
property
namemapreduce.framework.name/name
valueyarn/value
/property
property
namemapreduce.jobhistory.address/name
valuehello1:10020/value
/property
property
namemapreduce.jobhistory.webapp.address/name
valuehello1:19888/value
/property
/configuration
修改/home/es/hadoop/etc/hadoop/yarn-site.xml
configuration
!-- Site specific YARN configuration properties --
property
nameyarn.nodemanager.aux-services/name
valuemapreduce_shuffle/value
/property
property
nameyarn.nodemanager.auxservices.mapreduce.shuffle.class/name
valueorg.apache.hadoop.mapred.ShuffleHandler/value
/property
property
nameyarn.resourcemanager.address/name
valuehello1:8032/value
/property
property
nameyarn.resourcemanager.scheduler.address/name
valuehello1:8030/value
/property
property
nameyarn.resourcemanager.resource-tracker.address/name
valuehello1:8031/value
/property
property
nameyarn.resourcemanager.admin.address/name
valuehello1:8033/value
/property
property
nameyarn.resourcemanager.webapp.address/name
valuehello1:8088/value
/property
property
nameyarn.nodemanager.resource.memory-mb/name
value768/value
/property
/configuration
配置/home/es/hadoop/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME(不设置的话,启动不了)
export JAVA_HOME=/usr/java/jdk1.8.0_171
配置/home/es/hadoop/etc/hadoop目录下的slaves,删除默认的localhost,增加2个从节点,
hello1
hello2
5、将配置好的Hadoop复制到各个节点对应位置上,通过scp传送
scp? -r /home/es/hadoop-2.7.0 hello2:/home/es/
scp? -r /home/data/hadoop hello2:/home/data/
登录到hello2上,进入/home/es目录
执行: ln -s hadoop-2.7.0 hadoop
6、格式化nameNode及启动hadoop
在主服务器启动hadoop,从节点会自动启动,进入/home/es/hadoop目录
初始化,输入命令,bin/hdfs namenode -format
全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
输入命令,jps,可以看到相关信息
7、验证hadoop运行情况
浏览器打开
浏览器打开
8、添加hadoop环境变量到/etc/profile
export HADOOP_HOME=/home/es/hadoop export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
执行: source /etc/profile
八、安装Hbase
1.解压hbase安装包到指定目录(/home/es)
tar -zxvf hbase-1.2.6-bin.tar.gz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s hbase-1.2.6 hbase
3.添加hbase环境变量到/etc/profile
export? HBASE_HOME=/home/es/hbase
export? PATH=$HBASE_HOME/bin:$PATH
执行:source /etc/profile
4.修改HBASE配置文件
vi /home/es/hbase/conf/hbase-env.sh
增加: export JAVA_HOME=/usr/java/jdk1.8.0_171
修改: export HBASE_MANAGES_ZK=false
vi /home/es/hbase/conf/hbase-site.xml
修改类容:
configuration
property
namehbase.rootdir/name !-- hbase存放数据目录 --
valuehdfs://hello1:9000/hbase/hbase_db/value
!-- 端口要和Hadoop的fs.defaultFS端口一致--
/property
property
namehbase.cluster.distributed/name !-- 是否分布式部署 --
valuetrue/value
/property
property
namehbase.zookeeper.quorum/name !-- list of? zookooper --
valuehello1,hello2/value
/property
property!--zookooper配置、日志等的存储位置 --
namehbase.zookeeper.property.dataDir/name
value/home/es/hbase/zookeeper/value
/property
/configuration
配置regionservers,vi /home/es/hbase/conf/regionservers
去掉默认的localhost,加入hello1、hello2
5、将配置好的hbase复制到各个节点对应位置上,通过scp传送
scp? -r /home/es/hbase-1.2.6 hello2:/home/es/
scp /etc/profile hello2:/etc/
登录到hello2上,进入/home/es目录
执行: ln -s hbase-1.2.6 hbase
source /etc/profile
6、hbase的启动
hello1中执行: start-hbase.sh
7、验证hbase运行情况
输入jps命令查看进程是否启动成功,若 hello1上出现HMaster、HRegionServer、HQuormPeer,hello2上出现HRegionServer、HQuorumPeer,就是启动成功了。
输入hbase shell 命令 进入hbase命令模式,输入status命令,查看运行状态。
在浏览器中输入就可以在界面上看到hbase的配置
注意事项:
正常安装后,创建普通不带压缩表可以正常读写,当使用snappy进行压缩创建表时,该表无法再regionServer中启动!
解决方法:
1.在hbase-site.xml文件中添加一下属性
property
? ? ? ? ? ? ? ? namehbase.regionserver.codecs/name
? ? ? ? ? ? ? ? valuesnappy/value
? ? ? ? /property
2.每台机器中将hadoop_native.zip解压缩到hbase安装目录的lib下,执行 unzip hadoop_native.zip $HBASE_HOME/lib/
3.在$HBASE_HOME/conf/hbase-env.sh 中添加:export HBASE_LIBRARY_PATH=/home/es/hbase/lib/native
4.重启Hbase服务即可
九、Spark安装
1.解压hbase安装包到指定目录(/home/es)
tar -zxvf spark2.1.0hadoop2.6.tgz.gz -C /home/es
2.创建程序软连接
cd /home/es/
ln -s spark2.1.0hadoop2.6 spark
3.修改配置文件
mv /home/es/spark/conf/spark-env.sh.template? /home/es/spark/conf/spark-env.sh
vi /home/es/spark/conf/spark-env.sh
修改对应配置:
export JAVA_HOME=/usr/java/jdk1.8.0_171
export SPARK_MASTER_IP=hello1
export SPARK_MASTER_PORT=7077
export SPARK_LOCAL_IP=hello1
修改slaves文件
mv /home/es/spark/conf/slaves.template? /home/es/spark/conf/slaves
vi /home/es/spark/conf/slaves
将localhost修改成:
hello1
hello2
5、将配置好的hbase复制到各个节点对应位置上,通过scp传送
scp? -r /home/es/spark2.1.0hadoop2.6 hello2:/home/es/
登录到hello2上,进入/home/es目录
执行: ln -s spark2.1.0hadoop2.6 spark
在hello2中修改/home/es/spark/conf/spark-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_171
export SPARK_MASTER_IP=hello1
export SPARK_MASTER_PORT=7077
export SPARK_LOCAL_IP=hello2
6、启动spark
cd /home/es/spark
执行: sbin/start-all.sh
7、检测执行结果
jps | grep Worker,看是否有相应的进程。
十、安装elasticsearch
由于elasticsearch,用root账户无法启动,故该组件用es账户安装
1、切换到es账户: su es
2、解压hbase安装包到指定目录(/home/es)
tar -zxvf elasticsearch-6.3.0.tar.gz -C /home/es/
创建程序软连接
cd /home/es/
ln -s elasticsearch-6.3.0 elasticsearch
3、修改配置文件
vi /home/es/elasticsearch/config/elasticsearch.yml
# 集群的名字?
cluster.name: crrc-health
# 节点名字?
node.name: node-1?
# 数据存储目录(多个路径用逗号分隔)?
path.data: /home/data1/elasticsearch/data
# 日志目录?
path.logs: /home/data1/elasticsearch/logs
#本机的ip地址
network.host: hello1?
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["hello1", "hello2"]
# 设置节点间交互的tcp端口(集群),(默认9300)?
transport.tcp.port: 9300
# 监听端口(默认)?
http.port: 9200
# 增加参数,使head插件可以访问es?
http.cors.enabled: true
http.cors.allow-origin: "*"
4、创建elasticsearch数据和存储目录
mkdir /home/data1/elasticsearch
mkdir /home/data1/elasticsearch/data
mkdir /home/data1/elasticsearch/logs
5、修改linux系统的默认硬限制参数
切换至root用户: su root
vim /etc/security/limits.conf
添加:
es soft nofile 65536
es hard nofile 65536
退出es登录,重新用es账户登录,使用命令:ulimit -Hn查看硬限制参数。
vi /etc/sysctl.conf
添加:
vm.max_map_count=655360
执行:
sysctl -p
6、将配置好的elasticsearch复制到各个节点对应位置上,通过scp传送
scp? -r /home/es/elasticsearch-6.3.0 hello2:/home/es/
scp? -r /home/data1/elasticsearch hello2:/home/data1/
登录到hello2上,进入/home/es目录
执行: ln -s elasticsearch-6.3.0 elasticsearch-6.3.0
在hello2中修改/home/es/elasticsearch/config/elasticsearch.yml
修改: network.host: hello2
7、启动elasticsearch
使用es账户
执行:
/home/es/elasticsearch/bin/elasticsearch -d
8、验证
控制台中输入:curl
rpm安装失败没有可用数据
rpm安装失败没有可用数据解决办法:。卸载mariadb-client-plugins并再次安装失败的rpm包。
1、最后面加--nodeps--force,忽略依赖安装。