hive 列转行_大数据仓库,Hive的安装详细步骤

大数据数据仓库,一般来说底层都是建设在hive当中,利用hadoop的hdfs分布式文件系统,可以替代传统的mysql和oracle等数据库,进而来存储上百TB、PB等级别的大数据集。如果公司业务中,每天数据增长多,也可以使用hive存储数据。跟传统的关系型数据库不同,hive数据存储在hdfs上,底层使用mapreduce计算数据,主要做大数据的分析使用。

在hadoop集群上安装hive

一,先在linux上安装mysql,存储hive元数据信息。

1、通过下面的命令,获取mysql 源安装包,直接复制,浏览器打开下载即可

https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

a337396ba843d831cc53ed4b3a229328.png

2、在Linux上安装刚下载的 mysql 源

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

3、使用命令,检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

4、使用 yum 命令安装mysql

yum install mysql-community-server

5、配置mysql的文件目录信息

使用下面的命令,查看mysql配置文件加载顺序:

 mysqld --help --verbose|grep -A1 -B1 cnf

修改根目录 /etc/my.cnf 配置文件内的文件目录

datadir=/data/mysql/data
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
log-error=/data/mysql/log/mysqld.log

注意:

SQL_MODE:通过对其正确的设置可以完成一些约束检查的工作,设置时,在配置文件my.cnf 中配置进行全局的设置。

STRICT_TRANS_TALES(严格模式):只对支持事务的表启用严格模式。

NO_AUTO_CREATE_USER:禁止GRANT创建密码为空的用户。

NO_ENGINE_SUBSTITUTION:启用后,若需要的存储引擎被禁用或未编译,则抛出错误;未启用时将用默认的存储引擎代替,并抛出一个异常。

6、创建 mysql 的文件目录

mkdir -p /data/mysql/data
mkdir -p /data/mysql/log

7、使用下面的命令生成首次登录的随机密码

 mysqld --initialize

通过上面命令会在 /data/mysql/log/mysqld.log 中生成随机码,随机码用来首次登录mysql。

8、修改mysql 文件目录的权限,把所有者修改为 mysql 用户

 chown -R mysql:mysql /data/mysql

9、启动mysql

 systemctl start mysqld.service

10、 关闭并重启mysql

systemctl stop mysqld.service
systemctl start mysqld.service

请注意:如果再次启动报错,就重启Linux 系统。

11、用生成的随机密码登录mysql

 mysql -uroot -p xxx

12、使用mysql密码

用生成的随机密码登录进入 mysql 命令行后,需要重置密码,以确保账户安全。

在重置密码时,如果不想密码设置得那么复杂,需要设置validate_password_policy 参数:

rpm -qa | grep -i mysql

这样,判断密码的标准就基于密码的长度了,这个由validate_password_length参数来决定。

validate_password_length默认是8所以密码长度必须大于8。

设置密码:

set password=PASSWORD('1234abcd')

设置完密码后,用新密码重新登录。因为mysql5.7是默认安装validate_password插件 ,那么如何验证validate_password插件是否安装呢?可通过查看以下参数,如果没有安装,则输出将为空。

rpm -qa | grep -i mysql

安装mysql错误解决:报错解决,如果启动一直报错,根据报错原因解决不了问题了,可以直接卸载mysql,然后重新安装。

使用下面的命令 查看已经安装过的组件:

yum -y remove mysql57-community-release-el7-11.noarch 
yum -y remove mysql-community-common-5.7.19-1.el7.x86_64

之后用yum -y remove 卸载所有跟mysql有关的组件

yum -y remove mysql57-community-release-el7-11.noarch 
yum -y remove mysql-community-common-5.7.19-1.el7.x86_64

卸载后再用 rpm -qa | grep -i mysql 查看是否全部卸载完毕。

删除/data/mysql 目录

rm -rf /data/mysql

二、 在linux上安装 hive

1、用root用户上传并解压hive的tar安装包,可以使用xftp上传安装包。

#解压到/usr/local/目录下
tar -xzf ./apache-hive-2.1.1-bin.tar.gz -C /usr/local/

2、创建hive-2.1.1-bin的软链接

ln -s /usr/local/apache-hive-2.1.1-bin /usr/local/hive

3、修改/usr/local/hive/apache-hive-2.1.1-bin目录所有者为hadoop用户

chown -R hadoop:hadoop /usr/local/apache-hive-2.1.1-bin

4、配置环境变量

增加HIVE_HOME和HIVE_CONF_DIR

export HIVE_HOME=/usr/local/hive
export HIVE_CONF_DIR=/usr/local/hive/conf

使用下面的命令,更新刚配置的环境变量:source /etc/profile

5、修改配置

切换到hadoop用户,修改hive配置在/usr/local/hive/conf目录。先备份原来的配置:

cp -R /usr/local/hive/conf  /usr/local/hive/conf_back

上传hive-site.xml 到 /user/local/hive/conf/ 目录下。


把hive-env.sh.template和mv hive-log4j2.properties.template改名为如下名:

mv hive-env.sh.template hive-env.sh
hive-log4j2.properties

6、在mysql中创建hive用的数据库和hive用户

--登录mysql
mysql -uroot -p'1234abcd'                            
set global validate_password_policy=0;

--创建hive用户
CREATE USER 'hive'@'%' IDENTIFIED BY '1234abcd';

--在mysql中创建hive_meta数据库
create database hive_meta default charset utf8 collate utf8_general_ci;

--给hive用户增加hive_meta数据库权限
grant all privileges on hive_meta.* to 'hive'@'%' identified by '1234abcd';

--更新配置
flush privileges;

7、拷贝mysql驱动jar包 到/usr/local/hive/lib/

8、如果报错,删除冲突的log4j日志包

rm -f /usr/local/hive/lib/log4j-slf4j-impl-2.4.1.jar

9、在HDFS上创建hive使用的数据目录

hadoop fs -mkdir -p /hive/warehouse
hadoop fs -chmod -R 777 /hive

10、hive初始化mysql

schematool -dbType mysql -initSchema

11、给mysql中root用户开通所有权限,方便在客户端进行查看

grant all privileges  on *.* to root@'%' identified by "1234abcd";
#更新配置使之生效
flush privileges;

使用客户端查看,看hive_meta库中是否已经初始化好hive表。

往期回顾


|| 大数据之数据仓库,使用Hive仓库遇到的哪些事

|| 大数据仓库,Hive复杂的数据结构,SQL列转行操作

|| 数据仓库,Hive中使用 != 或 <>; 符号进行条件过滤时的坑

f2a157b7cc3ba33bbe1dc85d08b1f22b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值