hive

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/
下载这一个
apache-hive-2.3.4-bin.tar.gz

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= P A T H : 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;

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 (有可能需要转义字符)

把所有的 s y s t e m : u s e r . n a m e 替 换 为 {system:user.name}替换为 system:user.name{user.name}

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

依次查找下面的修改。

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

<value>/user/hive/tmp</value>
<name>hive.metastore.warehouse.dir</name>

<value>/user/hive/warehouse</value>
<name>hive.querylog.location</name>

<value>/user/hive/log</value>
<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.jdbc.Driver</value>
<name>javax.jdo.option.ConnectionUserName</name>

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

<value>hive</value>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值