第四章 系统的运维部署
4.1 部署环境
名称 | 版本号 |
---|---|
Linux | CentOS 7.0 64位 |
Nginx | 1.16.1 |
GNU Compiler Collection | 4.8.5 |
MySQL | 5.6.10 |
Docker | 20.10.18 |
Redis | 6.2.6 |
Hive | 2.3.9 |
Sqoop | 1.4.6 |
4.2 具体安装
4.2.1 安装Nginx
1、安装nginx依赖的库
主要包括:GCC,PCRE,zlib,OpenSSL,执行下面的命令一次性安装即可
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
2、上传安装包并解压
如果没有提前下载安装包,也可以使用wget进行下载
wget http://nginx.org/download/nginx-1.16.1.tar.gz
解压安装包
tar -zxvf ng......
3、进入nginx资源文件,配置 confifigure
执行命令 : ./configure ,这个脚本是用来生成nginx相关文件的目录的,在复杂的安装模式中是可以指定其他参数的,比如path ,这里使用默认的 ,默认情况下,安装完毕后,主目录就在 /usr/local/nginx中。
4、执行make 和 make install
make && make install
5、启动nginx服务
来到 /usr/local/nginx目录下,进入 sbin目录进行启动即可
6.访问nginx网页
在浏览器中输入我的阿里云服务器公网IP访问Nginx网页。
进入/usr/local/nginx/html目录,删除自带的index.html,上传我自己写的前端网页,再次通过阿里云服务器公网IP访问Nginx,经过测试没问题,后面再和负责前后端开发的小组合作上传WebGIS相关项目文件。
cd /usr/local/nginx/html/
rm -rf index.html
rz
4.2.2 安装Redis
1.安装依赖
redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装:
gcc -v
如果没有安装则通过以下命令安装:
yum install -y gcc
2.下载redis安装包并解压
下载,我是在/usr/local下执行的下载,所以我的下载目录为:/usr/local,这里按照自己的实际情况调整
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
解压
tar -zxvf redis-6.2.6.tar.gz
3.进入解压目录并编译
进入解压目录
cd redis-6.2.6
编译
make
4.指定安装目录并进行安装
make install PREFIX=/usr/local/redis-6.2.6
5.启动redis服务
5.1 直接启动(不建议使用)
进入redis安装目录
/usr/local/redis-6.2.6/bin
启动服务
./redis-server
5.2 通过守护进程方式启动
第一步:从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
cp /usr/local/redis-6.2.6/redis.conf /usr/local/redis-6.2.6/bin/
第二步:修改redis.conf配置文件
cd /usr/local/redis-6.2.6/bin
vi redis.conf
修改内容如下:
#daemonize 的值从 no 修改成 yes
第三步:启动服务
./redis-server redis.conf
第四步:查看进程来确定redis是否启动成功,非必须
ps -ef |grep redis
备注:如果想要设置指定IP连接redis,只需要修改redis.conf文件中bind配置项即可。如果不限IP,将127.0.0.1修改成0.0.0.0即可。
4.2.3 安装MySQL
mysql安装的方式:
(1)通过yum直接下载安装。
优点,直接通过yum -y install mysql 就可以直接安装,非常方便
缺点:mysql的版本老旧,如果需要安装新的版本,需要配置yum的源(yum的下载源)
(2)到mysql官方网站,下载指定版本,再进行手动安装。
优点:可以直接选择自己想要的任何版本
缺点:安装过程相对yum麻烦一些
这里使用第二种安装方式:
防火墙永久关闭
systemctl disable firewalld.service
随系统自动启动
systemctl enable firewalld.service
下载mysql安装包,使用rz命令上传到linux。
1、解压mysql安装包并改名
tar -zxvf mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.10-linux-glibc2.5-x86_64 mysql
2、创建mysql的管理用户和组
# 创建组
groupadd mysql
# 创建管理用户
useradd -r -g mysql mysql
3、 将mysql的目录权限,改为刚刚创建的mysql用户
chown -R mysql:mysql /usr/local/mysql
4、安装初始化数据库需要的组件(如果系统已经安装或自带,可以跳过)
yum -y install perl autoconf
5、初始化mysql数据库(因为我们下载的mysql安装包是已经编译过的,不需要再编译安装,直接初始化就可以使用)
cd mysql安装目录下的scripts目录下
执行初始化命令
./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
--user=mysql
初始化完成后,data目录会出现初始化后的数据
6、将mysql的启动目录添加到环境变量PATH里
vim /etc/profile
将mysql的目录添加到PATH的最后面
7、配置mysql的my.cnf文件
vi /usr/local/mysq/my.cnf
在[mysqld]后面 添加以下内容
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
socket =/tmp/mysql.sock
将最后一行内容注释掉
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
保存后,复制该文件到etc目录下
cp my.cnf /etc
8、启动mysql
cd /usr/local/mysql/support-files
执行启动命令
./mysql.server start
9、进入MySQL
先备份系统自带的mysql启动程序
mv /usr/bin/mysql /usr/bin/mysql.bak
复制我们安装的mysql启动命令到/usr/bin目录下
cp /usr/local/mysql/bin/mysql /usr/bin
设置用户登录
set password for 用户名@localhost = password('密码');
设置密码后需要输入密码和用户名才能登录
mysql -uroot -p
授权远程访问
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
% 代表任何远程连接 但是不包括localhost
4.2.4 安装Docker
首先需要大家虚拟机联网,安装yum工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
然后更新本地镜像源:
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然后输入命令:
yum install -y docker-ce
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
4.2.4.1 启动Docker
通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
当出现active(running)时,即为启动成功,如图:
查看docker版本:
docker -v
4.2.4.2 配置镜像加速
docker官方镜像仓库网速较差,我们需要设置国内镜像服务:
##创建文件夹
sudo mkdir -p /etc/docker
> ##在文件夹内新建一个daemon.json文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF
##重新加载文件
sudo systemctl daemon-reload\
##重启docker
sudo systemctl restart docker
到此Docker的安装就基本结束了。
4.2.4.3 Docker镜像命令
#查看自己服务器中docker 镜像列表
docker images
#拉取镜像
docker pull 镜像名
docker pull 镜像名:tag
#保存镜像
docker save 镜像名/镜像ID -o 镜像保存的名字 镜像保存的tag
例如:docker save -o redis.tar redis:latest
#删除镜像
docker rmi -f 镜像名/镜像ID
#加载镜像
docker load -i 镜像保存文件位置
例如:docker load -i redis.tar
4.3 补充内容
4.3.1 安装Hive
Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop
分布式文件系统中的数据。其在Hadoop的架构体系中承担了一个SQL解析的过程,它提供了对外的入
口来获取用户的指令然后对指令进行分析,解析出一个MapReduce程序组成可执行计划,并按照该计
划生成对应的MapReduce任务提交给Hadoop集群处理,获取最终的结果。元数据——如表模式——存储
在名为metastore的数据库中。
1、下载解压
2、配置环境变量
3、编辑配置文件
进入hive的conf目录编辑hive-env.sh 和hive-site.xml
4 、加载mysql驱动
复制mysql驱动包到hive的lib目录下
5、测试
hive --help
6、 初始化元数据
#(2.x以前是自动初始化)
schematool -dbType mysql -initSchema
7 、启动Hive
启动hive客户端 hive 或者 hive --service cli
4.3.2 安装Sqoop
1 、上传解压
cd /usr/local
rz
tar -zxvf sqoop-1.4.6.bin__hadoop-0.23.tar.gz
#删除压缩包并改名
rm -rf sqoop-1.4.6.bin__hadoop-0.23.tar.gz
mv sqoop-1.4.6.bin__hadoop-0.23 sqoop-1.4.6
2 、配置环境变量
vim /etc/profile
#使配置立即生效
source /etc/profile
3 、配置文件
在/usr/local/sqoop-1.4.6/conf目录下有一个文件sqoop-env-template.sh,把它复制为sqoop-env.sh并修改(注:具体配置根据所安装的服务决定)
cp sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
4、 复制mysql驱动
复制sqoop访问数据库的驱动包到 sqoop1.4.6/lib 目录下
cp/data/apache-hive-2.3.9-bin/jdbc/mysql-connector-java-5.1.47-bin.jar /usr/local/sqoop-1.4.6/lib/
cp/data/apache-hive-2.3.9-bin/jdbc/hive-jdbc-2.3.9-standalone.jar /usr/local/sqoop-1.4.6/lib/
5、 测试
#启动mysql
./mysql.server start
#查看版本
sqoop version
#使用sqoop访问mysql
sqoop list-databases -connect jdbc:mysql://localhost:3306 -username root -password 123456