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!!然后各种网上搜解决方案,最终终于成功了,大家遇到问题的时候一定要耐心,看错误日志,一步步解决哦!

 


猜你喜欢

转载自blog.csdn.net/u011249920/article/details/75095430