Hadoop3.3.0 Ubuntu 安装

配置Hadoop3.3.0单节点集群并解决启动问题
本文档详细介绍了如何在Ubuntu系统中安装Hadoop 3.3.0,包括设置环境变量、修改配置文件、格式化NameNode和启动所有服务。在启动过程中遇到因用户权限导致的错误,并提供了解决方案,如配置root用户免密登录,最终成功启动Hadoop集群并能通过8088端口访问YARN集群状态。

一、安装 java8:省略.................

二、下载安装 hadoop-3.3.0.tar.gz

Index of /dist/hadoop/common

Index of /dist/hadoop/common/hadoop-3.0.0

解压 到  /hadoop-3.3.0

2.1、添加下面的内容到  ./etc/hadoop/hadoop-env.sh

## java Home环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64  

## NameNode用户
export HDFS_NAMENODE_USER=root

## DataNode 用户
export HDFS_DATANODE_USER=root

## 副本NameNode用户
export HDFS_SECONDARYNAMENODE_USER=root

##YARN 资源管理用户
export YARN_RESOURCEMANAGER_USE=root

2.2、修改配置文件 core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml

参考:Apache Hadoop 3.3.2 – Hadoop: Setting up a Single Node Cluster.

先创建一下配置文件需要的路径 

/usr/local/hadoop/tmp/dfs/name

/usr/local/hadoop/tmp/dfs/data

core-site.xml:

<configuration>
   
         <property>
                   <name>fs.defaultFS</name>
                    <value>hdfs://localhost:9000</value>
                         <!--  ####注释  : HDFS的URI,文件系统://namenode标识:端口号  -->
         </property>

         <property>
                <name>hadoop.tmp.dir</name>
                <value>/george/soft/hadoop/tmp</value>                      
                <!-- ###注释: namenode上本地的hadoop临时文件夹 -->
        </property>

</configuration>

hdfs-site.xml:

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
                <description>副本个数,配置默认是3,应小于datanode机器数量</description>
        </property>

        <property>
                 <name>dfs.namenode.name.dir</name>
                 <value>file:/usr/local/hadoop/tmp/dfs/name</value>
                  <description>设置存放NameNode的文件路径</description>
         </property>

          <property>
               <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
                <description>设置存放DataNode的文件路径</description>
           </property>

</configuration>

mapred-site.xml:

<configuration>
         <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
         </property>        
</configuration>

 yarn-site.xml:

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
        </property>


</configuration>

需要配置root 免密登录否则回出现下面的异常信息:

  $ ssh localhost

  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys
Starting namenodes on [namenode]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [datanode1]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
Starting resourcemanager
ERROR: Attempting to operate on yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
Starting nodemanagers
ERROR: Attempting to operate on yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.

2.3、namenode格式化,启动前需要格式化

sudo  /hadoop-3.3.0/bin/hdfs namenode -format

2.4、/hadoop-3.3.0/etc/hadoop/yarn-env.sh


YARN_RESOURCEMANAGER_USER=root

YARN_NODEMANAGER_USER=root

2.5、最后启动,启动成功

george@ubuntu:/george/soft/hadoop-3.3.0/sbin$ sudo ./start-all.sh 
[sudo] password for george: 
Sorry, try again.
[sudo] password for george: 
Starting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [ubuntu]
Starting resourcemanager
Starting nodemanagers
george@ubuntu:/george/soft/hadoop-3.3.0/sbin$ 

三、访问  http://yourip:8088/cluster

 成功显示 

参考:

配置Hadoop3.3.0完全分布式集群_Frost-xie的博客-优快云博客_hadoop3.3.0

在iOS环境下安装Hadoop 3.3.0虚拟机需要借助第三方虚拟化工具,因为苹果原生系统不直接支持运行Hadoop等Linux环境下的分布式计算框架。以下是详细的步骤和配置建议: ### 虚拟化工具选择 在iOS设备上运行Hadoop虚拟机,推荐使用**UTM**或**iSH(iOS Shell)**等虚拟化方案。这些工具可以在iOS设备上模拟完整的Linux系统环境。 - **UTM** 是一个基于QEMU的虚拟机管理器,适用于iPadOS和iOS,可以安装各种Linux发行版,包括CentOS、Ubuntu等,适合部署Hadoop集群。 - **iSH** 是一个用户空间的Linux shell模拟器,基于x86架构的Alpine Linux,虽然轻量但性能有限,不适合大规模部署Hadoop[^2]。 ### 安装步骤 #### 使用UTM安装Hadoop 3.3.0 1. **下载安装UTM** 在App Store中搜索“UTM”并安装该应用。 2. **获取Linux镜像文件** 下载CentOS或Ubuntu的ISO镜像文件,如`CentOS-7-x86_64-Minimal-2009.iso` 或 `Ubuntu Server` 版本。 3. **创建虚拟机** 打开UTM,新建虚拟机,选择对应的Linux ISO镜像文件,设置内存、CPU核心数及磁盘容量。 4. **安装操作系统** 启动虚拟机后,按照提示完成操作系统的安装过程。 5. **配置网络环境** 确保虚拟机能够访问外部网络,以便后续安装JDK、Hadoop及相关依赖包。 6. **安装JDK** 下载JDK压缩包(如JDK 1.8),解压后配置环境变量: ```bash export JAVA_HOME=/opt/module/jdk1.8.0_212 export PATH=$PATH:$JAVA_HOME/bin ``` 7. **安装Hadoop 3.3.0** 下载Hadoop 3.3.0二进制包并解压到指定目录: ```bash tar -zxvf hadoop-3.3.0.tar.gz -C /opt/module/ ``` 配置环境变量: ```bash export HADOOP_HOME=/opt/module/hadoop-3.3.0 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin ``` 8. **配置Hadoop伪分布式模式** 修改`core-site.xml`、`hdfs-site.xml`、`mapred-site.xml`和`yarn-site.xml`中的参数,启用HDFS和YARN服务。例如,在`core-site.xml`中添加: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 在`hdfs-site.xml`中添加: ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` 9. **格式化HDFS文件系统** 执行以下命令格式化HDFS: ```bash hdfs namenode -format ``` 10. **启动Hadoop集群** 启动HDFS和YARN服务: ```bash start-dfs.sh start-yarn.sh ``` ### 编译Hadoop源码(可选) 如果需要从源码编译Hadoop 3.3.0,需先安装Protobuf 3.7.1,具体步骤如下: 1. 下载并解压Protobuf源码包: ```bash tar -zxvf protobuf-all-3.7.1.tar.gz cd protobuf-3.7.1 ``` 2. 配置编译路径并执行编译: ```bash mkdir -p /usr/local/protobuf ./configure --prefix=/usr/local/protobuf sudo make sudo make check sudo make install ``` 3. 更新动态链接库缓存: ```bash sudo ldconfig ``` 4. 验证Protobuf版本: ```bash /usr/local/protobuf/bin/protoc --version ``` ### 注意事项 - iOS上的虚拟化性能受限,尤其是UTM基于用户空间模拟,I/O性能较低,因此建议仅用于学习和测试环境。 - 若需更高性能,考虑将Hadoop部署在远程服务器,并通过iOS设备使用SSH工具(如Termius、Prompt等)进行连接与管理。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值