赣州网站建设流程,企业官方网站怎么建设,智慧旅游网站建设方案ppt模板,建网站数据库声明#xff1a;所有软件自行下载#xff0c;并存放到统一目录中 1.Hive组件的安装配置
1.1实验环境
服务器集群3 个以上节点#xff0c;节点间网络互通#xff0c;各节点最低配置#xff1a;双核 CPU、8GB 内存、100G 硬盘运行环境CentOS 7.4服务和组件完成前面章节实验…声明所有软件自行下载并存放到统一目录中 1.Hive组件的安装配置
1.1实验环境
服务器集群3 个以上节点节点间网络互通各节点最低配置双核 CPU、8GB 内存、100G 硬盘运行环境CentOS 7.4服务和组件完成前面章节实验其他服务及组件根据实验需求安装
1.2下载和解压安装文件
1.2.1基础环境和安装准备
Hive 组件需要基于 Hadoop 系统进行安装。因此在安装 Hive 组件前需要确保 Hadoop 系统能够正常运行。本章节内容是基于之前已部署完毕的 Hadoop 全分布系统在 master 节点上实现 Hive 组件安装。 Hive 组件的部署规划和软件包路径如下
1当前环境中已安装 Hadoop 全分布系统。
2本地安装 MySQL 数据库账号 root密码 Password123$ 软件包在/opt/software/mysql-5.7.18 路径下。
3MySQL 端口号3306。
4MySQL 的 JDBC 驱动包/opt/software/mysql-connector-java-5.1.47.jar 在此基础上更新 Hive 元数据存储。 5Hive 软件包/opt/software/apache-hive-2.0.0-bin.tar.gz。
1.2.2解压安装文件
1使用 root 用户将 Hive 安装包 /opt/software/apache-hive-2.0.0-bin.tar.gz 路解压到/usr/local/src 路径下。
[rootmaster ~]# tar -zxvf /opt/software/apache-hive-2.0.0-bin.tar.gz -C
/usr/local/src
#进入该目录查看是否正确解压到该路径[rootmaster ~]# cd /usr/local/src/
[rootmaster src]# ls2将解压后的 apache-hive-2.0.0-bin 文件夹更名为 hive
[rootmaster src]# mv /usr/local/src/apache-hive-2.0.0-bin /usr/local/src/hive 3修改 hive 目录归属用户和用户组为 hadoop
[rootmaster ~]# chown -R hadoop:hadoop /usr/local/src/hive 1.3设置 Hive 环境
1.3.1卸载 MariaDB 数据库
Hive 元数据存储在 MySQL 数据库中因此在部署 Hive 组件前需要首先在 Linux 系统 下安装 MySQL 数据库并进行 MySQL 字符集、安全初始化、远程访问权限等相关配置。需 要使用 root 用户登录执行如下操作步骤
1关闭 Linux 系统防火墙并将防火墙设定为系统开机并不自动启动。
# 关闭防火墙服务
[rootmaster ~]# systemctl stop firewalld # 设置防火墙服务开机不启动
[rootmaster ~]# systemctl disable firewalld 2卸载 Linux 系统自带的 MariaDB。 1首先查看 Linux 系统中 MariaDB 的安装情况。
# 查询已安装的 mariadb 软件包
[root master ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
#注意这里的软件包的版本可能每个人的不一样
以上结果显示 Linux 系统中已经按照了 mariadb-libs-5.5.68-1.el7.x86_64 软件包 需要将其卸载。 2卸载 MariaDB 软件包
# 卸载 mariadb 软件包
[rootmaster ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
1.3.2安装 MySQL 数据库
1按如下顺序依次按照 MySQL 数据库的 mysql common、mysql libs、mysql client 软件包
# MySQL 软件包路径
[rootmaster ~]# cd /opt/software/mysql-5.7.18/ [rootmaster ~]# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm [rootmaster ~]# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm [rootmaster ~]# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
2安装 mysql server 软件包
[rootmaster ~]# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm 3修改 MySQL 数据库配置在/etc/my.cnf 文件中添加如表 6-1 所示的 MySQL 数据 库配置项。
字段匹配值字段说明default-storage-engineinnodb设置 innodb 为默认的存储引擎innodb_file_per_table 设置每个表的数据单独保存而不是统一保存在 innodb 系统表空间中。单独保存有方便管理和提 升性能两方面优势 collation-serverutf8_general_ci设置支持中文编码字符集init-connectSET NAMES utf8设置用户登录到数据库之后在执行第一次查询之 前执行 SET NAMES utf8 命令将使用的字符编码 设定为 utf8character-set-serverutf8将 MySQL 服务器字符集设定为 utf8
将以下配置信息添加到/etc/my.cnf 文件 symbolic-links0 配置信息的下方。
default-storage-engineinnodb
innodb_file_per_table
collation-serverutf8_general_ci
init-connectSET NAMES utf8
character-set-serverutf8 4启动 MySQL 数据库。
[rootmaster ~]# systemctl start mysqld 5查询 MySQL 数据库状态。mysqld 进程状态为 active (running)则表示 MySQL 数 据库正常运行。 如果 mysqld 进程状态为 failed则表示 MySQL 数据库启动异常。此时需要排查 /etc/my.cnf 文件
[rootmaster ~]# systemctl status mysqld 6查询 MySQL 数据库默认密码。 MySQL 数据库安装后的默认密码保存在/var/log/mysqld.log 文件中在该文件中以 password 关键字搜索默认密码
[rootmaster ~]# cat /var/log/mysqld.log | grep password
2024-03-22T14:30:57.837179Z 1 [Note] A temporary password is generated for rootlocalhost: #默认密码 ccaVl9AV,.%
MySQL 数据库是安装后随机生成的所以每次安装后生成的默认密码不相同
7MySQL 数据库初始化。 执行 mysql_secure_installation 命令初始化 MySQL 数据库初始化过程中需要设定 数据库 root 用户登录密码密码需符合安全规则包括大小写字符、数字和特殊符号 可设定密码为 Password123$。
在进行 MySQL 数据库初始化过程中会出现以下交互确认信息
Enter password for user root: # 输入/var/log/mysqld.log 文件中查询
到的默认 root 用户登录密码
The validate_password plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root. Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other
key for No) : y New password: # 输入新密码 Password123$ Re-enter new password: # 再次输入新密码 Password123$ Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y
for Yes, any other key for No) : y # 输入 y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment. Remove anonymous users? (Press y|Y for Yes, any other key for
No) : y # 输入 y
Success. Normally, root should only be allowed to connect from
localhost. This ensures that someone cannot guess at
the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key
for No) : n # 输入 n ... skipping.
By default, MySQL comes with a database named test that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment. Remove test database and access to it? (Press y|Y for Yes, any
other key for No) : y # 输入 y - Dropping test database...
Success. - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key
for No) : y # 输入 y
Success. All done!
8添加 root 用户从本地和远程访问 MySQL 数据库表单的授权。
[rootmaster ~]# mysql -uroot -pPassword123$
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.18 MySQL Community Server (GPL)Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql grant all privileges on *.* to rootlocalhost identified by Password123$;
Query OK, 0 rows affected, 1 warning (0.00 sec) # 添加 root 用户本地访问授权mysql grant all privileges on *.* to root% identified by Password123$;
Query OK, 0 rows affected, 1 warning (0.00 sec) # 添加 root 用户远程访问授权mysql flush privileges; # 刷新授权
Query OK, 0 rows affected (0.01 sec)mysql select user,host from mysql.user where userroot; # 查询 root 用户授权情况
-----------------
| user | host |
-----------------
| root | % |
| root | localhost |
-----------------
2 rows in set (0.00 sec)
mysql exit #退出
Bye
[rootmaster ~]#
1.3.3配置 Hive 组件
1设置 Hive 环境变量并使其生效。
# 在文件末尾追加以下配置内容
[rootmaster ~]# vi /etc/profile # set hive environment
export HIVE_HOME/usr/local/src/hive
export PATH$PATH:$HIVE_HOME/bin # 使环境变量配置生效
[rootmaster ~]# source /etc/profile 2修改 Hive 组件配置文件。 切换到 hadoop 用户执行以下对 Hive 组件的配置操作。 将/usr/local/src/hive/conf 文件夹下 hive-default.xml.template 文件更名为 hive-site.xml。
[rootmaster ~]# su - hadoop [hadoopmaster ~]$ cp /usr/local/src/hive/conf/hive-default.xml.template
/usr/local/src/hive/conf/hive-site.xml
3通过 vi 编辑器修改 hive-site.xml 文件实现 Hive 连接 MySQL 数据库并设定 Hive 临时文件存储路径
[hadoopmaster ~]$ vi /usr/local/src/hive/conf/hive-site.xml
1设置 MySQL 数据库连接
namejavax.jdo.option.ConnectionURL/name
valuejdbc:mysql://master:3306/hive?createDatabaseIfNotExisttrueamp;useSSLfalse/value
descriptionJDBC connect string for a JDBC metastore/description
2配置 MySQL 数据库 root 的密码
property
namejavax.jdo.option.ConnectionPassword/name
valuePassword123$/value
descriptionpassword to use against s database/description
/property
3验证元数据存储版本一致性。若默认 false则不用修改
property
namehive.metastore.schema.verification/name
valuefalse/value
description Enforce metastore schema version consistency.
True: Verify that version information stored in is compatible with one from
Hive jars. Also disable automatic False: Warn if the version information stored in metastore doesnt match
with one from in Hive jars.
/description
/property
4配置数据库驱动
property
namejavax.jdo.option.ConnectionDriverName/name
valuecom.mysql.jdbc.Driver/value
descriptionDriver class name for a JDBC metastore/description
/property
5配置数据库用户名 javax.jdo.option.ConnectionUserName 为 root
property
namejavax.jdo.option.ConnectionUserName/name
valueroot/value
descriptionUsername to use against metastore database/description
/property
6 将 以 下 位 置 的 ${system:java.io.tmpdir}/${system:user.name} 替 换 为 “/usr/local/src/hive/tmp”目录及其子目录
需要替换以下 4 处配置内容
namehive.querylog.location/name value/usr/local/src/hive/tmp/value descriptionLocation of Hive run time structured log file/description namehive.exec.local.scratchdir/name value/usr/local/src/hive/tmp/value namehive.downloaded.resources.dir/name value/usr/local/src/hive/tmp/resources/value namehive.server2.logging.operation.log.location/name value/usr/local/src/hive/tmp/operation_logs/value
7在 Hive 安装目录中创建临时文件夹 tmp。
[hadoopmaster ~]$ mkdir /usr/local/src/hive/tmp
至此Hive 组件安装和配置完成。
1.3.4初始化 hive 元数据
1将 MySQL 数据库驱动/opt/software/mysql-connector-java-5.1.46.jar拷贝到 Hive 安装目录的 lib 下
[hadoopmaster ~]$ cp /opt/software/mysql-connector-java-5.1.46.jar
/usr/local/src/hive/lib/
2重新启动 hadooop 即可
[hadoopmaster lib]$ stop-all.sh [hadoopmaster lib]$ start-all.sh
3初始化数据库
[hadoopmaster ~]$schematool -initSchema -dbType mysql 4启动 hive
[hadoopmaster ~]$ hive