Hadoop生态圈(二)超详细hadoop完全分布式搭建教程

1.今天分享一下之前搭建hadoop完全分布式时整理的干货,话不多说。

2.来看一下搭建规划
(1) Hadoop分布式集群规划
机器名(hostname)  机器IP 用途 描述:

node1 192.168.1.xxx 主节点 64位CentOS7,jdk1.8
node2 192.168.1.xxx 从节点1 64位CentOS7,jdk1.8
node3 192.168.1.xxx 从节点2 64位CentOS7,jdk1.8

3 实验描述
本实验以3个节点的集群为例,详细介绍Hadoop完全分布式集群搭建过程。

4 实验步骤
4.1 Hadoop完全分布式集群搭建步骤
(1) 集群中每个节点关闭防火墙
查看防火墙状态的命令:systemctl status firewalld
关闭防火墙的命令:
systemctl stop firewalld
systemctl disable firewalld
(2) 集群中每个节点关闭selinux
查看selinux状态的命令:sestatus
临时关闭selinux,不用重启机器,命令如下:
setenforce 0
在配置文件中永久关闭,需要重启机器:
vim /etc/sysconfig/selinux
下面为selinux文件中需要修改的元素:
SELINUX=disabled
(3) 修改三个节点主机名分别为node1、node2和node3,并配置主机名和ip地址的映射

  • 下面以node1为例介绍过程
    临时修改主机名的命令:
    hostname node1
    配置文件永久修改主机名:
    vim /etc/hostname
    下面为network配置文件中需要修改的元素:
    HOSTNAME=node1
    配置3个节点的主机名与IP地址的映射:
    vim /etc/hosts
    主机1ip地址 node1
    主机2ip地址 node2
    主机3ip地址 node3

(4) 配置SSH免密码登录
先每个节点免密码登陆本机:
执行以下命令产生密钥,位于/root/.ssh目录
ssh-keygen –t rsa
执行以下拷贝命令,创建密钥文件authorized_keys
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
验证:
执行命令:ssh localhost 登录主机
执行命令:exit 退出连接
多个节点两两之间实现免密码登录
使用ssh-copy-id 命令,将其他节点公钥拷贝到其中一个节点,使该节点的authorized_keys文件中包含其他各节点的公钥。
#ssh-copy-id -i node1
使用scp命令将node1节点的authorized_keys拷贝到其他节点:
#scp /root/.ssh/authorized_keys nodeX:/root/.ssh
测试
#ssh 主机名

(5) 每个节点安装配置JDK1.8
检查JDK是否已安装:java –version
jdk1.8的安装:下载好的jdk安装包放在虚拟机的/share/bigdata/jdk目录下
将安装包拷贝到/usr/local目录下
cp /share/bigdata/jdk/jdk-8u112-linux-x64.tar.gz /usr/local
tar zxvf jdk-8u112-linux-x64.tar.gz //解压jdk
mv jdk1.8.0_112 jdk //文件夹换成短名
设置环境变量:
vim /etc/profile #编辑此文件,增加2行内容

export JAVA_HOME=jdk的安装路径
export PATH=.:$JAVA_HOME/bin:$PATH
**执行以下命令,使设置立即生效**

source /etc/profile
(6) 每个节点安装配置Hadoop
进入hadoop的存放目录,解压hadoop
tar zxvf hadoop-2.7.3.tar.gz #解压安装包
mv hadoop-2.7.3 hadoop #改为短名
设置环境变量:
vim /etc/profile #编辑此文件,增加2行内容

export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置解释:

  • bin: 系统的一些指令
  • sbin: 超级用户指令系统管理命令,这里存放的是系统管理员使用的管理程序

执行以下命令,使设置立即生效
source /etc/profile
修改Hadoop配置文件,这些配置文件都放在/usr/local/hadoop/etc/hadoop目录下(共5个)

1)修改./etc/hadoop/hadoop-env.sh 文件,配置jdk的路径

export JAVA_HOME= jdk实际安装路径

2)修改yarn-env.sh 文件,配置jdk的路径

 export JAVA_HOME=jdk实际安装路径

3)修改 core-site.xml文件



fs.defaultFS
hdfs://主节点主机名:8020


  hadoop.tmp.dir
  /usr/local/hadoop/tmp



4)修改配置文件 hdfs-site.xml


    
        dfs.replication
        3
    

5)修改配置文件 mapred-site.xml



    mapreduce.framework.name
    yarn




6修改./ etc/hadoop/yarn-site.xml



    yarn.nodemanager.aux-services
    mapreduce_shuffle


  yarn.resourcemanager.address
  主节点主机名:8032


  yarn.resourcemanager.scheduler.address
  主节点主机名:8030


  yarn.resourcemanager.resource-tracker.address
  主节点主机名:8031


  yarn.resourcemanager.admin.address
  主节点主机名:8033


  yarn.resourcemanager.webapp.address
  主节点主机名:8088


将hadoop分发到子节点

scp  -r  /usr/local/hadoop/ slave1:/usr/local/hadoop
scp  -r  /usr/local/hadoop/ slave2:/usr/local/hadoop

修改主节点的hadoop安装目录下etc/hadoop/slaves文件,将从节点主机名配置到slaves文件,文件内容如下:
node2
node3
这一步只在主节点修改!!!!!!!!

4.2 配置并启动HDFS
(1) 格式化HDFS
hdfs namenode -format
(2) 启动HDFS并验证
start-dfs.sh
(3)查看HDFS是否启动
jps
通过jps命令查看java进程:如果主节点上启动了NameNode、SecondaryNameNode两个进程,从节点上启动了DataNode进程,说明HDFS启动成功。
访问NameNode Web UI
访问地址:http://localhost:50070/
4.3 配置并启动Yarn+Mpareduce2
启动Yarn+MapReduce2
start-yarn.sh
查看Yarn+MapReduce2是否启动
jps
通过jps命令查看java进程:如果主节点上启动了ResourceManager进程,从节点上启动了NodeManager进程,说明MapReduce启动成功。
访问ResourceManager Web UI
访问地址:http://node1:8088/
执行命令jps查看java进程,运行在主节点的有以下3个:
NameNode,SecondaryNamenode ,ResourceManager
运行在从节点的进程有2个:
DataNode、NodeManager

5 部署总结
Hadoop核心组件HDFS、Yarn+Mapreduce的组成;
Hadoop集群的规划;
Hadoop集群的安装部署过程;
Hadoop集群的启动、关闭、监控等操作。

你可能感兴趣的:(hadoop生态圈,大数据平台)