Ubuntu 搭建 Hadoop + Hive 环境实例。

一、官网集群配置文档

{% link https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions 关于安装版本官方文档 %}

二、版本说明

推荐使用新版本(3.x),浪子因为所在公司使用的 2.x 版本,所以采用的 2.x 的最高版本。

java-8 hadoop-2.10.x hive-2.3.9

三、安装

  1. 安装 jdk

    BASH
     1$ sudo apt install openjdk-8-jdk
     2# 查看路径(虽然使用 apt 安装不需要配置环境变量,但是 hadoop 无法识别,依然需要手动导入)
     3# /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 就是安装的路径
     4# 如果你的 jdk 是自己上传压缩包配置的可以跳过此步骤
     5$ which java
     6    /usr/bin/java
     7$ file /usr/bin/java
     8    /usr/bin/java: symbolic link to /etc/alternatives/java
     9$ file /etc/alternatives/java
    10    /etc/alternatives/java: symbolic link to /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
    11$ file /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
    12    /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0d167f96ccfa5695cabf1b40056a77dc9bb8ab1a, for GNU/Linux 3.2.0, stripped
    13
    14# 下载 oracle 驱动
    15cd hivepath/lib
    16wget https://download.oracle.com/otn-pub/otn_software/jdbc/217/ojdbc8.jar
    点击展开查看更多
  2. 配置环境变量:

    BASH
    1export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    2export HADOOP_HOME=hadooppath
    3export HIVE_HOME=hivepath
    4export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
    点击展开查看更多
  3. 检验 Hadoop 是否安装成功:

    BASH
    1source /etc/profile
    2hadoop version
    点击展开查看更多
  4. 修改 Hive 配置文件 cd …/hivepath/conf cp hive-env.sh.template hive-env.sh

    BASH
    1 # 配置一下 Hadoop 的安装路径
    2 HADOOP_HOME=hadooppath
    点击展开查看更多
  5. 添加 hive-site.xml 文件

新建 hive-site.xml 文件,添加以下内容。

```xml hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:oracle:thin:@*********:1521:fangweidbt</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>oracle.jdbc.OracleDriver</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>******</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>******</value>
</property>
</configuration>
```
  1. 初始化

    BASH
    1schematool -dbType oracle -initSchema
    点击展开查看更多

然后就可以使用了。

BASH
1hive
2show databases;
点击展开查看更多

三、Hadoop集群搭建

一般在生产环境中使用 Hadoop 都是集群部署(毕竟是大数据,数据集比较大),如果采用一台服务器存储,万一需要维护或者宕机就不能对外提供服务了。官网集群配置文档

1. 前置准备

2. 开始

  1. 创建服务器地址映射

    BASH
    1...
    2
    3# ip hostname 域名
    4192.168.10.1 node1 test.com
    点击展开查看更多
  2. SSH 配置

    BASH
    1# 密钥生成省略,使用 ssh-key
    2# 复制公钥到目标主机
    3ssh-copy-id hostname
    点击展开查看更多
  3. 集群时间同步

    BASH
    1sudo apt install ntpdate
    2ntpdate cn.pool.ntp.org
    点击展开查看更多

    ntp 常用服务器:https://dns.icoa.cn/ntp/

  4. 安装 Hadoop

    BASH
    1# 官网下载安装包并解压
    2# 复制到多台机器
    3scp -r /sourcepath/ root@hostname:/targetpath/
    点击展开查看更多
  5. 修改配置文件 配置文件都在 Hadoop 安装目录的 etc/hadoop/ 下。

    BASH
    1export JAVA_HOME=/path
    2export HDFS_NAMENODE_USER=
    3export HDFS_DATANODE_USER=
    4export HDFS_SECONDARYNAMENODE_USER=
    5export HDFS_RESOURCEMANAGER_USER=
    6export HDFS_NODEMANAGER_USER=
    点击展开查看更多
    XML
     1<!-- 默认使用的文件系统,支持 file、HDFS、GFS、Amazon等 -->
     2<property>
     3    <name>fs.defaultFS</name>
     4    <value>hdfs://ip/name:port</value>
     5</property>
     6<!-- Hadoop 本地保存数据路径 -->
     7<property>
     8    <name>hadoop.tmp.dir</name>
     9    <value>/path</value>
    10</property>
    11
    12<!-- 设置 HDFS Web UI 用户身份 -->
    13<property>
    14    <name>hadoop.http.staticuser.user</name>
    15    <value>user</value>
    16</property>
    17
    18<!-- hive 用户代理 -->
    19<property>
    20    <name>hadoop.proxyuser.root.hosts</name>
    21    <value>*</value>
    22</property>
    23
    24<property>
    25    <name>hadoop.proxyuser.root.groups</name>
    26    <value>*</value>
    27</property>
    28
    29<!-- 文件系统垃圾桶保存时间 -->
    30<property>
    31    <name>fs.trash.interval</name>
    32    <value>1440</value>
    33</property>
    点击展开查看更多
    XML
    1<!-- SNN 进程运行机器位置信息 -->
    2 <property>
    3     <name>dfs.namenode.secondary.http-address</name>
    4     <value>ip/hostname:port</value>
    5 </property>
    点击展开查看更多
    XML
     1<!-- MR 程序默认运行模式,yarn:集群模式 local:本地模式 -->
     2<property>
     3    <name>mapreduce.framework.name</name>
     4    <value>yarn</value>
     5</property>
     6
     7<!-- MR 程序历史服务器地址 -->
     8<property>
     9    <name>mapreduce.jobhistory.address</name>
    10    <value>ip/hostname:port</value>
    11</property>
    12
    13<!-- MR 程序历史服务器 web 地址 -->
    14<property>
    15    <name>mapreduce.jobhistory.webapp.address</name>
    16    <value>ip/hostname:port</value>
    17</property>
    18
    19<property>
    20    <name>yarn.app.mapreduce.am.env</name>
    21    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    22</property>
    23
    24<property>
    25    <name>mapreduce.map.env</name>
    26    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    27</property>
    28
    29<property>
    30    <name>mapreduce.reduce.env</name>
    31    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    32</property>
    点击展开查看更多
    XML
     1<!-- yarn 集群主角色运行机器位置 -->
     2<property>
     3    <name>yarn.resourcemanager.hostname</name>
     4    <value>ip/hostname</value>
     5</property>
     6
     7<property>
     8    <name>yarn.nodemanager.aux-services</name>
     9    <value>mapreduce_shuffle</value>
    10</property>
    11
    12<!-- 是否对容器实施物理内存限制 -->
    13<property>
    14    <name>yarn.nodemanager.pmem-check-enabled</name>
    15    <value>false</value>
    16</property>
    17
    18<!-- 是否对容器实施虚拟内存限制 -->
    19<property>
    20    <name>yarn.nodemanager.vmem-check-enabled</name>
    21    <value>false</value>
    22</property>
    23
    24<!-- 开启日志 -->
    25<property>
    26    <name>yarn.log.aggregation-enabled</name>
    27    <value>true</value>
    28</property>
    29
    30<!-- yarn 历史服务器地址 -->
    31<property>
    32    <name>yarn.log.server.url</name>
    33    <value>http://ip|name/jobhistory/logs</value>
    34</property>
    35
    36<!-- 历史日志保存时间 7 天 -->
    37<property>
    38    <name>yarn.log-aggregation.retain-seconds</name>
    39    <value>604800</value>
    40</property>
    点击展开查看更多
    BASH
    1域名
    点击展开查看更多
  6. 集群启动

首次运行初始化:hdfs namenode -format

版权声明

作者: 浮生一梦

链接: /posts/2025/10/ubuntu-install-hadoop/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

评论

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键