温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

apache-hive安装部署

发布时间:2020-05-21 03:17:22 来源:网络 阅读:854 作者:yr_linux运维 栏目:大数据

前提:

安装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 

修改其中数据库连接参数

  <property>

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

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

    <description>Driver class name for a JDBC metastore</description>

  </property>


  <property>

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

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

    <description>JDBC connect string for a JDBC metastore</description>

  </property>


  <property>

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

    <value>hadoop</value>

    <description>Username to use against metastore database</description>

  </property>


  <property>

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

    <value>hadoop</value>

    <description>password to use against metastore database</description>

  </property>


创建IO文件临时存放目录

mkdir ${HIVE_HOME}/iotmp

apache-hive安装部署

修改hive-site.xml中的参数


  <property>

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

    <value>/data/apache-hive-1.2.2-bin/iotmp</value>

    <description>Location of Hive run time structured log file</description>

  </property>


  <property>

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

    <value>/data/apache-hive-1.2.2-bin/iotmp</value>

    <description>Local scratch space for Hive jobs</description>

  </property>


  <property>

    <name>hive.downloaded.resources.dir</name>

    <value>/data/apache-hive-1.2.2-bin/iotmp</value>

    <description>Temporary local directory for added resources in the remote file system.</description>

  </property>


将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问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI