【hive】单节点搭建hadoop和hive

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

一、背景

需要使用hive远程debug,尝试使用无hadoop部署hive方式一直失败,无果,还是使用有hadoop方式。最终查看linux内存占用6GB,还在后台运行docker的mysql(bitnami/mysql:8.0),基本满意。

版本选择:
(1)hive2 hadoop2 和hive3和hadoop3需要搭配使用,不能像chd的hive2和hadoop3搭配使用,容易出现问题。
本文选择版本,都是官网推荐的版本:
hadoop-3.3.6.tar.gz
apache-hive-3.1.3-bin.tar.gz

二、创建用户和组

# hadoop缩写hdp
useradd hdp
groupadd hadoop

后边启动hadoop不能用root用户。

三、配置集群(单节点)互信

su hdp && cd .ssh
ssh-keygen
# 一路回车
cat id_rsa.pub >> authorized_keys
vi /etc/hosts
# localhost 行后追加 hdp 

# 配置后测试下
ssh hdp 
ssh localhost

四、hadoop搭建

hadoop官网
下载安装包
本文hadoop安装路径:/opt/hadoop-3.3.6

# 解压
tar -xvf hadoop-3.3.6.tar.gz 
# 改名字
mv ... hadoop-3.3.6

# 加个软连接
cd hadoop-3.3.6
ln -s etc/hadoop conf

修改hadoop-env.sh

export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
export HADOOP_CLIENT_OPTS="-Xmx2048m $HADOOP_CLIENT_OPTS"

修改core-site.xml,添加:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hdp:9000</value>
        <description>hdfs内部通讯访问地址</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <!--临时文件目录需要自己建立-->
        <value>/var/hadoop/tmp</value>
    </property>
    <property>
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.hadoop.groups</name>
        <value>*</value>
</property>
</configuration>

修改hdfs-site.xml,添加:

<configuration>
  <property>
      <name>dfs.namenode.name.dir</name>
      <value>/var/hadoop/data/namenode</value>
      <description> namenode 存放name table(fsimage)本地目录需要修改,如果没有需要自己创建文件目录)</description>
  </property>
  <property>
      <name>dfs.datanode.data.dir</name>
      <value>/var/hadoop/data/datanode</value>
      <description>datanode存放block本地目录(需要修改,如果没有需要自己创建文件目录)</description>
  </property>
  <property>
          <!--由于只有一台机器,hdfs的副本数就指定为1-->
          <name>dfs.replication</name>
          <value>1</value>
   </property>
</configuration>

修改yarn-site.xml

<configuration>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>2048</value>
</property>
<property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>2048</value>
</property>
<property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
</property>
<property>
        <name>mapred.child.java.opts</name>
        <value>-Xmx1024m</value>
</property>
<property>
        <name>yarn.application.classpath</name>
        <value>/opt/hadoop-3.3.6/conf:/opt/hadoop-3.3.6/share/hadoop/common/lib/*:/opt/hadoop-3.3.6/share/hadoop/common/*:/opt/hadoop-3.3.6/share/hadoop/hdfs:/opt/hadoop-3.3.6/share/hadoop/hdfs/lib/*:/opt/hadoop-3.3.6/share/hadoop/hdfs/*:/opt/hadoop-3.3.6/share/hadoop/mapreduce/*:/opt/hadoop-3.3.6/share/hadoop/yarn:/opt/hadoop-3.3.6/share/hadoop/yarn/lib/*:/opt/hadoop-3.3.6/share/hadoop/yarn/*</value>
</property>
</configuration>

yarn.application.classpath是使用hadoop classpath生成的,一定要有此配置。

修改mapred-site.xml,添加:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
touch init-env.sh

添加如下内容,本文使用的hadoop安装路径的是:/opt/hadoop-3.3.6

#!/bin/bash
# 移除老的环境变量
# 如果本机已经安装过hadoop一定要注意,将旧hadoop环境变量移除,可以使用printenv 或者env 查看已经有的环境变量
unset HADOOP_HDFS_HOME
unset HADOOP_YARN_HOME
unset HADOOP_CLASSPATH
unset HADOOP_MAPRED_HOME
unset HADOOP_HOME
unset HADOOP_CONF_DIR
# 添加新的环境变量
export HADOOP_HOME=/opt/hadoop-3.3.6
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
export HADOOP_LOG_DIR=/var/hadoop/log
export PATH=$HADOOP_HOME/bin:$PATH

加载环境变量

source init-env.sh
# 测试下:
env
echo $HADOOP_HOME
echo $HADOOP_CONF_DIR

启动和停止hadoop

chown -R hdp:hadoop $HADOOP_HOME
# 必须使用非root账户登录
su hdp
$HADOOP_HOME/sbin/start-all.sh
# 使用jps查看下java进程情况:
NameNode
ResourceManager
NodeManager
SecondaryNameNode
DataNode

# 停止
$HADOOP_HOME/sbin/stop-all.sh

# 可以在console查看日志的脚本,即单独启动yarn或者hdfs:
start-dfs.sh
start-yarn.sh

hdfs web
yarn web
使用命令行确认下hdfs和yarn是否可用:

hdfs dfs -mkdir /tmp
hdfs dfs -ls /
yarn application -list

六、hive搭建

本文hive安装位置:/opt/hive-3.1.3/
hive官网

tar -xvf apache-hive-3.1.3-bin.tar.gz
mv ... hive-3.1.3
cd hive-3.1.3 && mkdir logs
cp hive-env.sh.template hive-env.sh
touch hive-site.xml
# 不手动添加的话,hive不打印日志!!!
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

修改hive-env.sh

HADOOP_HOME=/opt/hadoop-3.3.6

修改hive-site.xml,添加:
本文hive使用mysql作为metastore,提前在mysql中创建好数据库hive3_local

<!-- 数据库连接JDBC的URL地址,&amp; 是urlencode后的表达-->
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://mysql-ip:3306/hive3_local?createDatabaseIfNotExist=true&amp;useSSL=false</value>
</property>
    <!-- 数据库连接driver,即MySQL驱动-->
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
</property>
    <!-- MySQL数据库用户名-->
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>
    <!-- MySQL数据库密码-->
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>密码</value>
</property>
<property>
    <!--hive表在hdfs的位置-->
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
</property>
<property>
    <name>hive.security.authorization.enabled</name>
    <value>false</value>
</property>
<property>
    <name>hive.security.authorization.createtable.owner.grants</name>
    <value>ALL</value>
</property>
<property>
    <name>hive.server2.enable.doAs</name>
    <value>false</value>
</property>
touch init-env.sh

添加如下内容

#!/bin/bash
export HIVE_HOME=/opt/hive-3.1.3
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$HIVE_HOME/bin:$PATH

加载hive环境变量。

source init-env.sh

初始化metastore
把数据库jdbc驱动复制到lib目录下,本文是mysql-connector-j-8.0.31.jar

# 进入hive的bin目录
./schematool -dbType mysql -initSchema

配置hive启动脚本

touch start-all.sh

添加如下内容:

#!/bin/bash
nohup $HIVE_HOME/bin/hive --service metastore &
nohup $HIVE_HOME/bin/hive --service hiveserver2 &

启动hive,注:一定要确保hadoop已经成功启动,才能启动hive,否则连接hive beeline会卡死但是不报错!!!

chown -R hdp:hadoop $HIVE_HOME
su hdp
source /opt/hadoop-3.3.6/conf/init-env.sh
source /opt/hive-3.1.3/conf/init-env.sh
sh start-all.sh

# 查看进程,可以看到两个RunJar。
jps
153216 RunJar
152044 RunJar

配置hive停止脚本

touch stop-all.sh

添加如下内容:

jps | grep RunJar | awk '{print $1}' | xargs kill -9

判断linux端口使用已经监听:

# hive的metastore端口号9083
netstat -ntulp |grep 9083
# 出现端口信息,说明metastore已经启动成功了。
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::9083                 :::*                    LISTEN      152044/java
# 使用如上获取的ip获取具体进程启动命令:
ps -ef | grep 152044
hdp      152044  36213  0 4月09 pts/1   00:01:01 /usr/hdp/3.0.1.0-187/jdk1.8/bin/java -Dproc_jar -Xmx2048m -Dproc_metastore -Dlog4j2.formatMsgNoLookups=true -Dlog4j.configurationFile=hive-log4j2.properties -Djava.util.logging.config.file=/opt/hive-3.1.3/conf/parquet-logging.properties -Dyarn.log.dir=/opt/hadoop-3.3.6/logs -Dyarn.log.file=hadoop.log -Dyarn.home.dir=/opt/hadoop-3.3.6 -Dyarn.root.logger=INFO,console -Djava.library.path=/opt/hadoop-3.3.6/lib/native -Dhadoop.log.dir=/opt/hadoop-3.3.6/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/hadoop-3.3.6 -Dhadoop.id.str=hdp -Dhadoop.root.logger=INFO,console -Dhadoop.policy.file=hadoop-policy.xml -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /opt/hive-3.1.3/lib/hive-metastore-3.1.3.jar org.apache.hadoop.hive.metastore.HiveMetaStore


# hive的hiveserver2端口号10000
netstat -ntulp | grep 10000
# 出现端口信息,说明hiveserver已经启动成功了。
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::10000                :::*                    LISTEN      152045/java
# 使用如上获取的ip获取具体进程启动命令:
ps -ef | grep 152045
hdp      152045  36213  0 4月09 pts/1   00:04:30 /usr/hdp/3.0.1.0-187/jdk1.8/bin/java -Dproc_jar -Xmx2048m -Dproc_hiveserver2 -Dlog4j2.formatMsgNoLookups=true -Dlog4j.configurationFile=hive-log4j2.properties -Djava.util.logging.config.file=/opt/hive-3.1.3/conf/parquet-logging.properties -Djline.terminal=jline.UnsupportedTerminal -Dyarn.log.dir=/opt/hadoop-3.3.6/logs -Dyarn.log.file=hadoop.log -Dyarn.home.dir=/opt/hadoop-3.3.6 -Dyarn.root.logger=INFO,console -Djava.library.path=/opt/hadoop-3.3.6/lib/native -Dhadoop.log.dir=/opt/hadoop-3.3.6/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/hadoop-3.3.6 -Dhadoop.id.str=hdp -Dhadoop.root.logger=INFO,console -Dhadoop.policy.file=hadoop-policy.xml -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /opt/hive-3.1.3/lib/hive-service-3.1.3.jar org.apache.hive.service.server.HiveServer2

beeline链接hive

beeline
# 输入`!verbose`,设置打印日志verbose
!verbose
# 使用hive用户登录,不输入密码(空密码),直接回车。
!connect jdbc:hive2://localhost:10000 hive

七、参考文档

hadoop和hive单机部署
Hive2 新版连接工具 beeline 详解
找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster
DBeaver连接Hive错误总结
User: hadoop is not allowed to impersonate anonymous
return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
hive设置权限
hive 入门 修改hive日志路径
Hadoop常见端口号及配置文件文章来源地址https://www.toymoban.com/news/detail-846427.html

到了这里,关于【hive】单节点搭建hadoop和hive的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • docker搭建hadoop和hive集群

    安装docker教程 https://www.runoob.com/docker/centos-docker-install.html 只要在终端输入: 后出现如下图的内容就证明安装docker成功了 在终端输入: 在终端输入:sudo docker images,可以看到刚刚拉取的两个镜像 每次执行docker语句都要在前面加sudo,比较麻烦,直接将hadoop用户加入docker用户组

    2024年02月01日
    浏览(55)
  • 分布式搭建(hadoop+hive+spark)

    hadoop-master 192.168.43.141 hadoop-slave1 192.168.43.142 hadoop-slave2 192.168.43.143 链接:https://pan.baidu.com/s/1OwKLvZAaw8AtVaO_c6mvtw?pwd=1234 提取码:1234 MYSQL5.6:wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm Scale:wget https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.tgz

    2024年02月12日
    浏览(43)
  • 单机搭建hadoop环境(包括hdfs、yarn、hive)

    单机可以搭建伪分布式hadoop环境,用来测试和开发使用,hadoop包括: hdfs服务器, yarn服务器,yarn的前提是hdfs服务器, 在前面两个的基础上,课可以搭建hive服务器,不过hive不属于hadoop的必须部分。 过程不要想的太复杂,其实挺简单,这里用最糙最快最直接的方法,在我的单

    2024年02月20日
    浏览(53)
  • Hadoop 之 Hive 4.0.0-alpha-2 搭建(八)

    Hive 是基于 Hadoop 的数据仓库工具,可以提供类 SQL 查询能力 Hive 官网 Hive 下载地址(自选版本) MySQL Java 驱动下载 1.解压并配置 HIVE 2.修改 hive-site.xml 初始化元数据 查看库 Hive 3.修改 hadoop 的 core-site.xml 4.启动 1.Pom依赖 2.Yarm 配置文件 3.启动类 4.配置类 5.测试类 如果插入或查询

    2024年02月14日
    浏览(30)
  • 大数据环境搭建 Hadoop+Hive+Flume+Sqoop+Azkaban

    Hadoop:3.1.0 CentOS:7.6 JDK:1.8 这里网上教程很多,就不贴图了 【内存可以尽量大一些,不然Hive运行时内存不够】 创建tools目录,用于存放文件安装包 将Hadoop和JDK的安装包上传上去 创建server目录,存放解压后的文件 解压jdk 配置环境变量 配置免密登录 配置映射,配置ip地址和

    2024年02月09日
    浏览(43)
  • 两台实体机器4个虚拟机节点的Hadoop集群搭建(Ubuntu版)

    两台机器,每台机器两台Ubuntu Ubuntu版本:ubuntu-22.04.3-desktop-amd64.iso 处理器数量2,每个处理器的核心数量2,总处理器核心数量4 单个虚拟机内存8192MB(8G),最大磁盘大小30G 清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04/ 虚拟机(VMware)安装Linux(Ubun

    2024年02月08日
    浏览(53)
  • Hadoop 3.0.0的集群搭建和Hive 3.1.3的安装

    Hi,朋友们,我们又见面了,这一次我给大家带来的是Hadoop集群搭建及Hive的安装。 说明一下,网上有很多的教程,为什么我还要水? 第一,大多数的安装都是很顺利的,没有疑难解答。 第二,版本问题,网上的搭建在3以前的比较多。 第三,我想给出一个更简洁的安装教程,

    2024年02月03日
    浏览(38)
  • 大数据集群搭建全部过程(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)
  • Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建(保姆级超详细含图文)

    说明: 本篇将详细介绍用二进制安装包部署hadoop等组件,注意事项,各组件的使用,常用的一些命令,以及在部署中遇到的问题解决思路等等,都将详细介绍。 ip hostname 192.168.1.11 node1 192.168.1.12 node2 192.168.1.13 node3 1.2.1系统版本 1.2.2内存建议最少4g、2cpu、50G以上的磁盘容量 本次

    2024年02月12日
    浏览(53)
  • 【Spark+Hadoop+Hive+MySQL+Presto+SpringBoot+Echarts】基于大数据技术的用户日志数据分析及可视化平台搭建项目

    点我获取项目数据集及代码 随着我国科学技术水平的不断发展,计算机网络技术的广泛应用,我国已经步入了大数据时代。在大数据背景下,各种繁杂的数据层出不穷,一时难以掌握其基本特征及一般规律,这也给企业的运营数据分析工作增添了不小的难度。在大数据的背景

    2024年02月10日
    浏览(62)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包