hadoop3.2.1+hive3.1.2-docker安装

这篇具有很好参考价值的文章主要介绍了hadoop3.2.1+hive3.1.2-docker安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hadoop

1.拉取镜像

docker pull hadoop_hive:3

2.运行容器

建立hadoop用的内部网络(此步出错,若与其它网段冲突,可省略)
#指定固定ip号段

docker network create --driver=bridge --subnet=172.17.0.1/16  hadoop

建立Master容器,映射端口
10000端口为hiveserver2端口,后面本地客户端要通过beeline连接hive使用,有其他组件要安装的话可以提前把端口都映射出来

docker run -it -h Master --name Master -p 9870:9870 -p 8088:8088 -p 10000:10000 hadoop_hive:3 bash

若创建了网段则可指定网段运行

docker run -it --network hadoop -h Slave2 --name Slave2  hadoop_hive:3 bash

创建slave1

docker run -it -h Slave1 --name Slave1 hadoop_hive:3 bash
vim /etc/hosts

172.17.0.4 Slave1

创建slave2

docker run -it -h Slave2 --name Slave2 hadoop_hive:3 bash
vim /etc/hosts

172.17.0.5 Slave2
docker 部署hive,安装部署,docker,hadoop,大数据

docker ps -a 查看容器状态
docker 部署hive,安装部署,docker,hadoop,大数据

若为exited,则全部启动
docker start Master
docker 部署hive,安装部署,docker,hadoop,大数据

三台机器,都修改host文件

docker exec -it Master /bin/bash
vim /etc/hosts

172.17.0.2 Master
172.17.0.4 Slave1
172.17.0.5 Slave2
docker 部署hive,安装部署,docker,hadoop,大数据

3.启动hadoop

虽然容器里面已经把hadoop路径配置在系统变量里面,但每次进入需要运行source /etc/profile才能生效使用
vi ~/.bashrc
添加 source /etc/profile

然后进入master,启动hadoop,先格式化hdfs
#进入Master容器

docker exec -it Master bash

#进入后格式化hdfs

root@Master:/# hadoop namenode -format

启动全部,包含hdfs和yarn

cd /usr/local/hadoop/sbin
root@Master:/usr/local/hadoop/sbin# ./start-all.sh

可以看到服务起来了,本地范围宿主机ip的8088及9870端口可以看到监控信息
docker 部署hive,安装部署,docker,hadoop,大数据
docker 部署hive,安装部署,docker,hadoop,大数据
docker 部署hive,安装部署,docker,hadoop,大数据

查看分布式文件系统状态

root@Master:/usr/local/hadoop/sbin# hdfs dfsadmin -report

docker 部署hive,安装部署,docker,hadoop,大数据

hive

Hive下载后上传到容器目录下:
下载地址:https://mirror-hk.koddos.net/apache/hive/hive-3.1.2/

拷贝安装包进Master容器

docker cp apache-hive-3.1.2-bin.tar.gz Master:/usr/local

进入容器

docker exec -it Master bash
cd /usr/local/

解压安装包

tar xvf apache-hive-3.1.2-bin.tar.gz

2.设置密码(可选设)
退出容器exit
下载CustomPasswdAuthenticator.jar
或百度一下自己打个包也完美。
复制密码包到容器hivelib下:

docker cp /root/CustomPasswdAuthenticator.jar Master:/usr/local/apache-hive-3.1.2-bin/lib

3.修改配置文件

docker exec -it Master bash
cd /usr/local/apache-hive-3.1.2-bin/conf
root@Master:/usr/local/apache-hive-3.1.2-bin/conf# cp hive-default.xml.template hive-site.xml
root@Master:/usr/local/apache-hive-3.1.2-bin/conf# vim hive-site.xml

在最前面添加下面配置:

  <property>
    <name>system:java.io.tmpdir</name>
    <value>/tmp/hive/java</value>
  </property>

  <property>
    <name>system:user.name</name>
    <value>${user.name}</value>
  </property>

点击“/”搜索hive.server2.authentication

缺省为NONE。此处改为CUSTOM

在下方添加property

<property>
  <name>hive.server2.custom.authentication.class</name>
  <value>org.apache.hadoop.hive.contrib.auth.CustomPasswdAuthenticator</value>
</property>

再添加用户密码 用户名root,密码root如果有多个就写多个property

<property>
    <name>hive.jdbc_passwd.auth.用户名</name>
    <value>密码</value>
    <description/>
</property>

Wq保存退出。

三、配置Hive相关环境变量

vim /etc/profile

#文本最后添加

export HIVE_HOME=/usr/local/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin

配置后执行source /etc/profile 生效

4.配置mysql作为元数据库
1.在本地的mysql数据库建立个hive库

容器ip地址类似window的分配机制,如果不设置固定ip容器重启后会自动分配ip,因此数据库相关的容器建议设置为固定ip。

2.回到Master容器,修改关联数据库的配置

docker exec -it Master bash
vim /usr/local/apache-hive-3.1.2-bin/conf/hive-site.xml

搜索关键词修改数据库url、驱动、用户名,url根据上面建容器时候地址。
#注意hive配置文件里面使用&作为分隔,高版本myssql需要SSL验证,在这里设置关闭

  <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.0.103:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>hive.metastore.schema.verification</name>
    <value>false</value>
<property>

搜索去除特殊字符&#8;
wq保存退出。

mysql驱动上传到hive的lib下
exit退出到宿主机

docker cp /root/mysql-connector-java-8.0.22.jar Master:/usr/local/apache-hive-3.1.2-bin/lib

然后需要对hive的lib文件夹下的部分文件做修改,不然初始化数据库的时候会报错。

docker exec -it Master bash

slf4j这个包hadoop及hive两边只能有一个,这里删掉hive这边

cd /usr/local/apache-hive-3.1.2-bin/lib
root@Master:/usr/local/apache-hive-3.1.2-bin/lib# rm log4j-slf4j-impl-2.10.0.jar

guava这个包hadoop及hive两边只删掉版本低的那个,把版本高的复制过去,这里删掉hive,复制hadoop的过去

cd /usr/local/hadoop/share/hadoop/common/lib
root@Master:/usr/local/hadoop/share/hadoop/common/lib# cp guava-27.0-jre.jar /usr/local/apache-hive-3.1.2-bin/lib
root@Master:/usr/local/hadoop/share/hadoop/common/lib# rm /usr/local/apache-hive-3.1.2-bin/lib/guava-19.0.jar

5.初始化元数据库

cd /usr/local/apache-hive-3.1.2-bin/bin
root@Master:/usr/local/apache-hive-3.1.2-bin/bin# schematool -initSchema -dbType mysql

成功后提示:

Initialization script completed
schemaTool completed

6.验证
先创建一个数据文件放到/usr/local下

cd /usr/local
vim test.txt

内容:

1,jack
2,hel
3,nack

进入hive交互界面

root@Master:/usr/local# hive

docker 部署hive,安装部署,docker,hadoop,大数据

退出命令行exit;

启动Hiveserver2

1.修改hadoop的一些权限配置

root@Master:/usr/local# vim /usr/local/hadoop/etc/hadoop/core-site.xml

加入以下配置

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

注意里面的root为访问的代理用户名,看自己使用什么用户访问的hive。不是全为root用户。
保存退出。

2.重启hdfs

cd /usr/local/hadoop/sbin
root@Master:/usr/local/hadoop/sbin# ./stop-dfs.sh
root@Master:/usr/local/hadoop/sbin# ./start-dfs.sh

3.后台启动hiveserver2

cd /usr/local/hadoop/sbin
root@Master:/usr/local/hadoop/sbin#  nohup hiveserver2 >/dev/null 2>/dev/null &

docker 部署hive,安装部署,docker,hadoop,大数据

4.验证

查看10000端口运行是否正常,beeline命令,!connect连接,结果查询是否正常

netstat -ntulp |grep 10000

docker 部署hive,安装部署,docker,hadoop,大数据

root@Master:/usr/local/hadoop/sbin# beeline
beeline> !connect jdbc:hive2://localhost:10000/default

docker 部署hive,安装部署,docker,hadoop,大数据
docker 部署hive,安装部署,docker,hadoop,大数据
!exit退出

docker 部署hive,安装部署,docker,hadoop,大数据文章来源地址https://www.toymoban.com/news/detail-716138.html

到了这里,关于hadoop3.2.1+hive3.1.2-docker安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【大数据入门核心技术-Hadoop】(六)Hadoop3.2.1高可用集群搭建

    目录 一、Hadoop部署的三种方式 1、Standalone mode(独立模式) 2、Pseudo-Distributed mode(伪分布式模式) 3、Cluster mode(集群模式) 二、准备工作 1、先完成zk高可用搭建 2、/etc/hosts增加内容 3、各台服务器分别创建目录 4、关闭防火墙和禁用swap交换分区 5、三台机器间免密 6、安装

    2023年04月20日
    浏览(76)
  • (最新版本)hive4.0.0 + hadoop3.3.4 集群安装(无坑版)-大数据学习系列(一)

    网上的找的文档大多残缺不靠谱,所以我整理了一份安装最新版本的hive4..0.0+hadoop3.3.4的学习环境,可以提供大家安装一个完整的hive+hadoop的环境供学习。 由于在公司担任大数据的培训工作后续还会更新一些基础的文章,希望能帮助到大家。 机器信息 Hostname k8s-master k8s-node1 k8

    2024年02月06日
    浏览(41)
  • Java(115)Java通过jdbc接口连接hive3.1.2

    hive版本:3.1.2 jdbc:hive-jdbc-uber-2.6.5.0-292.jar 下载驱动地址:https://github.com/timveil/hive-jdbc-uber-jar/releases/tag/v1.9-2.6.5 CREATE TABLE regre_one.hive2_varchar( ID int, aes varchar(1000), sm4 varchar(1000), sm4_a varchar(1000), email varchar(1000), phone varchar(1000), ssn varchar(1000), military varchar(1000), passport varchar(1000)

    2024年02月05日
    浏览(39)
  • Hive3.1.3安装及部署

    目录 1 下载地址 2 安装部署 2.1 安装Hive 2.2 启动并使用Hive 2.3 MySQL安装 2.3.1 安装MySQL 2.3.2 配置MySQL 2.3.3 卸载MySQL说明 2.4 配置Hive元数据存储到MySQL 2.4.1 配置元数据到MySQL 2.4.2 验证元数据是否配置成功 2.4.3 查看MySQL中的元数据 2.5 Hive服务部署 2.5.1 hiveserver2服务  2.5.2 metastore服务

    2024年02月09日
    浏览(28)
  • 一百零一、Kettle——Kettle8.2.0本地连接Hive3.1.2(踩坑,亲测有效)

    这是目前遇到的最简单但最头疼的安装,因为是在公司之前用过的服务器上进行安装测试,加上又使用比较新的版本,结果踩了不少坑。Kettle连接Hive这个坑,从2023年4月11日下午开始,一致到2023年4月12日中午才弄好,不得不写篇博客记录一下这段难忘的经历。 真是郁闷了半天

    2024年02月07日
    浏览(39)
  • 一百五十二、Kettle——Kettle9.3.0本地连接Hive3.1.2(踩坑,亲测有效)

    由于先前使用的kettle8.2版本在Linux上安装后,创建共享资源库点击connect时页面为空,后来采用如下方法,在/opt/install/data-integration/ui/menubar.xul文件里添加如下代码 menuitem id=\\\"file-openZiyuanku\\\" label=\\\"openZiyuanku\\\" command=\\\"spoon.openRepository()\\\"/ 共享资源库创建后又遇到任务Save时为空的问题。

    2024年02月13日
    浏览(37)
  • 一百五十二、Kettle——Kettle9.3.0本地连接Hive3.1.2(踩坑,亲测有效,附截图)

    由于先前使用的kettle8.2版本在Linux上安装后,创建共享资源库点击connect时页面为空,后来采用如下方法,在/opt/install/data-integration/ui/menubar.xul文件里添加如下代码 menuitem id=\\\"file-openZiyuanku\\\" label=\\\"openZiyuanku\\\" command=\\\"spoon.openRepository()\\\"/ 共享资源库创建后又遇到任务Save时为空的问题。

    2024年02月12日
    浏览(31)
  • hadoop3.3.4集群安装部署

    一、环境准备:3台centos7服务器         修改hosts(所有服务器都需要修改)           修改主机名,cdh1为主机名,根据自己定义         安装远程同步工具rsync,用于服务器间同步配置文件         设置时间同步,如果时间相差过大启动会报ClockOutOfSyncException异常,默认是

    2023年04月08日
    浏览(37)
  • 大数据技术栈-Hadoop3.3.4-完全分布式集群搭建部署-centos7(完全超详细-小白注释版)虚拟机安装+平台部署

    目录 环境条件: 1、安装虚拟机(已安装好虚拟机的可跳转至  二、安装JDK与Hadoop) (1)直接新建一台虚拟机 (2)首次启用虚拟机,进行安装 一、集群前置环境搭建(三台机器分别设置hostname、网卡(ip)配置、ssh免密登录) 1、查看一下本机与虚拟机的网卡和ip信息 (1)

    2024年02月06日
    浏览(41)
  • Hadoop3.3伪分布式安装部署

    目录 引言 实验目的及准备 实验步骤 引言 Hadoop生态的搭建有本地模式、伪分布模式、集群模式(3台机器)三种安装模式,本篇文章将详细介绍Hadoop3.3的伪分布安装模式。 实验目的及准备 一、完成Hadoop3.3伪分布安装 二、在Linux中配置jdk1.8环境变量 三、配置主机的免密钥登录

    2024年02月21日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包