第四章 系统的运维部署
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
 
 