Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建五(Hive篇)

Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建五(Hive篇)

全文请看:https://blog.csdn.net/tktttt/article/details/108578804
大数据集群搭建安装包:https://download.csdn.net/download/tktttt/12879318
大数据集群搭建安装包2:https://download.csdn.net/download/tktttt/12879355

七、Hive安装配置

1.准备工作

在前文基础上,继续安装MySQL
数据库包下载:官网地址
下载rpm类型安装包(注意版本选择),例如本文选择的:

mysql-community-common-5.7.31-1.el7.x86_64.rpm
mysql-community-libs-5.7.31-1.el7.x86_64.rpm
mysql-community-client-5.7.31-1.el7.x86_64.rpm
mysql-community-server-5.7.31-1.el7.x86_64.rpm

卸载系统自带的mariadb-lib:
查看mariadb版本
rpm -qa|grep mariadb
卸载mariadb(改成自身的实际版本)
rpm -e mariadb-libs-5.5.65-2.el7.x86_64 --nodeps
安装MySQL:
mysql有依赖关系,安装顺序是 common、lib、client、server:

rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

安装完成后,启动mysql:systemctl start mysqld
设置:
查看安装时自动设置的初始密码:位置应该在/var/log/mysqld.log
之后通过初始密码登录MySQL:mysql -uroot -p初始密码
登录成功后会要求修改密码,按要求进行即可(此时要按其默认规则来),而为了设置简单的密码,如123456,之后要进行权限更改(可以查看下文参考链接),然后再修改密码为123456:
set password for root@localhost = password('123456'); // 设置root密码为123456;
此后再设置授权打开远程连接update user set host = '%' where user ='root'; //配置可远程登录
刷新授权flush privileges; //更新权限
之后重启MySQL服务systemctl restart mysqld
设置自启(可以不设置)systemctl enable mysqld

2.安装hive

到官网下载相应适配版本的hive安装包,本文选择的是:apache-hive-2.3.7-bin.tar.gz
上传到/usrlocal/hive目录下(自行创建的目录),之后解压:

tar -zxvf apache-hive-2.3.7-bin.tar.gz

配置环境变量

vi /etc/profile

#hive
export HIVE_HOME=/usr/local/hive/apache-hive-2.3.7-bin
export PATH=$PATH:$HIVE_HOME/bin  #在path后添加即可

使之生效:source /etc/profile
配置完成可输入hive --version 查看版本
配置hive:

  • 修改hive-env.sh文件

切换到/usr/local/hive/apache-hive-2.3.7-bin/conf目录下,若没有hive-env.sh,复制hive-env.sh.template 为 hive-env.sh:

cp hive-env.sh.template hive-env.sh #复制
vi hive-env.sh                      #打开编辑

修改或添加:

HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.4    #hadoop路径
export HIVE_CONF_DIR=/usr/local/hive/apache-hive-2.3.7-bin/conf    #hive的conf路径
export HIVE_AUX_JARS_PATH=/usr/local/hive/apache-hive-2.3.7-bin/lib    #hive的jar包路径
export JAVA_HOME=/usr/local/java/jdk1.8.0_261    #jdk安装路径
  • 配置hive-site.xml

同目录下,初次解压发现hive-site.xml配置文件并没有,此时需要我们自己创建并配置hive-site.xml,复制hive-default.xml.template 为 hive-site.xml:
cp hive-default.xml.template hive-site.xml
编辑该文件vi hive-site.xml,加入下述内容:

	<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/opt/hive/warehouse</value>
	</property>
	<property>
		<name>hive.metastore.local</name>
		<value>true</value>
	</property>
	<!-- 元数据库的链接地址 mysql -->
	<!-- 如果是远程mysql数据库的话需要在这里写入远程的IP或hosts -->
	<!--配置mysql连接,如果没有hive_db库则新建-->
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://192.168.88.129:3306/hive_db?createDatabaseIfNotExist=true</value>    //数据库所在主机的IP
	</property>
	<!--配置jdbc驱动-->
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
	</property>
	<!--mysql用户名root-->
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>root</value>
	</property>
	<!--配置mysql密码-->
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>123456</value>
	</property>

并搜索上述的每一项,将文件原有的每一项删除或者注释;
搜索derby,将含有该词的每一项都注释或者删除,注释里有的不算;
然后将配置文件中所有的${system:java.io.tmpdir}更改为 /usr/hive/tmp (如果没有该文件则创建),并将此文件夹赋予读写权限,将${system:user.name}更改为 实际用户root;
其他${...}也适当删改;
保存退出

  • 复制hive-exec-log4j2.properties.template 为 hive-exec-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
  • 复制hive-log4j2.properties.template为hive-log4j2.properties
cp hive-log4j2.properties.template hive-log4j2.properties

下载mysql驱动(本文为mysql-connector-java-5.1.49-bin.jar)放入/usr/local/hive/apache-hive-2.3.7-bin/lib包中

初始化(第一次启动):

schematool -initSchema -dbType mysql

若最后有下面字样,则说明成功:

schemaTool completed

且查看MySQL数据库,可以发现其中创建了hive_db

启动:
要求:前面均已按六、启动hbase 步骤启动了所有

hive

启动顺序:

#zookeeper
#bin目录下
./zkServer.sh start

#hadoop
hadoop-daemon.sh start journalnode
start-all.sh(即:start-dfs.sh   start-yarn.sh)

#hbase
#bin目录下 
./start-hbase.sh

#hive
hive

nohup hiveserver2 2>/usr/data/hive/log/hiveserver2/hiveserver.err &
nohup hive --service metastore 2>/usr/data/hive/log/metastore/metastore.err &

nohup hiveserver2 >/usr/data/hive/log/hiveserver2/hiveserver.log &
nohup hive --service metastore >/usr/data/hive/log/metastore/metastore.log &

关闭顺序:

#hive
jps命令找到Runjar进程kill掉
或
ps -ef | grep hive
kill -9 进程 #杀掉

#hbase
#bin目录下
./stop-hbase.sh

#hadoop
hadoop-daemon.sh stop journalnode
stop-all.sh

#zookeeper
#bin目录下
./zkServer.sh stop

测试hive:

hive                                                #启动进入hive
show databases;                                     #展示所有数据库
create database test_hive;                          #创建test_hive数据库
show databases;                                     #展示所有数据库
use test_hive;                                      #使用数据库test_hive
show tables;                                        #展示当前该数据库下所有数据表
create table test_users(id int,name string);        #创建test_users数据表
show tables;                                        #展示当前该数据库下所有数据表
insert into test_users values(1,"aaa");             #插入数据
select * from test_users;                           #查询test_users表所有数据

若是执行语句时,卡住不动,可以将所有服务停止,然后在Hadoop安装目录下的etc/hadoop目录下,修改yarn-site.xml,添加如下内容应当会有所缓解:

<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>2000</value>
</property>
 <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>2000</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

之后依次重新启动服务,其中Hadoop最好是删除原有的重新格式化启动

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值