完全分布式Hadoop环境搭载

创建hadoop201虚拟机

1:克隆一台空白虚拟机,并且命名为Hadoop201

在这里插入图片描述

2:修改修改虚拟机的MAC地址

进入虚拟机,登陆root用户,打开终端输入

#vim /etc/udev/rules.d/70-persistent-net.rules

在这里插入图片描述
删除第一行,将第二行的NAME=“eth1”,改为"eth0",复制ATTR地址。
在这里插入图片描述

3:修改IP地址

在终端输入

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

在这里插入图片描述
第一个箭头粘贴ATTR地址
第二个箭头改成 201

4:重启网卡

执行命令:
# service network restart

5:修改主机名

执行命令:
# vim/etc/sysconfig/network


修改文件中主机名称
HOSTNAME=hadoop201


打开/etc/hosts
# vim /etc/hosts


添加如下内容:
192.168.17.201 hadoop201
192.168.17.202 hadoop202
192.168.17.203 hadoop203

重启设备:
# reboot

修改 windows系统中的 hosts 文件,能在windows系统终端中ping通hadoop201,hadoop202,hadoop203
进入 C:\Windows\System32\drivers\etc 路径,打开 hosts 文件并添加如下内容:
192.168.17.201 hadoop201
192.168.17.202 hadoop202
192.168.17.203 hadoop203

6:关闭防火墙

关闭防火墙:
# chkconfig iptables off

7:在opt目录下创建文件夹

创建hadoop用户
# adduser hadooop
# passwd hadoop


hadoop用户具有root权限
# vi /etc/sudoers

root    ALL=(ALL)      ALL
hadoop  ALL=(ALL)      ALL     (添加这一行)

强制保存
:wq!  


在 root 用户下创建 module、software 文件夹    
# cd /opt
# mkdir module
# mkdir software

修改 module、software 文件夹的所有者
# chown hadoop:hadoop module 
# chown hadoop:hadoop software
# ls -al

8:安装jdk

1.将 jdk、Hadoop-2.7.6.tar.gz导入到 opt 目录下面的 software 文件夹下面

2.在 linux 系统下的opt 目录中查看软件包是否导入成功。
# cd /opt/software 
# ls

3.解压 jdk 到/opt/module目录下
# tar -zxvf jdk1.8.0_162.tar.gz -C /opt/module/

4.配置 jdk 环境变量
# cd /opt/module/jdk1.8.0_162
# pwd
复制jdk路径

5.打开/etc/profile文件:
# vi /etc/profile 
在profie文件末尾添加jdk路径 : 
export JAVA_HOME=/opt/module/jdk1.8.0_162 
export PATH=$PATH:$JAVA_HOME/bin
保存后退出

6.让修改后的文件生效:
# source /etc/profile

7.测试 jdk 安装成功
# java -version 

9:安装Hadoop

1.进入到Hadoop 安装包路径下:
# cd /opt/software/ 

2.解压安装文件到/opt/module 下面
# tar -zxf hadoop-2.7.6.tar.gz -C /opt/module/

3.hadoop 添加到环境变量
获取 hadoop 安装路径:
# cd /opt/module/hadoop-2.7.6
# pwd
打开/etc/profile 文件:
# vi /etc/profile 
在 profie 文件末尾添加 hadoop 路径:
export HADOOP_HOME=/opt/module/hadoop-2.7.6 
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 
保存后退出
:wq

4.让修改后的文件生效:
# source /etc/profile

通过hadoop201克隆出hadoop202,hadoop203

克隆出hadoop202和hadoop203后,重复上述2,3,4,5步骤

给三台虚拟机之间SSH免密码登录

1.进入到我的 home 目录
# cd ~

2.生成公钥和私钥:
# ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)

3.将公钥拷贝到要免密登录的目标机器上
# ssh-copy-id hadoop201
# ssh-copy-id hadoop202
# ssh-copy-id hadoop202

三台虚拟机进行同样的操作

配置文件

进入/opt/module/hadoop-2.7.6/etc/hadoop目录下,查看有哪些配置文件

# cd /opt/module/hadoop-2.7.6/etc/hadoop
# ll
1.# vi core-site.xml

<!-- 指定HDFS 中 NameNode 的地址 -->
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hadoop203:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/module/hadoop-2.7.6/data/tmp</value>
</property>




2.# vi hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_162




3.# vi hdfs-site.xml

<property>
	<name>dfs.replication</name>
	<value>3</value>
</property>
<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>hadoop202:50090</value>
</property>



4.# vi slaves

hadoop201
hadoop202 
hadoop203



5.# vi yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_162




6.# vi yarn-site.xml

<!-- reducer 获取数据的方式 -->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoop201</value>
</property>




7.vi mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_162




8.vi mapred-site.xml

<!-- 指定 mr 运行在 yarn 上 -->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

进入hadoop202,hadoop203进行同样的操作,配置文件

集群启动及测试

启动集群

1.如果集群是第一次启动,需要格式化 namenode
hadoop203上执行:
# bin/hdfs namenode -format

2.启动HDFS:
hadoop203上执行
# sbin/start-dfs.sh 

3.启动 yarn
hadoop201上执行:
# sbin/start-yarn.sh

查看集群jps

看三台虚拟机的进程分布是否合理,否则重新配置文件。在这里插入图片描述
知识共享许可协议
本作品采用知识共享署名 4.0 国际许可协议进行许可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值