CentOS7 安装Hadoop 3.1.3 伪集群

本文详细介绍了如何在CentOS7上安装配置Hadoop 3.1.3的伪集群。内容包括前置环境配置如修改ip、主机名、关闭防火墙、安装JDK,下载安装Hadoop,以及一系列的配置文件修改,如core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml。最后,文章还提到了如何启动HDFS和YARN,并测试Hadoop环境,包括访问HDFS和YARN的管理页面。

继上次我们在机器中配置好了CentOS7,这次我们来配置实验环境
这次我们要来安装Hadoop伪集群

Hadoop 介绍

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算

Hadoop 安装配置

前置实验环境:CentOS 7

Hadoop下载链接:(可以从Apache官网下载,不过我嫌太慢了,直接到清华镜像站里下载)
Hadoop 3.1.3: /apache/hadoop/common/hadoop-3.1.3 - 清华镜像站

参考:
https://zhuanlan.zhihu.com/p/45166521
https://zhuanlan.zhihu.com/p/73461795

前置环境配置

修改ip地址

在虚拟机的命令行中输入下面的命令,即使用vim编辑器修改网卡的配置文件

$ vim /etc/sysconfig/network-scripts/ifcfg-ens33

配置如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=55f92893-e87e-44fd-b89b-d6d813407263
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.52.130
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8

重启网卡使配置生效

$ sudo service network restart 
修改主机名

CentOS 7可以使用hostnamectl命令,直接修改主机名

hostnamectl set-hostname magic
修改ip地址和主机名的映射关系

用vim编辑器修改/etc/hosts文件

$ vim /etc/hosts

添加一行新的映射,然后保存退出

192.168.52.130 magic
关闭防火墙

CentOS 7的防火墙服务为firewalld,不再使用IPtables了

systemctl stop firewalld      #关闭防火墙服务网
systemctl disable firewalld   #设置防火墙服务开机不启动
安装JDK

Hadoop 3.x要求JDK的版本必须是java 8,下载地址:jdk-8u161-linux-x64.tar.gz

$ sudo mv jdk-8u251-linux-x64.tar.gz /usr/local/
$ sudo tar -zxvf jdk-8u251-linux-x64.tar.gz 
$ # set environment
$ vim /etc/profile

在profile里添加以下环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_251
export PATH=$PATH:$JAVA_HOME/bin

然后重新加载环境变量

$ source /etc/profile

下载安装Hadoop

$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.3/
$ mkdir /hadoop
$ tar -zxvf hadoop-3.1.3.tar.gz -C /hadoop/
$ cd /hadoop/hadoop-3.1.3/

修改配置文件

在hadoop安装目录下有一个etc目录,里面存放着hadoop的配置文件(注意不要和linux的/etc搞混)

在我们这个实例中,etc位于/hadoop/hadoop-3.1.3/etc/hadoop,如下

在这里插入图片描述

[user@localhost hadoop]$ pwd
/hadoop/hadoop-3.1.3/etc/hadoop
[user@localhost hadoop]$ ll
total 172
-rw-r--r--. 1 user user  8260 Sep 12  2019 capacity-scheduler.xml
-rw-r--r--. 1 user user  1335 Sep 12  2019 configuration.xsl
-rw-r--r--. 1 user user  1940 Sep 12  2019
<think>嗯,用户想了解在CentOS 7安装Hadoop 3.1.3伪分布式模式。我需要先回忆安装步骤,确保每个环节正确。首先,得确认系统准备,比如Java环境,因为Hadoop依赖Java。用户可能已经安装了Java,但版本是否合适呢?Hadoop 3.1.3需要Java 8或者更高,所以可能需要检查版本,或者指导用户安装。 然后,创建Hadoop用户,这一步是为了避免使用root账户,提高安全性。需要指导用户如何创建用户并赋予sudo权限,可能涉及修改sudoers文件,但得提醒小心操作。接下来是SSH无密码登录配置,伪分布式模式下Hadoop需要SSH到localhost,所以生成密钥并授权是必须的。 下载和解压Hadoop的步骤,要提供正确的下载链接,可能官网的地址,或者可靠的镜像源。然后配置环境变量,这部分需要修改.bashrc或者profile文件,添加Hadoop和Java的路径。用户可能会遇到路径错误,所以得强调正确路径的重要性。 Hadoop的配置文件是关键部分,包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml。每个文件的配置项需要仔细检查,比如HDFS的namenode和datanode目录,YARN的资源管理设置。此外,还需要修改hadoop-env.sh中的JAVA_HOME,确保指向正确的Java安装路径。 格式化HDFS的步骤很重要,如果用户之前安装过,可能需要先清理数据。启动Hadoop服务后,验证进程是否运行正常,比如jps命令检查。最后,通过运行示例程序来测试整个环境是否正常工作,比如wordcount例子。 用户可能会在配置文件中出错,比如拼写错误或者路径问题,这时候需要提示他们检查日志文件,查看具体的错误信息。另外,防火墙和SELinux可能会影响Hadoop的运行,需要关闭或者配置相应的规则。还有,权限问题,比如Hadoop用户对数据目录的访问权限,可能需要chmod或者chown调整。 整体来说,需要将步骤分解清晰,按顺序讲解,确保每个环节都有详细说明,避免遗漏。同时,提醒常见的错误和解决方法,帮助用户顺利完成安装。如果有遗漏的步骤或者配置错误,用户可能会遇到启动失败的问题,所以强调仔细检查配置文件的重要性。</think>以下是在CentOS7系统安装Hadoop3.1.3伪分布式模式的详细步骤指南: --- ### 一、系统准备 1. **更新系统** ```bash sudo yum update -y sudo yum install -y vim ssh pdsh ``` 2. **安装Java** ```bash sudo yum install -y java-1.8.0-openjdk-devel ``` 验证安装: ```bash java -version # 应显示1.8.x版本 ``` 3. **创建专用用户** ```bash sudo useradd hadoop sudo passwd hadoop sudo visudo # 在文件中添加 hadoop ALL=(ALL) NOPASSWD:ALL ``` --- ### 二、配置SSH免密登录 ```bash su - hadoop ssh-keygen -t rsa -P &#39;&#39; -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ssh localhost # 测试免密登录 ``` --- ### 三、安装Hadoop 1. **下载解压** ```bash wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz tar -xzvf hadoop-3.1.3.tar.gz -C /opt/ sudo chown -R hadoop:hadoop /opt/hadoop-3.1.3 ``` 2. **配置环境变量** 编辑`~/.bashrc`: ```bash export HADOOP_HOME=/opt/hadoop-3.1.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java)))) ``` 加载配置: ```bash source ~/.bashrc ``` --- ### 四、核心配置修改 1. **hadoop-env.sh** ```bash echo "export JAVA_HOME=$JAVA_HOME" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh ``` 2. **core-site.xml** ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 3. **hdfs-site.xml** ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///opt/hadoop-3.1.3/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///opt/hadoop-3.1.3/data/datanode</value> </property> </configuration> ``` --- ### 五、初始化HDFS ```bash hdfs namenode -format # 首次安装必须执行 ``` --- ### 六、启动集群 ```bash start-dfs.sh start-yarn.sh mr-jobhistory-daemon.sh start historyserver ``` 验证进程: ```bash jps # 应显示NameNode、DataNode、ResourceManager等进程 ``` --- ### 七、验证安装 1. **Web界面验证** - NameNode: http://服务器IP:9870 - ResourceManager: http://服务器IP:8088 2. **运行测试任务** ```bash hdfs dfs -mkdir /input hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output hdfs dfs -cat /output/* ``` --- ### 常见问题处理 1. **端口冲突**:检查`netstat -tunlp | grep <端口号>` 2. **权限问题**:确保所有Hadoop目录属主为hadoop用户 3. **日志分析**:查看`$HADOOP_HOME/logs/`目录下的日志文件 按照以上步骤操作,即可完成Hadoop3.1.3伪分布式环境的搭建。建议在操作前做好快照备份,遇到问题可回滚重试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值