1.第一种解决方案
在Hive服务中输入命令行代码一定要规范,输入完命令行代码后要以 ; 结尾错误示范效果(没有以 ; 结尾的)示例:
Hive 服务都是不识别的正确示范效果
如果不是如上所述那就只能逐一排查
第二种解决方案(包含安装Hive)
第一步:查看系统自带的mysql的rpm包 (确认是否少包)
rpm -qa | grep mysql
第二步:安装mysql的rpm包
yum install mysql mysql-server mysql-devel
第三步:启动mysql的服务
/etc/init.d/mysqld start
查看mysql启动的状态
service mysqld status
第四步:进入mysql的客户端然后进行授权(如果mysql设置了密码 在进入的话使用命令 mysql -uroot -p123456)
mysql
配置远程连接
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
第五步 设置root用户链接mysql的密码
update user set password=password('123456') where user='root';
flush privileges;
修改hive的配置文件
修改hive-env.sh 添加我们的hadoop的环境变量(改成自己的hive-1.1.0-cdh5.14.0解压路径):
cd /export/servers/hive-1.1.0-cdh5.14.0/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
注意:修改这两处配置不要写到了注释里
修改hive-site.xml
vim hive-site.xml
添加如下代码
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node03.hadoop.com: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.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node03.hadoop.com</value>
</property>
<!--
<property>
<name>hive.metastore.uris</name>
<value>thrift://node03.hadoop.com:9083</value>
</property>
-->
</configuration>
配置hive的环境变量
vim /etc/profile.d/hive.sh
配置完hive的环境变量后
source /etc/profile
最后记得上传mysql的lib驱动包,将mysql的lib驱动包上传到hive的lib目录下
上传到集群hive的lib目录下后确认信息
cd /export/servers/hive-1.1.0-cdh5.14.0/lib
检测Hive 服务是否可以正常启动:
在命令行输入hive
hive
查看所有的数据库
show databases;
创建一个数据库
create database HiveText;
以上命令操作完成之后,一定要确认mysql里面出来一个数据库HiveText