Linux—Hive1.2.1安装
Linux系统
Hadoop环境(2.7.4)
hive1.2.1安装包
MySQL两个安装包(第二个需要)
①
mysql57-community-release-el7-10.noarch.rpm
②
mysql-connector-java-5.1.47.tar.gz
简单安装Hive
安装环境
上传并解压
1 | tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /export/server |
重命名Hive
1 | mv apache-hive-1.2.1 hive1.2 |
配置环境变量
1 | vi /etc/profile #找不到命令解决方法:export PATH=/usr/sbin |
记得. /etc/porfile
刷新配置文件
配置文件
进入hive1.2/conf的目录下
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
修改HADOOP_HOME的路径
1 | HADOOP_HOME=/export/servers/hadoop2.7 |
安装Hive(带MySQL)
安装Mysql(安装有就跳过这一步)
1、导入包mysql57-community-release-el7-10.noarch.rpm
1 | yum -y install mysql57-community-release-el7-10.noarch.rpm |
没有可用软件包 mysql57-community-release-el7-10.noarch.rpm。
错误:无须任何处理
请确认你的包在你安装的目录下
失败软件包 密钥配置为xxxxx的解决方法(可以先运行)
1 | rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 |
2、安装MySQL服务器
1 | yum -y install mysql-community-server |
安装完成
3、启动mysql
1 | systemctl start mysqld.service |
4、查看MySQL原始密码,登录Mysql(两个方法)
第一个方法(建议使用)
1 | grep "password" /var/log/mysqld.log |
特殊符号就单引号即可
进入Mysql后修改密码
1 | # 设置简单的密码,降低密码强度 |
5、开启访问限制,语句中“%”代表所有IP,如果只对特定的云主机开放,就在%的位置填上特定云主机的IP地址
1 | grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; |
6、设置开机启动
1 | chkconfig mysqld on |
安装环境
上传并解压
1 | tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /export/server |
重命名Hive
1 | mv apache-hive-1,2,1 hive1.2 |
配置环境变量
1 | vi /etc/profile #找不到命令解决方法:export PATH=/usr/sbin |
记得. /etc/porfile
刷新配置文件
配置Mysql文件
解压mysql-connector-java-5.1.47.tar.gz
1 | tar -zxvf mysql-connector-java-5.1.47.tar.gz |
将该目录下的mysql-connector-java-5.1.47-bin.jar
包放到hive/lib
的目录下
cd mysql-connector-java-5.1.47
1 | mv mysql-connector-java-5.1.47-bin.jar /export/servers/hive/lib/ |
cd ..
回到上级目录可以将rm -rf mysql-connector-java-5.1.47
删掉
配置文件(五个)
将工作目录移到hive2.1/conf目录下,复制hive中conf目录下的初始文件作为配置文件,命令行为:
1 | cp hive-env.sh.template hive-env.sh |
vi hive-env.sh
修改HADOOP_HOME的路径
1 | HADOOP_HOME=/export/servers/hadoop2.7 |
修改hive-site.xml的配置文件中的参数,使其连接到mysql数据库,具体参数配置如下:
localhost改成自己的主机名
注意:下面ConnectionUserName和ConnectionPassword需要更加mysql中自己设置的用户名和密码,我这里的用户名为root,密码为123456。
1 | <property> |
修改hive-site.xml配置文件中的配置参数,将{system:java.io.tmpdir}/&{system:user.name} 改成 /tmp/hive,有如下属性需要修改:
1 | <property> |
在hive2.1/bin目录下使用schematool -dbType mysql -initSchema
命令初始化hive
看到提示schemaTool completed,即初始化hive成功
看到schemaTool failed则为失败
使用mysql -uroot -p123456,命令重新登录MySQL,并在MySQL中使用create database hive;语句新建hive数据库,使用show databases;语句验证数据库是否创建成功,可查询到即创建成功。
Hive Shell命令的使用
Hive的启动和关闭
先启动hdfs,再启动hive
start-dfs.sh
再到hive1.2的目录下启动hive
1 | bin/hive |
退出
1 | quit; |
使用方法同MySQL语法
新建用户表并用txt文件导入数据
1 | create t_user(id int,name string) row format delimited fields terminated by ' ' lines terminated by '\n'; |
上传txt文件到主机并加载数据到Hive表的t_user中
1 | load data local inpath 'Linux的目标文件路径' overwrite into table t_users; |
如果是把该文件上传到hdfs中,再加载到hive表的t_user中
先把文件上传到hdfs上
1 | hadoop fs -put Linux的目标文件路径 /tmp |
再加载数据
1 | load data inpath '/tmp/t_users.txt' overwrite into table t_users; |
通过select命令查看t_users表,看数据是否加载成功
该文章Mec所著,如有错误请联系作者邮箱更改