Hadoop集群环境搭建(虚拟机模拟集群)

一、Hadoop集群规划

主机名:映射配置之后 Hadoop软件版本 运行进程
node01 原生hadoop-2.7.2 nameNode、resourceManager、secondary namenode
node02 原生hadoop-2.7.2 dataNode、nodeManager 两者要放在同一台机器,重叠在一块
ndoe03 原生hadoop-2.7.2 dataNode、nodeManager

二、集群安装步骤

前情提示,为了方便实际环境中我以root用户操作的,而实际环境中必须要创建新的用户来操作,避免造成重大问题,误删系统文件等

1、准备三台虚拟机,centos(6或者7),此处我用的centos7

centos_node01
centos_node02
centos_bode03
注意:三台机器使用root用户登录系统。

2、修改主机名(hostname)

vi /etc/hostname
删除原内容,直接填入要修改位的主机名node1,node2,node3  三台均修改

3、配置网卡信息

# 编辑网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33

#修改内容为:三台均修改,根据虚拟机NAT网络设置
在这里插入图片描述

4、修改三台机器的IP映射(hosts)

vi /etc/hosts

在这里插入图片描述

5、为每台机器创建一个新的hadoop用户

# 添加hadoop用户
useradd hadoop 

# 给hadoop用户设置密码
passwd hadoop

6、给每台机器的hadoop用户配置sudo权限

# 在root用户下修改sudoers文件的权限(修该只读为读写)
chmod -R  u+w /etc/sudoers

#在root用户下编辑sudoers文件
vi /etc/sudoers

在这里插入图片描述

7、关闭每台机器的防火墙

#以centos7为基础
#关闭防火墙
systemctl stop firewalld

#关闭防火墙开机自启
systemctl disable firewalld

8、设置三台机器之间免密登录

8.1、免密码登录的原理图示在这里插入图片描述

8.2、设置免密码登录具体步骤

# 1、首先安装ssh客户端
yum -y install openssh*

# 2、安装完成后生成公钥,每台都作为服务器生成一遍
ssh-kengen  #首次生成需要三次回车,不是首次生成需要验证是否覆盖原公钥
# 3、拷贝公钥,每台都作为服务器将自己的公钥拷贝给其他客户端用于保存
ssh-copy-id hadoop@node01
ssh-copy-id hadoop@node02
ssh-copy-id hadoop@node03

9、安装jdk

解压到指定路径,修改环境变量,source /etc/profile 即可

10、安装hadoop软件(均以hadoop用户来)

10.1 解压hadoop原生安装包

# 创建目录
mkdir  -p  /software
# 解压
tar -zxvf /packages/hadoop-2.7.2.tar.gz -C /software/
#修改环境变量
vi /etc/profile
export HADOOP_HOME=/software/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

10.2、修改hadoop-env.sh配置文件 (三台机器均配置)

#进入hadoop的配置文件目录
cd /software/hadoop-2.7.2/etc/hadoop
#vi hadoop-env.sh
添加jdk的环境变量

10.3、设置core-site.xml配置文件

# 创建临时目录
mkdir -p /software/hadoop-2.7.2/tmp
# vi core-site.xml 

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://node01:8020</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/software/hadoop-2.7.2/data</value>
        </property>
</configuration>

10.4 设置hdfs-site.xml配置文件

# vi hdfs-site.xml
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>2</value>  #副本数量
        </property>
</configuration>

10.5、设置mapred-site.xml配置文件

# vi mapred-site.xml  #配置hadoop任务跑在yarn集群上

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

10.6、设置yarn-site.xml配置文件

# vi yarn-site.xml   #设置resourcemanager总资源调度器进程运行所在节点,并设置nodemanager服务

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>node01</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

10.7、配置slaves文件

vi slaves #添加以下内容
node02
node03

10.8 、使用scp命令将配置好的hadoop安装包远程分发到其他节点

#远程分发
scp -r /software/hadoop-2.7.2 hadoop@node02:/software
#修改环境变量 , 三台均修改
vi /etc/profile 

11、第一次启动集群

11.1、格式化HDFS

hdfs dfs namenode -format   #在node01节点执行该命令
或者hadoop namenode -format 也可以

11.2 、启动hdfs集群 ,在node01节点上,前提是要三台要设置时间同步

设置时间同步
date -s 'yyyy-mm-dd HH:MM:SS'
hwclock -h #写入硬件

start-dfs.sh
jps查看是否有namenode进程
jps查看从节点是否有datanode进程

11.3、启动yarn集群

start-yarn.sh
同样使用jps查看进程
主节点:resourcemanager
从节点:nodemanager

12、查看集群web端口(windows下使用浏览器,推荐Google,并且修改Windows下的hosts ip映射文件)

# hdfs集群
node01:50070

#yarn集群
node0:8088

13、高可用配置

链接博文:

猜你喜欢

转载自blog.csdn.net/murphyZ/article/details/88570243