CentOS 7上基于完全分布式模式部署Hadoop

                                                                                             

目录

一、创建虚拟机

二、克隆虚拟机

三、配置虚拟机

3.1配置ip映射

3.2配置虚拟机ssh远程登陆及免密登陆

3.2.1修改ssh配置文件

3.2.2在xshell中进行连接

3.2.3配置虚拟机ssh免密登陆功能

四、安装jdk与hadoop

4.1从某些镜像网站上下载jdk1.8与hadoop的压缩包(这里我用的是hadoop3.2.4版本的、可以从清华大学镜像网站上下载这些资源)

4.2解压hadoop与jdk

​编辑

五、修改hadoop配置文件实现基于完全分布式模式

5.1配置hadoop运行时环境

5.2分发hadoop安装目录及环境变量

5.3格式化

5.4、启动


一、创建虚拟机

根据自己的需求设置磁盘大小

二、克隆虚拟机

以下是我克隆好的图片及克隆步骤 

结果:

三、配置虚拟机

3.1配置ip映射

分别在虚拟机Hadoop1、Hadoop2和Hadoop3执行“vi /etc/hosts”命令编辑映射文件hosts,在配置文件中添加如下内容:(注意:ip地址是 自己电脑上的)

192.16.13.12 Hadoop1 Hadoop1.hadoop.com
192.16.13.13 Hadoop2 Hadoop2.hadoop.com
192.16.13.14 Hadoop3 Hadoop3.hadoop.com

3.2配置虚拟机ssh远程登陆及免密登陆

在虚拟机中,分别执行“rpm -qa | grep ssh”和“ps -ef | grep sshd”命令,查看当前虚拟机是否安装了SSH服务,以及SSH服务是否启动。

如果虚拟机中没有安装ssh服务则:

输入命令安装:sudo apt-get install openssh-server(虚拟机版本不一样命令也不一样)

启动ssh服务:sudo service ssh start

3.2.1修改ssh配置文件

非必须要修改:

分别在hadoop1与hadoop2、hadoop3 在虚拟机Hadoop2中执行“vi /etc/ssh/sshd_config”命令编辑配置文件sshd_config。

改为PermitRootLogin yes

重启SSH服务 systemctl restart sshd

3.2.2在xshell中进行连接

输入主机ip:

输入用户名密码:

连接成功:

3.2.3配置虚拟机ssh免密登陆功能

在虚拟机Hadoop1中执行“ssh-keygen -t rsa”命令,生成密钥

复制公钥文件

ssh-copy-id hadoop1

ssh-copy-id hadoop2

ssh-copy-id hadoop3

之后再测试免密登陆 第一次输入命令可能需要密码 

确保他们直接跳转的时候不需要密码

四、安装jdk与hadoop

4.1从某些镜像网站上下载jdk1.8与hadoop的压缩包(这里我用的是hadoop3.2.4版本的、可以从清华大学镜像网站上下载这些资源)

下载完成都上传到linux虚拟机上(:要使用专门的软件上传例如Xftp 7,不能直接复制到虚拟机中,否则会后续可能会报错。)

结果:

4.2解压hadoop与jdk

将jdk解压到了 /hmzfy/servers/文件夹中

tar -zxvf jdk-8u241-linux-x64.tar.gz -C /hmzfy/servers/

在虚拟机Hadoop1执行“vi /etc/profile”命令编辑环境变量文件profile,在该文件的底部添加配置JDK系统环境变量

export JAVA_HOME=/hmzfy/servers/jdk1.8.0_241

export PATH=$PATH:$JAVA_HOME/bin

初始化系统环境变量source /etc/profile

将hadoop解压到文件 /hmzfy/servers/hadoop  注意压缩包的位置

tar -zxvf /software/hadoop-3.2.4.tar.gz -C \ /hmzfy/servers/hadoop

配置环境变量同上 打开vi /etc/profile
export JAVA_HOME=/hmzfy/servers/jdk1.8.0_241
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

查看jdk与hadoop时候 下载成功

4.3分别在hadoop1、2、3上关闭防火墙

暂时关闭:systemctl stop firewalld

永久关闭:systemctl disable firewalld

五、修改hadoop配置文件实现基于完全分布式模式

5.1配置hadoop运行时环境

在虚拟机Hadoop1的/hmzfy/servers/hadoop/etc/hadoop/目录,执行“vi hadoop-env.sh”命令,在hadoop-env.sh文件的底部添加如下内容

注意 如果没能成功打开目录那你是以上的目录名写错了可以直接点开目录查看,如果觉得jdk1.8.0_241名字太长可以修改一下文件夹的名字

export JAVA_HOME=/hmzfy/servers/jdk1.8.0_241

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

在虚拟机Hadoop1的/hmzfy/servers/hadoop/etc/hadoop/目录,执行“vi core-site.xml”命令添加如下内容

<property>    

<name>fs.defaultFS</name>  

  <value>hdfs://hadoop1:9000</value>

</property>

<property>    

<name>hadoop.tmp.dir</name>  

  <value>/hmzfy/data/hadoop-3.3.0</value>

</property>

<property>  

 <name>hadoop.http.staticuser.user</name>

 <value>root</value>

</property>

<property>    

<name>hadoop.proxyuser.root.hosts</name>  

  <value>*</value>

</property>

<property>    

<name>hadoop.proxyuser.root.groups</name>  

  <value>*</value>

</property>

<property>    

<name>fs.trash.interval</name>  

  <value>1440</value>

</property>

配置HDFS

在虚拟机Hadoop1的/hmzfy/servers/hadoop/etc/hadoop/目录,执行“vi hdfs-site.xml”命令添加如下内容。

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>    

<name>dfs.namenode.secondary.http-address</name>  

  <value>hadoop2:9868</value>

</property>

配置MapReduce

在虚拟机Hadoop1的/hmzfy/servers/hadoop/etc/hadoop/目录,执行“vi mapred-site.xml”命令添加如下内容。

<property>    

<name>mapreduce.framework.name</name>  

  <value>yarn</value>

</property>

<property>    

<name>mapreduce.jobhistory.address</name>  

  <value>hadoop1:10020</value>

</property>

<property>  

 <name>mapreduce.jobhistory.Webapp.address</name>     <value>hadoop1:19888</value>

</property>

在虚拟机Hadoop1的/hm/servers/hadoop/etc/hadoop/目录,执行“vi yarn-site.xml”命令添加如下内容

<property>    

<name>yarn.resourcemanager.hostname</name>

    <value>hadoop1</value>

</property>

<property>  

  <name>yarn.nodemanager.aux-services</name>    

<value>mapreduce_shuffle</value>

</property>

<property>    

<name>yarn.nodemanager.pmem-check-enabled</name>  

  <value>false</value>

</property>

配置Hadoop从节点服务器

在虚拟机Hadoop1的/hmzfy/servers/hadoop/etc/hadoop/目录,执行“vi workers”命令,将workers文件默认的内容修改为如下内容。

hadoop2

hadoop3

5.2分发hadoop安装目录及环境变量

使用scp命令

scp -r /hmzfy/servers/hadoop root@hadoop2:/hmzfy/servers/

scp -r /hmzfy/servers/hadoop root@hadoop3:/hmzfy/servers/

scp /etc/profile root@hadoop2:/etc

scp /etc/profile root@hadoop3:/etc

5.3格式化

在虚拟机Hadoop1执行“hdfs namenode -format”命令,对基于完全分布式模式部署的Hadoop进行格式化HDFS文件系统的操作

5.4、启动

在hadoop安装目录下执行

启动:sbin/start-all.sh

关闭:sbin/stop-all.sh

博主制作文章需要付出巨大的努力和心血制作不易!!如果对你有帮助的话 不妨点个赞噢!
博主渴望读者的关注和赞赏,因为这是对他们辛勤工作的最好认可和鼓励。

博主希望读者能够欣赏他们的专业知识和独到见解,同时也希望读者能够积极参与讨论,分享自己的看法和经验
文章中也有许多不足之处但希望能帮助大家获取些经验,大家可根据自己的需求自行学习安装 

  • 48
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将CentOS 7上的Hadoop配置为完全分布式模式,您需要执行以下步骤: 1. 配置网络:确保每台机器都能相互访问,并且可以通过主机名进行通信。您可以使用静态IP或DNS解析来实现。 2. 安装Java:确保每台机器上都安装了Java Development Kit(JDK)。Hadoop需要Java来运行。您可以从Oracle官网下载JDK并按照它们的安装说明进行安装。 3. 安装Hadoop:从Apache Hadoop官方网站下载适用于CentOS 7的Hadoop二进制包。解压缩下载的文件并将其放在每台机器的相同目录下。 4. 配置Hadoop环境变量:编辑每台机器上的`~/.bashrc`文件,并添加以下行来设置Hadoop的环境变量: ```bash export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$HADOOP_HOME/bin ``` 然后运行`source ~/.bashrc`命令以使更改生效。 5. 配置Hadoop集群:编辑每台机器上的`$HADOOP_HOME/etc/hadoop/core-site.xml`文件,并设置以下属性: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://namenode_hostname:9000</value> </property> </configuration> ``` 在上述配置中,将`namenode_hostname`替换为您的NameNode的主机名。 6. 配置HDFS:编辑每台机器上的`$HADOOP_HOME/etc/hadoop/hdfs-site.xml`文件,并设置以下属性: ```xml <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration> ``` 这将设置HDFS的副本数为3。您可以根据需要进行调整。 7. 配置YARN:编辑每台机器上的`$HADOOP_HOME/etc/hadoop/yarn-site.xml`文件,并设置以下属性: ```xml <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>resourcemanager_hostname</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` 将`resourcemanager_hostname`替换为您的ResourceManager的主机名。 8. 配置Hadoop节点:在每台机器上,编辑`$HADOOP_HOME/etc/hadoop/slaves`文件,并将其设置为包含所有数据节点的主机名或IP地址。 9. 格式化HDFS:在NameNode上执行以下命令以格式化HDFS: ```bash hdfs namenode -format ``` 10. 启动Hadoop集群:在NameNode上执行以下命令以启动Hadoop集群: ```bash start-dfs.sh start-yarn.sh ``` 这将启动HDFS和YARN。 11. 验证配置:通过访问Hadoop管理界面或执行一些MapReduce任务来验证Hadoop配置是否正确。 请注意,以上步骤是一个基本的指南,您可能需要根据您的特定环境和需求进行调整。确保在执行任何更改之前备份您的配置文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值