二:hadoop环境准备和集群搭建详细版,亲测可用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26963433/article/details/89916918

二:hadoop集群搭建

1:Hadoop集群简介绍

hadoop集群具体包含两个集群,HDFS集群和YARN集群,两者逻辑上分离,但是物理上关联

HDFS集群负责海量数据的存储,其主要角色有

NameNode. DateNode SecondaryNameNode

YARN集群负责海量数据运算时的资源调度,集群中的角色主要有:

ResoureeManager,NodeManager

mapreduce其实是一个分布式运算编程框架,是应用程序开发包,由用户按照编程规范进行程序开发,打包运行在HDFS集群上,并且受到YARN集群的资源调度管理.

2:hadoop部署方式分为三种

1:独立模式

独立模式又称为单机模式,仅一个机器运行1个Java进程,主要用于调试.

2:伪分布模式

在一台机器上运行HDFS的NameNode和DateNode,Yarn的resourceManger和NodeManager,但分别启动单独的Java进程,主要用于调试

3:集群模式

主要用于生产环境的部署,会使用N太主机组成一个hadoop集群,这种部署模式下,主节点和从节点分开部署在不同的机器上

我们以3节点为例进行搭建,角色分配如下:

node-01 NameNode DataNode ResourceManager

node-02 DataNode NodeManaeer SecondaryNameNade

node-03 DataNode NodeManager

3:集群搭建环境准备

1服务器环境:

VMvare Workstation 10

centos 6.5

2:网络环境

采用NAT方式联网

确保各个服务器都能访问外网,如果不能访问,将无法同步服务器系统的网络时间

3:服务器系统设置

1:手动同步集群各个服务器时间

date -s '2019-04-30 10:56:00'

2:网络同步时间

yum install ntpdate

ntpdate cn.pool.ntp.org

3:设置主机名

vi /etc/sysconfig/network

4:host文件配置IP和主机名映射

vi /etc/hosts

192.168.72.129 server2 #应用服务器2

192.168.72.130 server3 #应用服务器3

192.168.72.132 server4 #应用服务器4

需要注释掉,不然就会显示一个本地节点

5:免密登录

ssh-keygen -t rsa 生成ssh免密登录秘钥

ssh-copy -id server3 将公钥拷贝到要免密登录的目标机器上

6:关闭防火墙

1:查看防火墙状态

service iptables status

2:关闭防火墙

service iptables stop

3:查看防火墙开机启动状态

chkconfig iptables --list

4:关闭防火墙开机启动

chkconfig iptables off

7:JDK的安装

java-version 查看

java/javac

4:hadoop集群编译

      1:为什么需要编译

程序当中有一部分跟系统环境息息相关,文件的读写win还是Linux64或者32,要结合具体的系统环境下载源码进行编译

当需要自定义源码当中的某些组件的时候,需要修改源码,然后要重新编译成安装包

     2:hadoop安装目录

三:hadoop配置文件的修改

1:配置文件路径

hadoop配置文件路径

/root/apps/hadoop-2.6.4/etc/hadoop

jdk的安装路径

/usr/local/jdk1.7.0_45/bin/java

2:配置文件修改

1:修改配置文件:hadoop-env.sh

配置JDK的环境变量

2:修改配置文件core-site.xml

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://server2:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

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

<value>/home/hadoop/hdpdata</value>

</property>

hadoop核心配置,指定hadoop所使用的文件系统schema(uri),HDFS的老大NameNode的地址.

指定hadoop运行时产生文件的存储目录

3:修改hdfs-site.xml配置文件副本数量

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

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

<value>serve2:50090</value>

</property>

4:修改配置文件mapred-site.xml

指定mapreduce运行时框架,这里指定在yarn上,默认是local

<property>

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

<value>yarn</value>

</property>

5:修改yarn-site.xml配置文件

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

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

<value>server2</value>

</property>

<!-- reducer获取数据的方式 -->

<property>

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

<value>mapreduce_shuffle</value>

</property>

6:修改slaves文件

3:将hadoop添加到环境变量

vi /etc/profile

四:集群远程拷贝安装与格式化和启动

1:远程拷贝hadoop安装目录

scp -r /root/apps/hadoop-2.6.4/ root@server3:/root/apps/

2:拷贝环境变量配置文件

scp -r /etc/profile root@server3:/etc/

3:格式化

1:首次启动需要进行格式化

2:格式化本质是进行文件系统的初始化操作,创建一些自己需要的文件

3:格式化之后,集群启动成功,后续再也不需要进行格式化了

4:格式化本质是一些清理和准备工作,因此此时的HDFS在物理上还是不存在的

5:格式化操作在hdfs集群的主角色(server2)所在的机器上操作

格式化命令

hdfs namenode -format 或者

hadoop namenode -format

4:hadoop的启动

目录

cd apps/hadoop-2.6.4/sbin/

1:单节点启动

1:在主节点上使用以下命令启动HDFS NameNode;

hadoop-daemon.sh start namenode

2:在每个节点上使用以下命令启动HDFS DataNode;

hadoop-daemon.sh start datanode

3:在主节点上使用以下命令启动YARN ResourceManager;

yarn-daemon.sh start resourceManager

4:在每个从节点使用以下命令启动YARN nodemanager

yarn-daemon.sh start nodemanager;

以上脚本位于hadoop_home/sbin目录下,如果想要停止某个节点上某个角色,只需要把命令中的start改为stop即可

2:脚本一键启动

如果配置了 /root/apps/hadoop-2.6.4/etc/hadoop/slaves和免密登录,则可以使用脚本启动所有的hadoop两个集群的相关进程,在主节点设定机器上执行

hdfs

$HADOOP_PREFIX/sbin/start-dfs.sh

start-dfs.sh

yarn

$HADOOP_PREFIX/sbin/start-yarn.sh

start-yarn.sh

然后在主服务器上jps

然后在从服务器server3上jps

然后在从服务器server4上jps

3:hadoop的访问

http://192.168.72.129:50070

猜你喜欢

转载自blog.csdn.net/qq_26963433/article/details/89916918
今日推荐