详解-Centos7搭建hive集群

这是我虚拟机的拓扑结构:

在这里插入图片描述
这里我搭建的版本是 hadoop2.7.1 hive2.3.6 这两个可以兼容
首先,确保 node1 上的 mysql安装成功,且可以远程登录,并设置好密码

用xftp将下载的hive上传并解压

下载地址:https://mirror.bit.edu.cn/apache/hive/

配置环境变量:vi /etc/profile

在这里插入图片描述保存退出后:source /etc/profile

到hive的conf目录中创建 hive-site.xml文件:

vi hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property> 
		<name>hive.metastore.warehouse.dir</name> 
		<value>/user/hive/warehouse</value>
	</property>
	<property>
		<name>hive.metastore.local</name>
		<value>false</value>
	</property>

	<property>
		 <name>hive.metastore.uris</name> 
		<value>thrift://node3:9083</value>
	</property>

</configuration>

将 node2 上的 hive236目录上传到 node3, node4上:

scp -r hive236/ root@node3:/usr/local/
scp -r hive236/ root@node4:/usr/local/

在node4上先配置环境变量

我们将node4与node2 都配置成hive客户端,所有node4上不需要做任何修改,只需配置环境变量

在 node3 上创建 metastore serve

首先配置环境变量
然后在hive的conf配置hive-site.xml

vi hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<!--  在hdfs上文件的位置  -->
	<property> 
		<name>hive.metastore.warehouse.dir</name> 
		<value>/user/hive/warehouse</value>
	</property>
	<!-- 元数据的位置 -->
	<property>
		<name>javax.jdo.option.ConnectionURL</name> 
		<value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true</value>
	</property>
	<property> 
		<name>javax.jdo.option.ConnectionDriverName</name> 
		<value>com.mysql.cj.jdbc.Driver</value>
	</property>
	<property> 
		<name>javax.jdo.option.ConnectionUserName</name> 
		<value>root</value>
	</property>
	<property> 
		<name>javax.jdo.option.ConnectionPassword</name> 
		<value>a</value>
	</property> 
    <property>
         <name>hive.metastore.schema.verification</name>
         <value>false</value>
    </property>
    <property>
         <name>datanucleus.schema.autoCreateAll</name>
         <value>true</value>
    </property>


</configuration>

在node3执行以下命令初始化库: schematool -dbType mysql -initSchema
在这里插入图片描述

在node2或node4客户端测试

hive

成功图片之前测试用hive命令区链接一直卡在Logging initialized using configuration in jar:file:/usr/local/apache-hive-2.3.4/lib/hive-common-2.3
在这里插入图片描述在网上查了很多资料,说实话没啥用,后来检查了是我的node1的namenode掉了,而node2的namenode还是standby状态(明明配置了高可用,我也不知道咋回事),把node1的节点启动,有一个namenode为active状态即可

测试一些hive命令:

create database ryan; 
use ryan;
create table produce_hive( id int, name varchar(20) );

可以在hdfs上看创建了一个目录
在这里插入图片描述在mysql上也有元数据
在这里插入图片描述

insert into produce_hive values(1, 'apple');
select * from produce_hive;

在这里插入图片描述

最后在node3上将 metastore server配置成自启动服务

cd /etc/rc.d/init.d/
vi  metastoreServer
#!/bin/sh
#chkconfig:  345 90 90
#description: hive metastore
#processname: hive_metastore_server

source /etc/profile

# 启动服务的时间
DATE_STR=`/bin/date  "+%Y%m%d%H%M%S"`

# 日志文件名称(包含路径)
HIVE_METASTORE_LOG=${HIVE_HOME}/logs/hiveserver2-${DATE_STR}.log

/usr/bin/nohup ${HIVE_HOME}/bin/hive --service metastore >>${HIVE_METASTORE_LOG} 2>&1 &

添加执行权限

chmod +x metastoreServer 

加入 chkconfig

chkconfig --add metastoreServer
chkconfig --list 

在这里插入图片描述
启动服务:service metastoreServer start 即可成功启动
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值