安装包:

apache-hive-2.1.1-bin.tar.gz

安装步骤:

1.上传   apache-hive-2.1.1-bin.tar.gz 到linux;

2.解压文件:

tar zxvf apache-hive-2.1.1-bin.tar.gz

3.安装mysql (仅支持mysql 5.7以下版本,不支持5.7或更高版本,原因:若采用高版本mysql,部分文档内容需要改写)

sudo yum install mysql-server

4. 安装 mysql connector

sudo yum install mysql-connector-java

该命令会在/usr/share/java/下产生mysql-connector-java.jar

5. 建立链接

ln -s /usr/share/java/mysql-connector-java.jar /usr/local/hadoop-soft/etc/hive-2.1.1/lib/mysql-connector-java.jar

该命令在hive安装目录的lib目录下建立软链接,指向/usr/share/java/mysql-connector-java.jar

6.  启动mysql
                sudo service mysqld start

可通过以下命令验证mysql启动成功(显示mysql进程):

ps aux | grep mysql

7.  修改mysql密码 , 修改mysql密码(改为newpass,请根据需要自行替换newpass)

mysql> use mysql;

mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

mysql> FLUSH PRIVILEGES;

允许用户root通过任意机器访问mysql:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpass' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

8. 进入到根目录,配置环境变量:

vim ~/.bash_profile

export HIVE_HOME=/usr/local/hadoop-soft/etc/hive-2.1.1
export PATH=$HIVE_HOME/bin:$PATH

       运行生效:

source ~/.bash_profile

9.  配置hive

a.进入目录:

cd /usr/local/hadoop-soft/etc/hive-2.1.1/conf

b. 新建 并 编辑  hive-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
        <name>hive.metastore.uris</name>
        <value>thrift://master:9083</value>
</property>
<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master/metastore?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>root</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/local/hadoop-soft/etc/hive-2.1.1/warehouse</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoStartMechanism</name>
<value>SchemaTable</value>
</property>
<property>
<name>datanucleus.schema.autoCreateTables</name>
<value>true</value>
</property> <property>
<name>beeline.hs2.connection.user</name>
<value>master</value>
</property>
<property>
<name>beeline.hs2.connection.password</name>
<value>master</value>
</property>
</configuration>     

注意 :

1. hive.metastore.uris中的“bigdata“含义为metastore server所在的机器(启动metastore的方法见下一节)

2. javax.jdo.option.ConnectionURL中的“bigdata”为mysql安装机器的hostname

3. javax.jdo.option.ConnectionUserName和javax.jdo.option.ConnectionPassword分别为mysql的访问用户和密码,可通过以下命令验证是否有效(期中bigdata为javax.jdo.option.ConnectionURL中配置的地址,xxx为mysql用户名):

mysql –h bigdata-u xxx –p

4. fs.defaultFS为HDFS的namenode启动的机器地址

5. beeline.hs2.connection.user和beeline.hs2.connection.password是beeline方式访问的用户名和密码,可任意指定,但在beeline访问时要写入你指定的这个(具体参考最后一部分)

10.如果是第一次启动hive,需要执行初始化命令

schematool -dbType mysql -initSchema

注意:仅在第一次启动hive时,运行该命令,以后则只需直接启动metastore和hiveserver

11. 启动metastore

nohup hive --service metastore >> /usr/local/hadoop-soft/etc/hive-2.1.1/metastore.log 2>&1 &

12. 启动hive server

nohup hive --service hiveserver2 >> /usr/local/hadoop-soft/etc/hive-2.1.1/hiveserver.log 2>&1 &

13. 查看hive metastore和hiveserver2是否启动成功

ps aux | grep hive

能输出两个进程,分别对应metastore和hiveserver2.

 

14.  Hive常见两种访问方式

a.不建议使用 hive ,已经被淘汰

b. 建议使用  beeline

15.  修改hadoop 安装目录下 ,core-site.xml 文件

比如要用root 用户启动  hive server2和hive metastore,则增加配置:

<property>
      <name>hadoop.proxyuser.root.groups</name>
      <value>*</value>
 </property>  <property>
      <name>hadoop.proxyuser.root.hosts</name>
      <value>*</value>
  </property>

16. 之后输入以下命令发起一个连接:

!connect jdbc:hive2://master:10000/default master master

其中master 和master 分别是在hive-site.xml配置文件中由beeline.hs2.connection.user和beeline.hs2.connection.password设置的。

注:如果要使用beeline或JDBC连接hive时,遇到报错:“User: xxx is not allowed to impersonate yyy”,需在hadoop的配置文件core-site.xml中加入以下配置(其中红色标志的“xxx”是你启动hive server2和hive metastore所采用的用户,

             用户名中不要包含“.”,比如“cheng.dong”是不支持的),并重启hiveserver2, hive metastore,HDFS和YARN

最新文章

  1. JAVA笔试题集(一)--JAVASE部分
  2. xfce4 dev tools的一些说明
  3. String相关操作
  4. AX 最顶部工作区间窗口文本修改
  5. where, group by, having
  6. 【恒天云】OpenStack和CloudStack对比研究报告
  7. Ubuntu和Redhat(Debian)的差别
  8. 企业建站http://www.douco.com/
  9. 网站pv统计脚本
  10. 控制input 输入框的placeholder
  11. Vijos P1035 贪婪的送礼者【模拟】
  12. 如何解决svn清理失败 不能更新 cleanup失败 cleanup乱码 更新乱码 svn更新提示清理 清理乱码不能清理 svn故障修复SVN cleanup 陷入死循环 svn cleanup时遇到错误怎么办
  13. Linux之Nginx使用
  14. Linux查询进程和结束进程
  15. cookie的存入和取出
  16. 使用Vagrant搭建本地python开发环境
  17. 一道简单树形dp
  18. cf799c 树状数组魔改
  19. JavaWeb中四大域对象的作用范围
  20. 【转载】使用 Google Guava 美化你的 Java 代码

热门文章

  1. (三)认识twisted reactor
  2. 部署CM集群首次运行报错:Formatting the name directories of the current NameNode.
  3. CentOS7搭建NTP服务器及客户端同步时间
  4. JZOJ2678 树B
  5. 管道(Pipe)----计算机进程间通信
  6. go 关键字之 defer
  7. Linux文档整理之【Mysql安装与配置】
  8. Kibana 基本操作
  9. maven项目出现红叉
  10. 什么情况下会出现undefined