系统环境是centos7
1、hadoop
2、mysql
这里我先不讲这两个的安装方式,之后在出帖子详解
简单说一下版本:
hadoop-2.6.5
mysql我是用的docker上的最新版本 docker pull mysql:latest 8.几的版本
后面hive会用到mysql-connector-java-8.0.19.jar包,这个包是和元数据存的mysql的版本相对应的,这个大家得注意
之后的帖子在去讲HBASE与hive关联吧
首先我们得对应hadoop的版本下载hive,我们的hadoop是2.x的所以,hive也要2.x的
下载地址:http://archive.apache.org/dist/hive/
大家下载对应的版本就行了
下载之后上传到自己的服务器
rz -E
放在指定目录解压即可
tar -zxvf apache-hive-2.1.1-bin.tar.gz
进入配置文件夹conf
cd /hadoop/apache-hive-2.1.1-bin/conf/
ls
这里面应该是没有hive-env.sh和hive-site.xml配置文件的
就需要cp hive-env.sh的模板并且创建hive-site.xml
cp hive-env.sh.template hive-env.sh
touch hive-site.xml
打开hive-site.xml文件 vi hive-site.xml 添加以下内容,注意要自己修改成自己的mysql地址和用户哦
javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.200.11:3306/hive?createDatabaseIfNotExist=true
Hive access metastore using JDBC connectionURL
javax.jdo.option.ConnectionDriverName
com.mysql.cj.jdbc.Driver
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
123456
password to access metastore database
hive.server2.transport.mode
binary
Expects one of [binary, http].
Transport mode of HiveServer2.
然后在hive-env.sh文件下面追加hadoop地址
HADOOP_HOME=/hadoop/hadoop-2.6.5
然后在编辑一下环境变量/etc/profile文件
再把最开始说的mysql的mysql-connector-java-8.0.19.jar包放在lib下面
就可以初始化一下数据库了
schematool -dbType mysql -initSchema
之后试试
hive
然后在试试查看数据库命令
show databases;
安装成功
我们使用hive的时候并不是一直是在上面操作,更多的是远程操作hive,或者其他UI工具访问,比如hue,那么我们就要开始hive的远程访问了
首先得在hadoop的etc/hadoop/core-site.xml
hadoop.proxyuser.root.hosts
*
hadoop.proxyuser.root.groups
*
然后在hdfs-site.xml添加
dfs.webhdfs.enabled
true
然后就是启动呀,先启动hadoop
start-all.sh
在启动
hive --service metastore
然后切换用户su hive ,启动hiveserver2
hiveserver2
我们来测试一下
beeline
!connect jdbc:hive2://192.168.200.11:10000
也可以直接 -u : 指定元数据库的链接信息 -n : 指定用户名和密码
beeline -u jdbc:hive2://192.168.200.11:10000 -n root
就是没有切换用户启动hiveserver2 切换了就对了