Hive2.1.1集群搭建
软件环境:
linux系统: CentOS6.7
Hadoop版本: 2.6.5
zookeeper版本: 3.4.8
##主机配置:
######一共m1, m2, m3这五部机, 每部主机的用户名都为centos
```
192.168.179.201: m1
192.168.179.202: m2
192.168.179.203: m3
m1: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Master, Worker
m2: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Worker
m3: Zookeeper, DataNode, NodeManager, Worker
---
<br>
##集群搭建 (注:Hive只需在一个节点上安装)
####1.下载Hive2.1.1安装包
http://www.apache.org/dyn/closer.cgi/hive/
---
####2.解压
tar -zxvf hive-0.9.0.tar.gz -C /home/hadoop/soft
---
####3.配置环境变量
vi /etc/profile
Hive
export HIVE_HOME=/home/centos/soft/hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOMW/bin
source /etc/profile
---
####4.配置MySQL(注:切换到root用户)
1. 卸载CentOS自带的MySQL
rpm -qa | grep mysql
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
yum -y install mysql-server
2. 初始化MySQL
(1)修改mysql的密码(```root```权限执行)
cd /usr/bin
./mysql_secure_installation
(2)输入当前MySQL数据库的密码为``root``, 初始时root是没有密码的, 所以直接回车
Enter current password for root (enter for none):
(3)设置MySQL中``root``用户的密码(应与下面Hive配置一致,下面设置为```123456```)
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
(4)删除匿名用户
Remove anonymous users? [Y/n] Y
... Success!
(5)是否不允许用户远程连接,选择``N``
Disallow root login remotely? [Y/n] N
... Success!
(6)删除test数据库
Remove test database and access to it? [Y/n] Y
Dropping test database...
... Success!
Removing privileges on test database...
... Success!
(7)重装
Reload privilege tables now? [Y/n] Y
... Success!
(8)完成
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
(9)登陆```mysql```
mysql -uroot -p
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
<br>
**至此MySQL配置完成**
---
<br>
<br>
<br>
####5.配置Hive
####1. 编辑``hive-env.xml``文件
将```hive-env.sh.template```文件复制为```hive-env.sh```, 编辑``hive-env.xml``文件
JAVA_HOME=/home/centos/soft/jdk
HADOOP_HOME=/home/centos/soft/hadoop
HIVE_HOME=/home/centos/soft/hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$SPARK_HOME/lib/spark-assembly-1.6.0-hadoop2.6.0.jar
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$HADOOP_HOME/lib:$HIVE_HOME/lib
export HADOOP_OPTS="-Dorg.xerial.snappy.tempdir=/tmp -Dorg.xerial.snappy.lib.name=libsnappyjava.jnilib $HADOOP_OPTS"
---
<br>
####2. 编辑hive-site.xml文件
配置```hive-site.xml```文件, 将```hive-default.xml.template```文件拷贝为```hive-default.xml```, 并编辑```hive-site.xml```文件(删除所有内容,只留一个```<configuration></configuration>```)
配置项参考:
hive.server2.thrift.port– TCP 的监听端口,默认为10000。
hive.server2.thrift.bind.host– TCP绑定的主机,默认为localhost
hive.server2.thrift.min.worker.threads– 最小工作线程数,默认为5。
hive.server2.thrift.max.worker.threads – 最小工作线程数,默认为500。
hive.server2.transport.mode – 默认值为binary(TCP),可选值HTTP。
hive.server2.thrift.http.port– HTTP的监听端口,默认值为10001。
hive.server2.thrift.http.path – 服务的端点名称,默认为 cliservice。
hive.server2.thrift.http.min.worker.threads– 服务池中的最小工作线程,默认为5。
hive.server2.thrift.http.max.worker.threads– 服务池中的最小工作线程,默认为500。
javax.jdo.option.ConnectionURL
jdbc:mysql://m1:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
username to use against metastore database
javax.jdo.option.ConnectionPassword
123
password to use against metastore database
datanucleus.autoCreateSchema
true
datanucleus.autoCreateTables
true
datanucleus.autoCreateColumns
true
hive.metastore.warehouse.dir
/hive
location of default database for the warehouse
hive.downloaded.resources.dir
/home/centos/soft/hive/tmp/resources
Temporary local directory for added resources in the remote file system.
hive.exec.dynamic.partition
true
hive.exec.dynamic.partition.mode
nonstrict
hive.exec.local.scratchdir
/home/centos/soft/hive/tmp/HiveJobsLog
Local scratch space for Hive jobs
hive.downloaded.resources.dir
/home/centos/soft/hive/tmp/ResourcesLog
Temporary local directory for added resources in the remote file system.
hive.querylog.location
/home/centos/soft/hive/tmp/HiveRunLog
Location of Hive run time structured log file
hive.server2.logging.operation.log.location
/home/centos/soft/hive/tmp/OpertitionLog
Top level directory where operation tmp are stored if logging functionality is enabled
hive.hwi.war.file
/home/centos/soft/hive/lib/hive-hwi-2.1.1.jar
This sets the path to the HWI war file, relative to ${HIVE_HOME}.
hive.hwi.listen.host
m1
This is the host address the Hive Web Interface will listen on
hive.hwi.listen.port
9999
This is the port the Hive Web Interface will listen on
hive.metastore.uris
thrift://m1:9083
Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.
hive.server2.thrift.bind.host
m1
hive.server2.thrift.port
10000
hive.server2.thrift.http.port
10001
hive.server2.thrift.http.path
cliservice
hive.server2.webui.host
m1
hive.server2.webui.port
10002
hive.scratch.dir.permission
755
hive.aux.jars.path
file:///home/centos/soft/spark/lib/spark-assembly-1.6.0-hadoop2.6.0.jar
hive.server2.enable.doAs
false
hive.server2.authentication
NOSASL
hive.auto.convert.join
false
spark.dynamicAllocation.enabled
true
动态分配资源
spark.driver.extraJavaOptions
-XX:PermSize=128M -XX:MaxPermSize=512M
```
####3. 配置日志地址, 修改```hive-log4j.properties```文件
```
cp hive-log4j.properties.template hive-log4j.properties
```
```
vi hive-log4j.properties
```
```
hive.log.dir=/home/centos/soft/hive/tmp ## 将hive.log日志的位置改为${HIVE_HOME}/tmp目录下
```
```
mkdir ${HIVE_HOME}/tmp
```
####4. 配置hive-config.sh文件
配置```$HIVE_HOME/conf/hive-config.sh```文件
```
## 增加以下三行
export JAVA_HOME=/home/centos/soft/java
export HIVE_HOME=/home/centos/soft/hive
export HADOOP_HOME=/home/centos/soft/hadoop
## 修改下列该行
HIVE_CONF_DIR=$HIVE_HOME/conf
```
#####5. 拷贝JDBC包
将JDBC的jar包放入```$HIVE_HOME/lib```目录下
```
cp /home/centos/soft/tar.gz/mysql-connector-java-5.1.6-bin.jar /home/centos/soft/hive/lib/
```
####6. 拷贝jline扩展包
将`$HIVE_HOME/lib`目录下的`jline-2.12.jar`包拷贝到`$HADOOP_HOME/share/hadoop/yarn/lib`目录下,并删除`$HADOOP_HOME/share/hadoop/yarn/lib`目录下旧版本的`jline`包
####7. 拷贝tools.jar包
复制```$JAVA_HOME/lib```目录下的```tools.jar```到```$HIVE_HOME/lib```下
```
cp $JAVA_HOME/lib/tools.jar ${HIVE_HOME}/lib
```
####8. 执行初始化```Hive```操作
选用`MySQLysql`和`Derby`二者之一为元数据库
注意:先查看`MySQL`中是否有残留的`Hive`元数据,若有,需先删除
```
schematool -dbType mysql -initSchema ## MySQL作为元数据库
```
其中`mysql`表示用`mysql`做为存储`hive`元数据的数据库, 若不用`mysql`做为元数据库, 则执行
```
schematool -dbType derby -initSchema ## Derby作为元数据库
```
脚本`hive-schema-1.2.1.mysql.sql`会在配置的`Hive`元数据库中初始化创建表
####9.启动Metastore服务
执行```Hive```前, 须先启动```metastore```服务, 否则会报错
```
./hive --service metastore
```
然后打开另一个终端窗口,之后再启动```Hive```进程
####10.测试
```
hive
```
```
show databases;
show tables;
create table book (id bigint, name string) row format delimited fields terminated by '\t';
select * from book;
select count(*) from book;
```
Hive2.1.1集群搭建的更多相关文章
- Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建
目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...
- 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...
- Hadoop3集群搭建之——hbase安装及简单操作
折腾了这么久,hbase终于装好了 ------------------------- 上篇: Hadoop3集群搭建之——虚拟机安装 Hadoop3集群搭建之——安装hadoop,配置环境 Hado ...
- HADOOP+SPARK+ZOOKEEPER+HBASE+HIVE集群搭建(转)
原文地址:https://www.cnblogs.com/hanzhi/articles/8794984.html 目录 引言 目录 一环境选择 1集群机器安装图 2配置说明 3下载地址 二集群的相关 ...
- Hadoop3集群搭建之——hive安装
Hadoop3集群搭建之——虚拟机安装 Hadoop3集群搭建之——安装hadoop,配置环境 Hadoop3集群搭建之——配置ntp服务 Hadoop3集群搭建之——hbase安装及简单操作 现在到 ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)
Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- 【Data Cluster】真机环境下MySQL数据库集群搭建
真机环境下MySQL-Cluster搭建文档 摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...
- (四)Spark集群搭建-Java&Python版Spark
Spark集群搭建 视频教程 1.优酷 2.YouTube 安装scala环境 下载地址http://www.scala-lang.org/download/ 上传scala-2.10.5.tgz到m ...
随机推荐
- Google Cloud SSH 连接配置
设置当前用户及root用户的密码 sudo passwd xx-user # 输入新密码 sudo passwd root # 输入新密码(建议保持一样) 在本地生成私钥和公钥 cd ~/.ssh s ...
- 调用ms自带的合成语音TTS
通过import of Component导入封装TTS引擎,然后选择: 最后调用: MyVoce := CoSpVoice.Create; MyVoce.Pause;//暂停 MyVoce.Stat ...
- 【郑轻邀请赛 H】 维克兹的进制转换
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2134 [题意] [题解] 设f[i]表示数字i分解为二进制数的方案数; 则 如果i为 ...
- Codeforces Round #413(Div. 1 + Div. 2, combined)——ABCD
题目在这里 A.Carrot Cakes 乱七八糟算出两个时间比较一下就行了 又臭又长仅供参考 #include <bits/stdc++.h> #define rep(i, j, k) ...
- [Cogs14] [网络流24题#1] 飞行员分配方案 [网络流,最大流,二分图匹配]
经典二分图匹配,可以用匈牙利算法,也可以用最大流 代码如下(Dinic): #include <iostream> #include <cstdio> #include < ...
- hdu_hpu第八次周赛_1001 To and Fro 201310270918
To and Fro Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Su ...
- [bzoj3697]采药人的路径_点分治
采药人的路径 bzoj-3697 题目大意:给你一个n个节点的树,每条边分为阴性和阳性,求满足条件的链的个数,使得这条链上阴性的边的条数等于阳性的边的条数,且这条链上存在一个节点,这个节点到一个端点的 ...
- 【Git使用具体解释】Egit使用过程中遇到的问题及解决的方法
1. Git错误non-fast-forward后的冲突解决 问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不同意你直接把你的代码覆盖上去.于是你有2 ...
- UNIX环境高级编程之第3章:文件I/O
3.1 引言 文件I/O函数:打开文件,读文件,写文件 经常使用到五个函数:open, read, write, lseek, close. 本章描写叙述的函数都是:不带缓冲的I/O(unbuffer ...
- robin 今天来南大了
今天非常高兴,在学校的体育馆见到了李彦宏博士. 这是第一次真实的见到了曾经仅仅能在媒体上才干够见到的人,真实,感觉非常好. 我算不上李彦宏的粉丝,也不是非常热衷于百度这个公司,可是我如今仍然心情澎湃. ...