1、先在主节点上安装阿里云配置(看别的文档)

2、把需要的两个jar包加入进来(放到hadoop用户目录下面即可即/home/hadoop/

mysql-connector-java-5.1.47.tar.gz

apache-hive-2.3.4-bin.tar.gz

3、解压压缩包(在hadoop用户主节点下运行)

下载地址

然后下载hive文件

http://mirror.bit.edu.cn/apache/hive/hive-2.3.4/

或者这个

 http://archive.apache.org/dist/hive/hive-2.3.4/ 

MySQL Java 连接器添加到 $HIVE_HOME/lib 目录下(后续创建)。我安装时使用的是 mysql-connector-java- 5.1.47.jar。

在mysql-connector-java-5.1.47.tar.gz解压后的下面

https://dev.mysql.com/downloads/connector/j/

http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/

运行程序

tar -xvf apache-hive-2.3.4-bin.tar.gz -C hadoop_home/

tar -xvf mysql-connector-java-5.1.47.tar.gz

4、配置环境变量

vi ~/.profile

export HIVE_HOME=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin

export PATH=$PATH:$HIVE_HOME/bin

source ~/.profile

5、在apache-hive-2.3.4-bin/conf

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

cp hive-default.xml.template hive-site.xml

cp hive-log4j2.properties.template hive-log4j2.properties

cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

6、修改hive-env.sh

因为 Hive 使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:

export JAVA_HOME=/home/hadoop/hadoop_home/jdk1.8.0_181    ##Java路径

export HADOOP_HOME=/home/hadoop/hadoop_home   ##Hadoop安装路径

export HIVE_HOME=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin    ##Hive安装路径

export HIVE_CONF_DIR=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin/conf    ##Hive配置文件路径

7、然后apt-get install mysql-server

若是没有设置密码

根据提示安装就可以了,不过安装完成后没有密码,需要重置密码

4.重置mysql密码

$ mysql -u root

1

登录时有可能报这样的错:

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)

1

原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

$ sudo chown -R root:root /var/lib/mysql

1

5.重启mysql服务

$ service mysqld restart   或者/etc/init.d/mysql restart

1

6.接下来登录重置

$ mysql -u root  //直接回车进入mysql控制台

mysql > use mysql;

mysql > update user set password=password('123456') where user='root';

mysql > exit;

进入以下界面

cd   /etc/mysql/mysql.conf.d

然后

vi vi mysqld.cnf

把最下面的bind-address  =127.0.0.1

注释掉就好(后面sqoop用到)

8设置远程连接

设置远程连接

mysql> CREATE DATABASE hive;创建数据库

mysql> USE hive;进入数据库

mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';创建hive用户,并且密码为hive,允许本地登录

mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive';把hive数据库的内容到hive用户下,即配置权限

mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';

mysql> FLUSH PRIVILEGES;

mysql> quit;

在root用户下执行

service mysqld restart   或者/etc/init.d/mysql restart

重启服务

9创建HDFS目录

在 Hive 中创建表之前需要创建以下 HDFS 目录并给它们赋相应的权限。

 先启动集群  :start-all.sh

hdfs dfs -mkdir -p /user/hive/warehouse

hdfs dfs -mkdir -p /user/hive/tmp

hdfs dfs -mkdir -p /user/hive/log

hdfs dfs -chmod g+w /user/hive/warehouse

hdfs dfs -chmod g+w /user/hive/tmp

hadoop fs -chmod -R 777 /user/hive/tmp

hdfs dfs -chmod g+w /user/hive/log

10创建数据库和用户

假定你已经安装好 MySQL。下面创建一个 hive 数据库用来存储 Hive 元数据,且数据库访问的用户名和密码都为 hive。

mysql> CREATE DATABASE hive;

mysql> USE hive;

mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';

mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive';

mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';

mysql> FLUSH PRIVILEGES;

mysql> quit;

11修改hive-site.xml

然后在配置文件hive-site.xml中,把所有的${system:java.io.tmpdir} 都替换为/usr/local/hive/tmp (有可能需要转义字符)

把所有的${system:user.name}替换为${user.name}

直接修改为下面这样也可以,注意用户名和密码,对应上一步中mysql创建的用户名和密码

依次查找下面的修改。

<property>

    <name>hive.exec.scratchdir</name>

    <value>/user/hive/tmp</value>

</property>

<property>

    <name>hive.metastore.warehouse.dir</name>

    <value>/user/hive/warehouse</value>

</property>

<property>

    <name>hive.querylog.location</name>

    <value>/user/hive/log</value>

</property>

<property>

    <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>

  </property>

  <property>

    <name>javax.jdo.option.ConnectionDriverName</name>

    <value>com.mysql.jdbc.Driver</value>

  </property>

  <property>

    <name>javax.jdo.option.ConnectionUserName</name>

    <value>hive</value>

  </property>

  <property>

    <name>javax.jdo.option.ConnectionPassword</name>

    <value>hive</value>

</property>

12.创建/usr/local/hive/tmp文件夹

切换到root用户执行

mkdir -p /usr/local/hive/tmp

chown -R hadoop:hadoop /usr/local/hive/tmp

chown -R hadoop:hadoop /user/local/hive/tmp 设置权限(root权限下面)

4.运行Hive

在命令行运行 hive 命令时必须保证以下两点:

HDFS 已经启动。可以使用 start-dfs.sh 脚本来启动 HDFS。

运行 schematool 命令来执行初始化操作。

schematool -dbType mysql -initSchema

注意一定要英文下的杠

如果还是失败,一、试一下远成连接能否成功,不成功重新配置远程然后重启数据库二、检查配置或者命令的格式问题三、检查数据库hive下是否会莫名导入很多乱七八糟的包,删除然后重建

然后执行

hive

在最后补充

1)在 hive-site.xml 文件中添加如下配置信息,就可以实现显示当前数据库,以及查询 表的头信息配置。

<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>

2)重新启动 hive,对比配置前后差异

配置hive环境以及mysql配置后必须做的更多相关文章

  1. Mac下配置Hive环境

    在配置Hive环境之前,需要Hadoop环境. 安装Hive 点击下载 下载结束后,会有一个.tar文件,使用以下命令解压该文件. tar -zxvf 要解压的tar包 解压完成后如下 修改Hive配 ...

  2. 4.8 Sublime Text3 中配置 Python环境 --之下Sublime配置Python环境

    返回总目录 目录: 1.没有配置之前 2.安装Package Control插件 3.安装其他库: 4.配置其他操作: (一)没有配置之前: 我们试着运行以下,会效果怎么样? 1.首先选择Python ...

  3. 配置开发环境2——eclipse配置

    纯手动配置eclipse, Eclipse配置 配置工作空间的编码方式 General—Workspace:改成Other:UTF-8 配置property的编码方式 配置maven Window — ...

  4. 把项目运行到本地环境及mysql配置

    1. 添加本地域名C:\Windows\System32\drivers\etc\hosts 127.0.0.1 local.v7.com 2. 添加一个apache虚拟站点D:\wamp64\bin ...

  5. CentOS配置java环境,mysql数据库等文章链接

    配置jdk 配置jdk 安装mysql8 yum install -y mysql-community-server 安装mysql8 安装redi 安装redis 安装docker 安装docker

  6. 阿里云乌班图16配置-PHP环境(包括mysql及apache安装)

    1. 安装apache  apt-get update apt-get install apache2 service apache2 restart   通过浏览器访问服务器的IP,如果出现Apac ...

  7. 在配置好环境以后,启动tomcat后,出现这个异常

    15-Apr-2019 16:48:13.299 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardConte ...

  8. 配置jdk环境变量和配置的作用

    对于JDK要配置三个环境变量,分别是JAVA_HOME.path.classpath 对于我本人电脑来说,配置如下: JAVA_HOME:C:\Program Files\Java\jdk1.8.0_ ...

  9. CentOS7.2配置LNMP环境并安装配置网站WordPress

    1,安装环境查看 2,安装MySQL5.7.22 下载MySQL wget https://downloads.mysql.com/archives/get/file/mysql-5.7.22-1.e ...

随机推荐

  1. OCR (Optical Character Recognition,光学字符识别)

    OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方法将形状翻译 ...

  2. Oracle查看和修改连接数

    1.查询数据库当前进程的连接数:   select count(*) from v$process;   2.查看数据库当前会话的连接数:   elect count(*) from v$sessio ...

  3. ubuntu用户添加adduser, useradd并给予sudo权限

    ubuntu用户添加adduser, useradd并给予sudo权限 2016-06-15 10:36 1286人阅读 评论(0) 收藏 举报  分类: Ubuntu(80)  ubuntu和win ...

  4. 第二章ARP——地址解析协议

    本章我们要讨论的问题是只对 T C P / I P协议簇有意义的I P地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为 48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络 ...

  5. DataSnap 连接池 DSServer1Disconnect

    DataSnap Server DSServer1Disconnect 这个函数什么时候执行? void __fastcall TServerContainer1::DSServer1Disconne ...

  6. Keepalived 资源监控

    简介: 作为一个高可用集群软件,Keepalived 没有 Heartbeat .RHCS 等专业的高可用集群软件功能强大,它不能够实现集群资源的托管,也不能实现对集群中运行服务的监控,好在 Keep ...

  7. 微信小程序开发注意点和坑集

    开发(Tips)   避开频繁setData * 小程序端对于频繁的逻辑层和显示层的交互很不友好,特别是安卓机,与浏览器上js直接操作DOM不同,小程序通过逻辑更新显示层并不完全实时,开发者应避免出现 ...

  8. linux fg&bg

    [linux fg&bg] Linux 提供了 fg 和 bg 命令,让我们调度正在运行的任务. 假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z , ...

  9. cacti-不出图形,cacti.log中出“ERROR: SQL Assoc Failed!

    [root@CactiEZ log]# tail cacti.log 2016年04月06日 14:53:16 PM - CMDPHP: Poller[0] ERROR: SQL Cell Faile ...

  10. Window: move\copy\xcopy

    Move 移动文件和重命名文件与目录. 要移动一个或多个文件: MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 要重命名目录: MO ...