微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ubuntu16.04 Hive安装配置

说来自己断断续续自学大数据Hadoop已经有一段时间了,不过觉得还是晕乎乎的,各种看了就忘,好记性不如烂笔头,还是记录下吧,也希望能对后面自学的人能有所帮助。

我的系统环境是Ubuntu16.04

我安装的软件:

MysqL

Jdk1.8.0_121

apache-hive-2.1.1-bin

mysql-connector-java-5.1.42-bin.jar

hadoop2.8.0


安装过程:

  1. 因为很长时间没有用过Ubuntu系统中自带MysqL,而且密码怎么输都不对,所以我还是删掉重新安装了下。

sudo rm /var/lib/MysqL/ -R

sudo rm /etc/MysqL/ -R

sudo apt-get autoremove MysqL* --purge

sudo apt-get remove apparmor

sudo apt-get install MysqL-server

service MysqL start

MysqL -u root -p

输入自己设置的root密码就能进入MysqL啦;

然后创建hive数据库

create database hive

show databases

后来想起来其实可以重置密码的,下面重置密码的方法是试过OK的。

到/etc/MysqL/MysqL.conf.d下,编辑MysqLd.cnf文件,在[MysqLd]段下加入一行“skip-grant-tables”

重启MysqL服务 sudo service MysqL restart

用空密码进入MysqL管理命令行,切换到MysqL库。

然后按截图中步骤操作重置root密码为123456

回到sudo gedit /etc/MysqL/MysqL.conf.d/MysqLd.cnf,把刚才加入的那一行“skip-grant-tables”注释或删除掉。

再次重启MysqL服务sudo service MysqL restart,使用新的密码登陆,修改成功。


2. 解压JDK,HIVE,HADOOP的压缩包,最好将这些解压后的文件放到同一个目录下,省的以后直接搞不清楚找不到,我是都放在hadoopEnv目录下的。

使用命令vim ~/.bashrc进行环境配置,我的配置如下,大家可根据直接的路径进行修改


然后source ~/.bashrc将配置生效

接着一定要记得将mysql-connector-java-5.1.42-bin.jar放到hive目录的lib目录下,否则到时运行hive的时候会报错,无法连接到数据库的!!!

同时在hive目录下新建warehouse文件夹。

3. Hive配置

Hive的conf目录下,新建hive-site.xml,进行一些简单的配置,我的配置如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration> 
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/home/hadoopEnv/hive/warehouse</value>   
        <description>location of default database for the warehouse</description>
    </property>
    <property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:MysqL://localhost:3306/hive</value>                           
        <description>JDBC connect string for a JDBC metastore</description>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.MysqL.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
    </property>
    <property> 
       <name>javax.jdo.option.ConnectionPassword </name> 
       <value>填上你自己的连接数据库的密码</value> 
    </property> 
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
        <description>Username to use against metastore database</description>
     </property>
</configuration>

PS:当然你也可以给HIVE新建个MysqL的帐号密码,然后hive-site.xml配置那里改成HIVE的MysqL帐号密码;但是一定得记得在MysqL root帐号登录的情况下给它全部权限,否则后面运行hive会一直提示访问数据库被拒。
#创建数据库
MysqL> create database hive;
#赋予访问权限
MysqL> grant all privileges on hive.* to root@localhost identified by '密码' with grant option;
MysqL> flush privileges;


然后命令行

cp hive-env.sh.template hive-env.sh

4. Hadoop配置(我这里配的是本地模式)

(具体可以查看apache hadoop官网)

首先要配置ssh,不细说了;

hadoop的etc目录下修改配置文件信息

core-site.xml


hdfs-site.xml

mapred-site.xml


因为我现在只是搭的本地,所以先ssh localhost;

再到hadoop安装目录下,运行sbin/start-all.sh;再jps查看是否正确启动hadoop的所有进程。
如果启动报错:


解决办法:
修改/etc/hadoop/hadoop-env.sh中设JAVA_HOME。
应当使用绝对路径
export JAVA_HOME=${JAVA_HOME} //文档原来的(错误

export JAVA_HOME=/home/wangly/hadoopEnv/jdk_ 1.8.0_121 //正确,应该这么改


在HDFS上建立/tmp和/user/hive/warehouse目录,并赋予组用户写权限。

HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
HADOOP_HOME/bin/hadoop fs -mkdir -p    /user/hive/warehouse
HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp
HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

5. 运行hive

运行hive --service metastore ,启动hive服务

要记得初始hive数据库!!!

.


完成~

其实搭建的过程中遇到了各种error!!然后各种网上搜解决方案,最终终于成功了,大家遇到问题的时候一定要耐心,看错误日志,一步步解决哦!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐