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配置完成

原文地址:https://www.cnblogs.com/lihui123/p/14137978.html