大数据开发环境搭建2:Apache Hive环境搭建(centos7)

本文详细介绍了在CentOS7上搭建Apache Hive的步骤,包括先决条件、MySQL的安装与配置、Hive的安装、配置以及初始化,并提供了测试Hive环境的方法和参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前提条件

  1. 先搭建hadoop环境,具体参考Apache Hive环境搭建

二、mysql安装(rpm方式安装,可以使用yum方式安装,更加智能,会自动安装依赖)

1. 卸载mariadb

rpm -qa | grep mariadb

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

2. 解压

tar -axvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar -C ../app

3. 依次安装下面的rpm包

  • MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
  • MySQL-devel-5.6.26-1.linux_glibc2.5.x86_64.rpm
  • MySQL-embedded-5.6.26-1.linux_glibc2.5.x86_64.rpm
  • MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
  • MySQL-shared-5.6.26-1.linux_glibc2.5.x86_64.rpm
  • MySQL-shared-compat-5.6.26-1.linux_glibc2.5.x86_64.rpm
  • MySQL-test-5.6.26-1.linux_glibc2.5.x86_64.rpm

安装命令:

rpm –ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm

4. 重新启动mysql

systemctl start mysql

5. 查看数据库初始密码

cat /root/.mysql_secret

6. 设置数据库初始密码

SET PASSWORD=PASSWORD('123456');

set password for root@master=password('123456'); //注意,对于master机器设置密码

7. 设置权限

grant all privileges on *.* to 'root'@'%' identified by ‘123456' with grant option;

  • grant all privileges 授予所有的权限
  • on *.* 代表所有库所有表
  • to root@%,代表所有的ip都可以访问,也可以配置成只有本机可以访问
  • identified by Wang0000! 是密码
  • with grant option 赋予访问的用户拥有授权的权限
  • 这个授权命令范围太大,不适合在企业中使用,需要合理控制数据库的授权,防止安全问题。

8. 刷新权限

flush privileges;

9. 设置开机启动

systemctl enable mysql

三、安装hive

1. 解压

tar -zxvf apache-hive-2.3.5-bin.tar.gz -C ../app

2. 添加hive的环境变量

vi /etc/profile

export HIVE_HOME=/home/wangping/app/hive-2.3.5

export HIVE_CONF_DIR=${HIVE_HOME}/conf

export PATH=$HIVE_HOME/bin:PATH

3. 建立hive的目录

mkdir  /opt/hive/tmp

chmod 666 /opt/hive/tmp

mkdir /root/hive

mkdir /root/hive/warehouse

4. 在hdfs上建立数仓目录

hdfs dfs -mkdir -p /root/hive/

hdfs dfs -mkdir -p /root/hive/warehouse

5. 修改两个目录的权限为777

hdfs dfs -chmod 777 /root/hive

hdfs dfs -chmod 777 /root/hive/warehouse

6. 配置hive-site.xml

cp hive-default.xml.template hive-site.xml

vi hive-site.xml

<!-- 指定HDFS中的hive仓库地址 -->  

  <property>  

    <name>hive.metastore.warehouse.dir</name>  

    <value>/root/hive/warehouse</value>  

  </property>  

<property>

    <name>hive.exec.scratchdir</name>

    <value>/root/hive</value>

  </property>

  <!-- 该属性为空表示嵌入模式或本地模式,否则为远程模式 -->  

  <property>  

    <name>hive.metastore.uris</name>  

    <value></value>  

  </property>  

<!-- 指定mysql的连接 -->

 <property>

        <name>javax.jdo.option.ConnectionURL</name>

        <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>

    </property>

<!-- 指定驱动类 -->

    <property>

        <name>javax.jdo.option.ConnectionDriverName</name>

        <value>com.mysql.jdbc.Driver</value>

    </property>

   <!-- 指定用户名 -->

    <property>

        <name>javax.jdo.option.ConnectionUserName</name>

        <value>root</value>

    </property>

    <!-- 指定密码 -->

    <property>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>123456</value>

    </property>

    <property>

   <name>hive.metastore.schema.verification</name>

   <value>false</value>

    <description>

    </description>

 </property>

7. 配置hive-site.xml

vi hive-site.xml

${system:java.io.tmpdir}改为: /opt/hive/tmp

${system:user.name}改为: root

8. 修改hive-env.sh

vi hive-env.sh

export HADOOP_HOME=/home/wangping/app/hadoop-2.7.7 

export HIVE_CONF_DIR=/home/wangping/app/hive-2.3.5/conf

export HIVE_AUX_JARS_PATH=/home/wangping/app/hive-2.3.5/lib

9. 拷贝mysql连接器jar包

cp mysql-connector-java-8.0.16.jar /home/wangping/app/hive-2.3.5/lib

10. 初始化mysql数据库

cd /home/wangping/app/hive-2.3.5/bin

schematool -initSchema -dbType mysql

11. 查看mysql中的hive数据库

mysql -uroot -p

use hive

show tables;

四、测试hive

1. 创建一个仓库,两张表

create database hiveTest;

create table hiveTest.student(id int,name string) row format delimited fields terminated by '\t';

create table hiveTest.employee(id int,name string) row format delimited fields terminated by '|';

2. 向表里面load数据

load data local inpath ‘/home/wangping/app/hive-2.3.5/examples/files/student.txt’ into table hiveTest.student;

load data local inpath ‘/home/wangping/app/hive-2.3.5/examples/files/employee.dat’ overwrite into table hiveTest.employee;

select * from hiveTest.student;

3. 查看hdfs上的hive仓库的目录结构(一窥数据仓库的组织方式)

hdfs dfs -ls /root/hive/warehouse/

4. 查看表的数据,过渡区通常采用textfile的存储格式(默认也是textfile格式),可以手工检查数据

hdfs dfs -text /root/hive/warehouse/hivetest.db/employee/employee.dat

5. 通过web查看MapReduce任务执行情况

http://192.168.108.10:50070

http://192.168.108.10:8088/

六、拍摄快照

1. 拍摄快照,方便日后快速搭建环境

七、参考资料

https://www.cnblogs.com/xuwujing/p/8045821.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值