Linux Centos7.6 服务器搭建(大二笔记)——JDK、Tomcat、Mysql、Redis、Hadoop完全分布式集群(三台云服务器)

笔记 同时被 2 个专栏收录
3 篇文章 0 订阅
1 篇文章 0 订阅

Linux Centos7.6 服务器搭建

笔者购买的服务器是腾讯云(最低配置88元/年,穷苦大二学生为了学习后端知识)。购买之后需要在腾讯云重装系统,建立新的用户。连接服务器的软件是Xshell。

一、JDK1.8安装

1.获取jdk安装包

在网上获取的jdk-8u45-linux-x64.tar.gz(网盘地址:https://pan.baidu.com/s/1o7B1PXK 密码:el7b)。然后使用Xshell连接服务器,创建在root创建software并进入,将jdk压缩包拖入Xshell命令行。待其传输完毕,方可进行下一步。

若下载速率为0kb/s,需要安装lrzsz:

yum install -y lrzsz

2.安装jdk

tar -zxvf jdk-8u45-linux-x64.tar.gz

解压jdk,解压后发现 software/java多了一个jdk1.8.0_45文件夹。这样jdk就全部安装完成了。

3.配置环境变量

vim /etc/profile

编辑profile文件,在其底部加入以下内容

export JAVA_HOME=/root/software/java/jdk1.8.0_45   

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH

export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin

export PATH=$PATH:${JAVA_PATH}

最后使用

source /etc/profile

使profile文件生效

4.测试结果

java -version

查看java版本,会返回以下内容

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

也可以编写一段java代码测试是否安装成功。

二、安装tomcat8.5.59

1.获取tomcat安装包

tomcat官网下载https://tomcat.apache.org/download-80.cgi

在这里插入图片描述

下载成功后,将该压缩包用Xshell传到服务器。

2.安装tomcat

tar -zxvf apache-tomcat-8.5.59.tar.gz

解压tomcat安装包(可能版本不一样),跟jdk一样解压完即安装好。进入bin目录执行

./startup.sh

即可启动tomcat(可能没有权限 需要先执行 chmod 777 * 修改所有权限)

3.开放tomcat端口8080和配置linux防火墙

查看是否配置防火墙

service iptables status

报错

Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.

提示未安装iptables-service

解决办法(若没报错请跳过):

关闭防火墙

systemctl stop firewalld

并且安装iptables-services:

yum install iptables-services.x86_64

设置开机启动:

systemctl enable iptables

保存设置

service iptables save

——解决办法到此为止——

配置防火墙

vim /etc/sysconfig/iptables

在iptables文件,将一下代码写在COMMIT前

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

在这里插入图片描述

重启防火墙。

chkconfig iptables off
service restart iptables
systemctl restart firewalld

单独开放端口8080

firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8080/tcp

在这里插入图片描述

附:查看进程信息命令

(1)查看关于tomcat的后台进程

ps aux | grep tomcat

在这里插入图片描述

(2)查看端口状态

netstat -apn | grep 80

在这里插入图片描述

(3)查看防火墙状态

systemctl status firewalld.service

防火墙正在运行

在这里插入图片描述

防火墙停止运行

在这里插入图片描述

配置路径

CATALINA_HOME=/root/software/tomcat/apache-tomcat-8.5.59

4.测试结果

在自己的电脑打开浏览器输入如下(ip 为linux服务器外网ip)

ip:8080

在这里插入图片描述

三、安装mysql8.0

1.获取mysql8.0安装包

mysql数据库官方下载https://dev.mysql.com/downloads/repo/yum/

获取到mysql80-community-release-el7-3.noarch.rpm,通过Xshell传输安装包

2.安装mysql

执行以下命令进行安装(如果下载速度过慢可以尝试ctrl+c终止运行,再重新执行)

sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql-community-server

在这里插入图片描述

安装完成

3.登陆mysql和window远程连接数据库

当第一次启动MySQL服务器时,为MySQL根用户生成一个临时密码。 您可以通过运行以下命令找到密码:

执行以下命令查看mysqld.log文件,查看其是否为空。

systemctl restart mysqld
vi /var/log/mysqld.log

如果这个文件为空:
1.删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)

rm -rf /var/lib/mysql

2.重启mysqld服务

systemctl restart mysqld

3.再去找临时密码

vi /var/log/mysqld.log

在这里插入图片描述

图中所示的临时密码为:nhyEu,IuT5Ip

先把它记录下来。

接下来登陆mysql

sudo mysql_secure_installation

在这里插入图片描述

这里输入你刚才记录的密码

然后需要重新设定新的密码(密码必须至少包含8个字符并且至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。)

在这里插入图片描述

接下来会让你弄一下其他设置,没有特殊要求就直接输入y

在这里插入图片描述

这里我允许root远程登陆(差点按y按快了)

但现在还不能从window的navicat连接到linux的mysql

我们先在linux登录mysql数据库

mysql -uroot -p

输入以下代码:

1.进入mysql库

use mysql

2.更新域属性,’%'表示允许外部访问:

update user set host='%' where user ='root';

3.执行以上语句之后再执行:

FLUSH PRIVILEGES;

4.再执行授权语句:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

5.最后在navicat尝试连接

在这里插入图片描述

四、安装redis

1.获取redis安装包

redis官网 https://redis.io/

在这里插入图片描述

点击下载

在这里插入图片描述

2.安装redis

将下载好的redis-6.2.1.tar.gz放入linux并解压

tar -zxvf redis-6.2.1.tar.gz

在这里插入图片描述

进入redis-6.2.1执行命令

make

在这里插入图片描述

待其编译完成,然后进入src文件夹执行命令

make install

在这里插入图片描述

make install会默认将redis下载至 /usr/local/bin

也可以使用命令自定义安装

make install PREFIX=(绝对路径)

这样redis就安装好了

3.配置redis

首先将解压出来的redis.conf拷贝一份到安装redis的位置

在这里插入图片描述

 cp redis.conf /usr/local/bin/  (或是自定义的安装地址)

然后对redis.conf进行修改

a.开启redis守护进程

在这里插入图片描述

在命令界面使用 / + 字段 可以进行搜索,按下回车后可以使用小写字母n和大写字母N进行上下切换,将daemonize no修改为

daemonize yes

b.允许远程连接

在这里插入图片描述

同理搜索bind,将这行修改为

bind 0.0.0.0

c.设置密码(推荐)

添加一行

requirepass (密码)

若没有密码可以首次登录设置临时密码

d.开放redis端口

vim /etc/sysconfig/iptables 

加入一行

在这里插入图片描述

-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

修改防火墙后,重启防火墙

systemctl restart firewalld

修改完成后,让redis在后台启动

./redis-server redis.conf

顺带提一句,可以不带redis.conf,但不是在后台启动。

在线程中查询redis是否成功启动

在这里插入图片描述

4.登录redis并设置临时密码

这里是为redis.conf未设置密码准备的。

redis在后台启动后,进行登录

./redis-cli -h ip -p 6379

在这里插入图片描述
如果没有修改bind,那就只能本地登录,本地登录不需要host和post参数

查看密码

config get requirepass

在这里插入图片描述

第一个requirepass是key,第二行是值

可以看出 requirepass = “” ,即现在的redis是没有密码的。接下来我们给它设定密码

config set requirepass (新密码)

然后用exit命令退出再进入

在这里插入图片描述

发现不能获取密码了,已经没有权限了

用以下命令进行登录

auth (密码)

五、安装hadoop完全分布式集群

由于比赛需要,我买了一个阿里云,又找hxd借了一个腾讯云用来搭建hadoop集群。(hadoop没有什么安全保护机制,慎入)

1.获取hadoop安装包

hadoop官网:http://hadoop.apache.org/

(Source download和Binary download的区别:前者是未编译过的代码,后者是编译过后的可执行文件。类似于java代码和jar包的区别)

笔者使用的是hadoop 2.7.1,通过Xshell转移到云服务器上

在这里插入图片描述

2.安装hadoop

因为我们下的是Binary download版本,直接在/root/software/hadoop下创建文件夹并解压hadoop-2.7.1.tar.gz即安装完成

3.配置hadoop的提前工作

a.编辑/etc/hosts文件

master节点

在这里插入图片描述

slave节点

在这里插入图片描述

slave1节点

在这里插入图片描述

设定本机的ip用本机的内网ip,对于其他节点则用外网ip。

内网ip查看方式

ifconfig

在这里插入图片描述

b.各节点之间设置ssh免密登录

ssh-keygen -t rsa -P ''

生成公钥秘钥对,输入命令后一直按回车。

(公钥生成的地址为/root/.ssh/id_rsa.pub,秘钥生成位置为/root/.ssh/id_rsa)

如果一台服务器中的/root/.ssh/authorized_keys里有你的秘钥对应公钥,你就可以免密登录这台服务器。

所以为了实现各节点直接免密登录,则每个节点都需要获得所有节点的公钥。为了实现方便,先将所有公钥放到一个节点,再进行复制。

首先让所有的节点,生成公钥秘钥对,然后将所有节点的公钥复制到新创建的all_public_key文件

touch all_public_key
scp /root/.ssh/authorized_keys root@节点ip:/root/.ssh/all_public_key

依次传输给每个节点后,再到每个节点将公钥添加至authorized_keys尾部

cat /root/.ssh/all_public_key >> /root/.ssh/authorized_keys

可以通过一下命令进行ssh登录

ssh 目标ip

4.配置hadoop

a.配置hadoop-env.sh文件

在该文件尾部添加JAVA_HOME(可以直接复制/etc/profile里的JAVA_HOME)

在这里插入图片描述

b.配置core-site.xml

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/root/software/hadoop/hadoop-2.7.1/tmp</value>
	</property>
	<property>
		<name>io.file.buffer.size</name>
		<value>131072</value>
	</property>
</configuration>

c.配置hdfs-site.xml

<configuration>
	<!--指定hdfs副本的数量-->
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
			<name>dfs.permissions</name>
 		 <value>false</value>
 	 </property> 
</configuration>

d.配置mapred-site.xml

<configuration>
	<!-- 指定mr运行在yarn上 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>local</value>
	</property>
</configuration>

e.配置yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<!--指定yarn的老大(ResouceManager)的地址	-->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>master</value>
</property>
<!--指定reduce获取数据的方式是mapreduce_shuffle	-->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
</configuration>

f.配置/etc/sysconfig/iptables文件

在COMMIT上方加两行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT

在这里插入图片描述

g.配置/etc/profile

#hadoop
export HADOOP_HOME=/root/software/hadoop/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

根据你hadoop安装的地址,只需要修改参数HADOOP_HOME=/root/software/hadoop/hadoop-2.7.1

50070端口是开放hadoop web监控页面

9000端口是开放hdfs和mapreduce

然后重启服务器

reboot

重启完毕后,在主节点格式化,并启动

hdfs namnode -format
start-all.sh

5.测试hadoop

访问主节点的ip:50070

在这里插入图片描述

datanodes可以查看有几个datanode及其存储空间

在这里插入图片描述

datanodes可以查看有几个datanode及其存储空间

大二期间,笔者常用的云服务器软件就是这些了。(云服务器经常被我玩坏,重装了许多次,所以才会写这篇博客)

  • 6
    点赞
  • 5
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值