hadoop Hive-2.3.4 安装配置

1、root用户登录,安装mysql

apt-get install mysql-server

2、下载apache-hive-2.3.4-bin.tar.gz,mysql-connector-java-5.1.47.tar.gz

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

3、hadoop用户登录,将以上两个gz文件解压(我的直接解压在/home/hadoop/下面),将mysql-connector-java-5.1.47文件夹下的mysql-connector-java- 5.1.47.jar文件拷贝到apache-hive-2.3.4-bin文件夹下面的lib文件夹里

4、配置hive环境变量

进入配置文件:vim ~/.profile
在最后加上hive的环境配置:
export HIVE_HOME=/home/hadoop/apache-hive-2.3.4-bin
export PATH= P A T H : PATH: PATH:HIVE_HOME/bin
保存退出,重启环境配置:
source ~/.profile

5、修改hive文件

(1)进入hive文件夹下的conf目录下,对需要的.template文件拷贝改名:
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

(2)修改hive-env.sh文件,在末尾指定hadoop安装路径:
##Java路径
export JAVA_HOME=/home/hadoop/jdk1.8.0_181
##Hadoop安装路径
export HADOOP_HOME=/home/hadoop/hadoop-2.7.2
##Hive安装路径
export HIVE_HOME=/home/hadoop/apache-hive-2.3.4-bin
##Hive
export HIVE_CONF_DIR=/home/hadoop/apache-hive-2.3.4-bin/conf

(3)修改hive-site.xml文件

把所有的${system:java.io.tmpdir} 都替换为/usr/local/hive/tmp
注意:所有的“/”都要添加转义符号,改为“\/”,即:
:%s/${system:java.io.tmpdir}/\/usr\/local\/hive\/tmp/g

把所有的${system:user.name}替换为${user.name}
:%s/${system:user.name}/${user.name}/g

修改文件中以下name的value:
<property>
    <name>hive.exec.scratchdirname>
    <value>/user/hive/tmpvalue>
property>

<property>
    <name>hive.metastore.warehouse.dirname>
    <value>/user/hive/warehousevalue>
property>

<property>
    <name>hive.querylog.locationname>
    <value>/user/hive/logvalue>
property>

<property>
    <name>javax.jdo.option.ConnectionURLname>
    <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=falsevalue>
property>

<property>
    <name>javax.jdo.option.ConnectionDriverNamename>
    <value>com.mysql.jdbc.Drivervalue>
property>

<property>
    <name>javax.jdo.option.ConnectionUserNamename>
    <value>hivevalue>
property>

<property>
    <name>javax.jdo.option.ConnectionPasswordname>
    <value>hivevalue>
property>

保存退出

6、root用户登录,创建/usr/local/hive/tmp文件夹

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

7、hadoop用户登录,mysql配置

(1)重置mysql密码(如果之前安装时没有提示输入密码的话):
$ mysql -u root
登录时有可能报这样的错:

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

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

(2)重启mysql服务(root权限下)
$ service mysqld restart 或者/etc/init.d/mysql restart

(3)登录重置
$ mysql -u root //直接回车进入mysql控制台
mysql > use mysql;
mysql > update user set password=password(‘123456’) where user=‘root’;
mysql > exit;
注意:新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update user set password=password(‘root’) where user='root’时提示ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’,原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,所以更改语句替换为 update user set authentication_string=password(‘root’) where user=‘root’ ;

(4)建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;

8、开启hadoop集群,创建hive的集群目录,并赋予权限

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

9、运行 schematool 命令来执行hive初始化操作

schematool -dbType mysql -initSchema

10、输入jps

hadoop Hive-2.3.4 安装配置_第1张图片

11、运行hive

运行hive之前首先要确保meta store服务已经启动,
nohup hive --service metastore > metastore.log 2>&1 &
hadoop Hive-2.3.4 安装配置_第2张图片
如果需要用到远程客户端(比如 Tableau)连接到hive数据库,还需要启动hive service
nohup hive --service hiveserver2 > hiveserver2.log 2>&1 &
hadoop Hive-2.3.4 安装配置_第3张图片
然后由于配置过环境变量,可以直接在命令行中输入hive
hive

你可能感兴趣的:(Hadoop,Hive)