CentOS 7 配置hadoop(四) 配置hive(伪分布)
章节:
第一章节:CentOS 7 配置hadoop(一) 安装虚拟机(伪分布)
第二章节:CentOS 7 配置hadoop(二) 配置hdfs(伪分布)
第三章节:CentOS 7 配置hadoop(三) 配置hbase(伪分布)
第四章节:CentOS 7 配置hadoop(四) 配置hive(伪分布)
第五章节:CentOS 7 配置hadoop(五) 配置sqoop(伪分布)
第六章节:CentOS 7 配置hadoop(六) 配置flume(伪分布)
第四章CentOS 7 配置hadoop(四) 配置hive(伪分布)
准备 hive压缩包 和 mysql的jdbc驱动jar包 所需内容在第一章节 CentOS 7 配置hadoop(一) 安装虚拟机
(四)配置hive
1.安装mysql服务
1)执行安装wget: yum -y install wget
2)执行:wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm (如果执行不了可直接跳过)
3)之后执行 : yum -y install mysql57-community-release-el7-10.noarch.rpm
4)之后就开始安装MySQL服务器:yum -y install mysql-community-server
(1)安装完 需配置 数据库的一些配置
首先启动MySQL:systemctl start mysqld.service
查看MySQL运行状态,运行状态如图: systemctl status mysqld.service
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码
grep "password" /var/log/mysqld.log
其中 红框内的是你的root密码
如下命令进入数据库: mysql -uroot -p
此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
注意如何你输入的密码过于简单他会报错
如何密码设置简单的 需要执行:set global validate_password_policy=0;
set global validate_password_length=1;
之后再次执行修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.14.2,如要开启所有的,用%代替IP(学习是建议用%),password是你的密码):
grant all privileges on *.* to 'root'@'192.168.14.2' identified by 'password' with grant option;
flush privileges;
mysql配置到此结束
2.配置hive
1)在FIleZilla上传hive压缩包
2)解压hive压缩包:tar -xzvf 包名
3)解压完 进入 cd /root/hive-1.1.0-cdh5.7.0/conf/ 的conf目录下
(1)创建hive-site.xml文件 touch hive-site.xml
添加内容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<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>mysql用户名</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysql密码</value>
</property>
</configuration>
(2)修改hive-env.sh文件 先需要(cp hive-env.sh.template hive-env.sh)
加到最后即可
export JAVA_HOME=/root/jdk1.8.0_161
export HADOOP_HOME=/root/hadoop-2.6.0-cdh5.7.0
(3)追加mysql的jdbc驱动jar包 在hive解压目录的lib文件夹下添加mysql的jdbc驱动
3.配置环境变量
vi /etc/profile
export HIVE_HOME=/root/hive-1.1.0-cdh5.7.0
export PATH=$PATH:$HIVE_HOME/bin
最后source /etc/profile
4.启动hive
1)直接输入hive
2) 进入Hive命令行,执行命令,创建一个名为test的表,并查询该表的记录数
create table test(id int);
select count(*) from test;
启动hive 会有 RunJar 的一个进程
如果启动错误如下
第一:可能mysql 赋予的权限不够
解决:进入mysql 执行
执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.14.2,如要开启所有的,用%代替IP password是你设置的密码):
grant all privileges on *.* to 'root'@'192.168.14.2' identified by 'password';
flush privileges;
第二:可能是hive-site.shli里面的用户名和密码错误
到此hive配置完成