之前参照一个易百教程安装过,里面装的另外一个数据库(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数据库
我之前已经安装好了MySQL 5.7。 (没有安装的可以参考:【centos7安装mysql5.7以及密码修改】)
service mysql start
mysqladmin -u root password "root"
mysql -uroot -proot
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES;
解释:. 代表所有数据库下的所有表;%代表任何IP地址或者主机都可以连接;第一个root代表mysql数据库的用户名;第二个root代表root用户的登录密码;
FULSH PRIVILEGES; #刷新授权
三、安装并配置Hivewget http://archive.apache.org/dist/hive/hive-2.3.0/apache-hive-2.3.0-bin.tar.gz
tar zxvf apache-hive-2.3.0-bin.tar.gz
mv apache-hive-2.3.0-bin /usr/local/hive
vim /etc/profile
export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
cd /usr/local/hive/conf
这里直接创建hive-site.xml,【网上很多地方是通过复制得到的,但是鉴于复制的文件里的内容很多且没有用,所以可以直接创建】
mkdir hive-site.xml
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:在软硬件环境中可以找到网盘分享链接
五、启动hivecd /usr/local/hive ./bin/hive
SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
截图如下:
schematool -dbType mysql -initSchema
成功!
参考:
一脸懵逼学习Hive的元数据库Mysql方式安装配置centOS中安装MySql及Hive
Hive2:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient