Hadoop 3.0.0的集群搭建和Hive 3.1.3的安装

这篇具有很好参考价值的文章主要介绍了Hadoop 3.0.0的集群搭建和Hive 3.1.3的安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hi,朋友们,我们又见面了,这一次我给大家带来的是Hadoop集群搭建及Hive的安装。

说明一下,网上有很多的教程,为什么我还要水?

第一,大多数的安装都是很顺利的,没有疑难解答。

第二,版本问题,网上的搭建在3以前的比较多。

第三,我想给出一个更简洁的安装教程,把道理说明白,让读者就算在安装的过程中遇到问题也知道问题出在哪,应该朝哪个方向去要解决方案。

Hadoop-3.0.0的集群搭建

hadoop集群的安装,关键在主节点,主节点配置好以后,将主节点复制到其他做数据节点的服务器上就不用管了。
我有三台服务器,ip分别是192.168.12.71,192.168.12.200,192.168.12.201。
以12.71服务器作为主节点,我的hadoop路径是‘/opt/hadoop-3.0.0’首先要在这台服务器上安装一个jdk,我的jdk路径是‘/opt/jdk1.8’。
然后是设置hosts,vim /etc/hots

192.168.12.71 node1
192.168.12.200 node2
192.168.12.201 node3

配置

现在开始做Hadoop主节点的配置工作,我们先到hadoop的 ‘etc/hadoop/’目录下,所有的配置文件都在里面。

  1. hadoop-env.sh
    在这个文件里,增加一行指定Jdk目录
    export JAVA_HOME=/opt/jdk1.8
  2. core-site.xml
<property>
       <name>fs.defaultFS</name>
       <value>hdfs://node1:9000</value>
</property>
  1. hdfs-site.xml
<property>
       <name>dfs.replication</name>
       <value>3</value>
</property>
<!--下面的是配置namenode和datanode的数据存储位置,若不配置会有默认位置-->
<property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/zhibei/Hadoop/hadoop-3.0.0/data/namenode</value>
</property>

<property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/zhibei/Hadoop/hadoop-3.0.0/data/datanode</value>
</property>
  1. mapred-site.xml
   <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
   </property>
   <property>
        <name>mapreduce.application.classpath</name>
        <value>/opt/hadoop-3.0.0/share/hadoop/mapreduce/*:/opt/hadoop-3.0.0/share/hadoop/mapreduce/lib/*</value>
   </property>

报错
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster Please check whether your etc/hadoop/mapred-site.xml contains the below configuration:
如果不配置,mapreduce.application.classpath,则会报以上错误,在你hive数据做插入时现象如下
hadoop3.0,Hadoop,hadoop,hive,大数据,linux,hdfs
这个报错是在8088的端口上找到对应的插入日志,然后查看详情,就能看到。
5. yarn-site.xml

  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>node1</value>
  </property>
  1. workers
node1
node2
node3

总共配置就是这6项。
然后把hadoop3.0.0这个节点给另外的服务器复制过去。

格式化

主节点的格式化这一步,是非常重要的。执行命令
hadoop-3.0.0/bin/hadoop namenode -format

启动hadoop集群

在使用start-all.sh和stop-all.sh脚本启停脚本之前,先在两个脚本之前添加如下内容。

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

启动 hadoop-3.0.0/sbin/start-all.sh
启动完成之后就是jps命令,jps来自jdk中,首先保证每个节点都有jdk.请把jdk配置出来
vim /etc/profile

#添加如下内容
export JAVA_HOME=/opt/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH

完成之后执行
source /etc/profile
在jdk没有在环境中配置时,使用jps命令会报找不到的问题。在配置了jdk环境之后,jps执行出现permission的权限问题,那就需要给jps文件赋权,找到jdk/bin/jps文件,执行
chmod 775 jps
就ok.
接下来就是使用jps查看各服务器中启动的服务。
node1
hadoop3.0,Hadoop,hadoop,hive,大数据,linux,hdfs
node2
hadoop3.0,Hadoop,hadoop,hive,大数据,linux,hdfs
node3
hadoop3.0,Hadoop,hadoop,hive,大数据,linux,hdfs
日志信息可以在hadoop-3.0.0/logs里面查看。等集群启动完成之后就可以访问,相关的网页了。
网页一 http://192.168.12.71:9870/
hadoop3.0,Hadoop,hadoop,hive,大数据,linux,hdfs
网页二 http://192.168.12.71:8088/
hadoop3.0,Hadoop,hadoop,hive,大数据,linux,hdfs
那么集群的搭建就到这样!

Hive-3.1.3的安装

我的hive路径是’/opt/hive-3.1.3/',和node1节点在同一个服务器。

准备工作

你首先需要有mysql,启动以后,需要创建一个数据库,我创建了一个hivedb供hive存储数据用。下面的配置中会体现。

配置

  1. hive-site.xml
    这个配置文件需要先到hive-3.1.3/conf/目录下创建,然后添加如下内容
</configuration>
		<property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node1:3306/hivedb?createDatabaseIfNotExist=true&amp;useSSL=false</value>
                <description>JDBC connect string for a JDBC metastore</description>
                <!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
        </property>
        <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.ConnectionUserName</name>
                <value>root</value>
                <description>username to use against metastore database</description>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>password</value>
        <description>password to use against metastore database</description>
        </property>
        <property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive/warehouse</value>
                <description>hive default warehouse, if nessecory, change it</description>
        </property>
        <property>
            <name>hive.support.concurrency</name>
            <value>true</value>
        </property>
        <property>
            <name>hive.enforce.bucketing</name>
            <value>true</value>
        </property>
        <property>
            <name>hive.txn.manager</name>
            <value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
        </property>
        <property>
            <name>hive.compactor.initiator.on</name>
            <value>true</value>
        </property>
        <property>
           <name>hive.compactor.worker.threads</name>
           <value>1</value>
        </property>
        <property>
            <name>hive.in.test</name>
            <value>false</value>
        </property>
        <property>
          <name>hive.metastore.schema.verification</name>
          <value>false</value>
          <description>Enforce metastore schema version consistency</description>
        </property>
        <property>
            <name>hive.exec.dynamic.partition.mode</name>
            <value>nonstrict</value>
        </property>
</configuration>
  1. 添加一个mysql的驱动
    mysql-connector-java-5.1.40.jar没有这个驱动,会连接不上数据库,导致meta数据无法存储。
    没有驱动,你就会看到 failed to load driver
    hadoop3.0,Hadoop,hadoop,hive,大数据,linux,hdfs
  2. 初始化元数据
    主要就是在对应的mysql数据库中创建一系列的表。命令如下
    ./bin/schematool -initSchema -dbType mysql -verbose
    如果没有成功执行如上命令就直接启动Hive,在做查询操作的时候你就会看到
FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
  1. 启动Hive
    ./bin/hive
    到这里就结束了,纰漏肯定有,说不定你就有一些特殊情况。不妨留言给我!

番外

这里我想说一说的就是千万注意,如果你的系统上有旧的Hadoop,Hive存在的,现在要重新的部署,一定谨慎,因为这会导致数据的不可恢复。
如果只是测试数据,那就无所谓,删掉就的节点,重新配置,一定要重新格式化这一步,不然hadoop是不能成功的。
Hive也是同样,一旦之前Hadoop被覆盖或者架构发生改变,Hive之前的数据也会有损坏的风险。文章来源地址https://www.toymoban.com/news/detail-770401.html

到了这里,关于Hadoop 3.0.0的集群搭建和Hive 3.1.3的安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Hadoop3.0大数据处理学习1(Haddop介绍、部署、Hive部署)

    学习步骤: 三大组件的基本理论和实际操作 Hadoop3的使用,实际开发流程 结合具体问题,提供排查思路 开发技术栈: Linux基础操作、Sehll脚本基础 JavaSE、Idea操作 MySQL Hadoop是一个适合海量数据存储与计算的平台。是基于Google的GoogleFS、Map Reduce、BigTable实现的。 移动数据:数据

    2024年02月08日
    浏览(48)
  • [sqoop]hive3.1.2 hadoop3.1.1安装sqoop1.4.7

    Hadoop3.2.4+Hive3.1.2+sqoop1.4.7安装部署_hadoop sqoop安装_alicely07的博客-CSDN博客 sqoop-env.sh 末尾添加 环境变量 先创建目录,解决警告:accumulo does not exist! (1)添加jdbc驱动包:将MySQL数据库的JDBC驱动包mysql-connector-java-5.1.37.jar添加到Sqoop安装目录的lib目录中。 (2)删除Sqoop安装目录的

    2024年02月07日
    浏览(60)
  • 大数据集群搭建全部过程(Vmware虚拟机、hadoop、zookeeper、hive、flume、hbase、spark、yarn)

    1.网关配置(参照文档) 注意事项:第一台虚拟机改了,改为centos 101 ,地址为192.168.181.130 网关依然是192.168.181.2,但是一定要注意,它在D盘的文件名称是Hadoop 101,后面重新搭建的会命名文件夹为hadoop 101,hadoop 102和hadoop 103,然后发到一个总的文件夹hadoop_03里面去 VMnet8的IP地址一定

    2024年02月02日
    浏览(100)
  • 【大数据入门核心技术-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日
    浏览(88)
  • HDFS 跨集群数据同步(hive,hadoop)

    两个不同的HDFS 集群数据迁移( A集群的数据 - B 集群) 采用的是 SHELL 脚本  按表进行; 日期分区进行; #!/bin/bash ##################### #创建人:DZH #创建日期: 2020-04 #内容: 数据迁移 ##################### ##################################### [ \\\"$#\\\" -ne 0 ] FILE=$1 path=$(cd `dirname $0`; pwd) ############## 获取执

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

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

    2024年02月06日
    浏览(49)
  • 实操Hadoop大数据高可用集群搭建(hadoop3.1.3+zookeeper3.5.7+hbase3.1.3+kafka2.12)

    前言 纯实操,无理论,本文是给公司搭建测试环境时记录的,已经按照这一套搭了四五遍大数据集群了,目前使用还未发现问题。 有问题麻烦指出,万分感谢! PS:Centos7.9、Rocky9.1可用 集群配置 ip hostname 系统 CPU 内存 系统盘 数据盘 备注 192.168.22.221 hadoop1 Centos7.9 4 16 250G 19

    2024年02月03日
    浏览(40)
  • CentOS 搭建 Hadoop3 高可用集群

    spark101 spark102 spark103 192.168.171.101 192.168.171.102 192.168.171.103 namenode namenode journalnode journalnode journalnode datanode datanode datanode nodemanager nodemanager nodemanager recource manager recource manager job history job log job log job log 1.1 升级操作系统和软件 升级后建议重启 1.2 安装常用软件 1.3 修改主机名 1

    2024年02月06日
    浏览(49)
  • [Hadoop高可用集群]数仓工具之Hive的安装部署(超级详细,适用于初学者)

    📕作者:喜欢水星记 🏆系列:Hadoop高可用集群 🔋收藏:本文记录我搭建过程供大家学习和自己之后复习,如果对您有用,希望能点赞收藏加关注 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转

    2024年02月05日
    浏览(64)
  • 【hadoop3.x】一 搭建集群调优

    https://blog.csdn.net/fen_dou_shao_nian/article/details/120945221 2.1 模板虚拟机环境准备 0)安装模板虚拟机,IP 地址 192.168.10.100、主机名称 hadoop100、内存 4G、硬盘 50G 1)hadoop100 虚拟机配置要求如下(本文 Linux 系统全部以 CentOS-7.5-x86-1804 为例) (1)使用 yum 安装需要虚拟机可以正常上网,

    2024年02月07日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包