阿里云服务器centos7.2下基于hadoop2.7安装Hive 2.3.0【成功版】

前言

之前参照一个易百教程安装过,里面装的另外一个数据库(derby),不是很懂,配置没弄好,一堆报错,放弃了。【有兴趣的可以看看,大佬无视~】阿里云服务器centos7.2下基于hadoop2.7安装Hive 2.3.0【部分待解决】

网上的“博客教程”很多,走了一些弯路,这里记录下自己的安装成功过程。希望有所帮助。

假设现在你已经安装好了hadoop,没安装的可以参考阿里云服务器centos7.2下搭建hadoop伪分布式环境

另外,推荐云服务器上搭建Hadoop伪分布式环境的教程下载链接:云服务器上搭建Hadoop伪分布式环境的文档

一、软硬件环境:

CentOS 7.2 64位

OpenJDK-1.8.0

Hadoop-2.7

Hive 2.3.0(下载地址

mysql 5.7

mysql-connector-java-5.1.8-bin.jar【链接: https://pan.baidu.com/s/1h-QkIKLyxuf5VFqOuA-OkQ 密码: kvbq】

二、安装MySQL数据库

2.1 安装mysql 

我之前已经安装好了MySQL 5.7。 (没有安装的可以参考:【centos7安装mysql5.7以及密码修改】

2.2 启动mysql

service mysql start

2.3 设定初始密码

mysqladmin -u root password "root"

2.4 登录mysql交互式环境

mysql -uroot -proot

2.5 给用户授权(如果出现没有权限的问题)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

解释:. 代表所有数据库下的所有表;%代表任何IP地址或者主机都可以连接;第一个root代表mysql数据库的用户名;第二个root代表root用户的登录密码;

FULSH PRIVILEGES; #刷新授权

三、安装并配置Hive

3.1下载:

wget http://archive.apache.org/dist/hive/hive-2.3.0/apache-hive-2.3.0-bin.tar.gz

3.2解压:

tar zxvf apache-hive-2.3.0-bin.tar.gz

3.3将文件复制到/usr/local/hive目录下

mv apache-hive-2.3.0-bin /usr/local/hive

3.4配置环境变量:

vim /etc/profile
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

3.5让修改后的环境变量生效[每次修改后都记得执行这条命令]

source /etc/profile

3.6将mysql连接hive,切换到配置文件目录

cd /usr/local/hive/conf

这里直接创建hive-site.xml,【网上很多地方是通过复制得到的,但是鉴于复制的文件里的内容很多且没有用,所以可以直接创建】

mkdir hive-site.xml

3.7编辑内容:

vim hive-site.xml
<configuration>
<!-- 连接数据库密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
<!-- 连接数据库字符串 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=tru
e</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>
</configuration>

ps:以上配置文件中注意修改为自己的主机名和数据库用户名和对应的密码。

四、将mysql的驱动jar包通过远程终端(Xshell)拷贝到/usr/local/hive/lib目录下

ps:在软硬件环境中可以找到网盘分享链接

五、启动hive

cd /usr/local/hive
./bin/hive

5.1成功启动,但是当执行mysql 命令时,报错:FAILED: 

SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

截图如下:

5.2在网上查询发现,原来Hive2需要hive元数据库初始化。执行下面的命令后,不再报错:

schematool -dbType mysql -initSchema

5.3再次启动hive,执行mysql命令:

成功!

参考:

一脸懵逼学习Hive的元数据库Mysql方式安装配置

centOS中安装MySql及Hive

Hive2:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

猜你喜欢

转载自blog.csdn.net/feng_zhiyu/article/details/81047080
今日推荐