apache-hive安装部署
admin
2023-01-23 05:20:39
0

前提:

安装jdk

无密互通

安装zookeeper

安装hadoop


安装mysql

yum安装

mysql是做为元数据库,mysql安装在mater主机上

 sudo yum install -y mysql mysql-server

 sudo service mysqld start

sudo mysql

编译安装mysql

先下载mysql二进制安装包,版本随便挑

mysql安装包下载地址:http://mirrors.sohu.com/mysql/

参考文档:http://blog.csdn.net/t1dmzks/article/details/71374740

#创建数据存放目录
#解压文件
tar axf mysql-boost-5.7.18.tar.gz  -C /usr/local/
#编译安装
cd mysql-5.7.18

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 \
-DWITH_BOOST=boost -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

#安装
make && make install && echo $?

#修改权限
chown -R mysql.mysql /data/mysqldb
chown -R mysql.mysql /usr/local/mysql

初始化mysql数据库
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

注意框起来的那部分,是你的用户密码,现在mysql初始是有密码的

apache-hive安装部署

如果要重新初始化数据库就删除掉/data/mysqldb下的所有文件

rm -rf /data/mysqldb

修改

环境变量

在path中添加mysql的bin目录

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile


查看mysql版本信息

mysql -V

apache-hive安装部署


修改my.cnf主配置文件

[mysqld]

datadir=/data/mysqldb

socket=/usr/local/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0


[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

复制启动脚本

cd /usr/local/mysql

cp support-files/mysql.server /etc/init.d/mysqld

启动mysql

service  mysqld start

设置开机启动

chkconfig --level 2345 mysqld on

设置环境变量

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin


source /etc/profile

登录mysql并修改密码(登录密码在初始化数据的时候有提示)

mysql -uroot -p'8XeyEBg_yLj6'

apache-hive安装部署

grant不能用

mysql> SET PASSWORD = PASSWORD('mysql');

apache-hive安装部署

ok,重新登录

 mysql -uroot -pmysql

apache-hive安装部署

没有password字段了

查看表结构

mysql> desc mysql.user;

apache-hive安装部署

查看

select HOst,User,authentication_string from mysql.user;

apache-hive安装部署

mysql.sys用户貌似是新添的mysql的system用户,密码*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE,翻译过来差不多就是没有设置密码,需要设置

通过support-files/mysqld_multi.server 可以轻松实现mysql多实例

参考:http://blog.csdn.net/miyatang/article/details/56846283

创建hive数据库

创建hive数据库

apache-hive安装部署

创建hadoop用户,并访问数据库授权(这里权限给高的,应该只给hive库的权限)

apache-hive安装部署


下载、安装hive

如果下载报错请用浏览器查看 http://mirror.bit.edu.cn/apache/hive下版本是否发生变更

mkdir /data

cd /data

wget http://mirrors.hust.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz


tar axf apache-hive-1.2.2-bin.tar.gz



修改环境变量

vim /etc/profile

export HIVE_HOME=/data/apache-hive-1.2.2-bin

export PATH=$PATH:${HIVE_HOME}/bin

source /etc/profile

chown –R hadoop:hadoop /data/apache-hive-1.2.2-bin

create database hive;


为hive创建相应的mysql账户,并赋予权限(上面弄了)

创建hive专用的元数据库(用上面的hadoop用户)


apache-hive安装部署



生成hive-site.xml主配置文件

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

修改其中数据库连接参数

 

    javax.jdo.option.ConnectionDriverName

    com.mysql.jdbc.Driver

    Driver class name for a JDBC metastore

 


 

    javax.jdo.option.ConnectionURL

    jdbc:mysql://192.168.3.58:3306/hive?characterEncoding=UTF-8

    JDBC connect string for a JDBC metastore

 


 

    javax.jdo.option.ConnectionUserName

    hadoop

    Username to use against metastore database

 


 

    javax.jdo.option.ConnectionPassword

    hadoop

    password to use against metastore database

 


创建IO文件临时存放目录

mkdir ${HIVE_HOME}/iotmp

apache-hive安装部署

修改hive-site.xml中的参数


 

    hive.querylog.location

    /data/apache-hive-1.2.2-bin/iotmp

    Location of Hive run time structured log file

 


 

    hive.exec.local.scratchdir

    /data/apache-hive-1.2.2-bin/iotmp

    Local scratch space for Hive jobs

 


 

    hive.downloaded.resources.dir

    /data/apache-hive-1.2.2-bin/iotmp

    Temporary local directory for added resources in the remote file system.

 


将mysql-connector-java-5.1.21.jar驱动包,拷贝到 $HIVE_HOME/lib 目录下。


mysql-connector-java下载地址

http://mvnrepository.com/artifact/mysql/mysql-connector-java



启动hadoop集群(需要datanode和namenode)

启动mysql


启动hive

apache-hive安装部署


Logging initialized using configuration in jar:file:/data/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties是初始化日志模块,需要创建hive-log4j.properties文件

cd ${HIVE_HOME}/conf

cp hive-log4j.properties.template hive-log4j.properties

cp hive-exec-log4j.properties.template hive-exec-log4j.properties

修改 hive-log4j.properties文件指定log存放路径

vim hive-log4j.properties

hive.log.dir=/data/apache-hive-1.2.2-bin/log

创建目录

mkdir /data/apache-hive-1.2.2-bin/log


apache-hive安装部署



多节点hive构建

hive是将数据存储在mysql和hdfs中,只需要使用相同的元数据

先安装单节点的hive

初始化hive元数据

schematool -dbType mysql -initSchema 


cd ${HIVE_HOME}/conf

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

在hive-env.sh中指定JAVA_HOME、HADOOP_HOME、HIVE_HOME和HIVE_CONF_DIR


# Set HADOOP_HOME to point to a specific hadoop install directory

# HADOOP_HOME=${bin}/../../hadoop

HADOOP_HOME=/data/hadoop

JAVA_HOME=/usr/local/jdk

HIVE_HOME=/data/apache-hive-1.2.2-bin

# Hive Configuration Directory can be controlled by:

# export HIVE_CONF_DIR=

export HIVE_CONF_DIR=$HIVE_HOME/con


将文件文件复制到其他的机器上

[hadoop@master data]$ scp -r apache-hive-1.2.2-bin slave1:/data

[hadoop@master data]$ scp -r apache-hive-1.2.2-bin slave2:/data


其他节点也需要修改/etc/profile文件

[root@master hadoop]# scp -r /etc/profile slave1:/etc/

[root@master hadoop]# scp -r /etc/profile slave2:/etc/


节点一启动metastore服务(会占用窗口,可用nohup)

[hadoop@master data]$ hive --service metastore


节点二启动metastore服务

[hadoop@slave1 /]$ source /etc/profile

[hadoop@slave1 /]$ hive --service metastore


节点三启动metastore服务

[hadoop@slave1 /]$ source /etc/profile

[hadoop@slave1 /]$ hive --service metastore


访问测试

创建一个测试表

create table test_hive (id bigint, name string) row format delimited fields terminated by '\t';

apache-hive安装部署apache-hive安装部署apache-hive安装部署

未完待续


参考文档

hive安装与使用(推荐):http://www.cnblogs.com/zlslch/p/6039901.html

hive安装与部署:http://www.cnblogs.com/zlslch/p/6700695.html

Hive最新数据操作详解(超级详细):http://blog.csdn.net/yhao2014/article/details/46312469

Hive之import和export使用详解:http://www.cnblogs.com/wcwen1990/p/6845850.html


相关内容

热门资讯

中国 AI,牌都打明了 中国开始出自己的牌了。 文 | 华商韬略出品人 毕亚军 2026年7月17日至20日,上海,世界人工...
一尊失去双手的“血雕”,揭开英... ·文物大盗拉奇福德。(纽约艺术新闻网)在他眼里,只要价格合理,万物皆可交易。作者:郑敖天2012年,...
涡轮流量计的数据怎么接入PLC... 涡轮流量计接入PLC或控制系统,核心取决于流量计的输出信号类型。常见的输出方式有脉冲、模拟量和数字通...
评测|QCY MeloBuds... QCY全能舱是品牌的经典爆款产品,采用高质低价的思路打造,带来令人印象深刻的综合体验。近期,QCY带...
AI影视的胜负手,不止于工具 在今年的WAIC上,各大AI视频工具展现出了新的技术高度。智象未来发布了支持无限时长视频生成的创作智...
男子称未成年女儿在医院“打胎”... 江西省南昌市卫生健康委员会7月22日发布情况通报:近期,我委接到群众反映,新时代妇女儿童医院对未成年...
曝美军费即将见底,白宫紧急申请... 据凤凰卫视报道,美国与伊朗战火持续延烧,战争成本也快速攀升。《华盛顿邮报》披露,美国部分军事经费恐在...
西门子的洗衣机儿童锁怎么解锁 西门子的洗衣机儿童锁怎么解锁1、旋钮如果拧到停止档位后过来好长时间门还是打不开,可以将旋转钮再次拧到...
siemens洗衣机儿童锁解锁... 洗衣机右下角还有个应急开关,打开右下角排水泵外的塑料盖子,可以看见一根红色的塑料线,顺着拉线垂直的方...
空调遥控器如何使用-空调遥控器... 空调是家居生活必备的电器,而遥控器更是简化了操作流程。空调遥控器是用来远控空调的装置,在手动操作上更...