Hadoop--HDFS集群架构

Hadoop集群搭建

服务器配置以及JDK的安装

硬件准备
(1)硬件准备

服务器准备:VMware12/10/14
CentOS6.8 下载网址:http://vault.centos.org/

(2)网络环境准备:

NAT方式:不需要做任何网络设置,只要宿主主机上网即可上网
IP地址,子网掩码,网关,DNS(外网)

LINUX系统环境准备:
修改主机名: vim /etc/sysconfig/network
修改HOSTNAME=自定义
reboot
配置主机IP地址:
三种方式:
(1)修改配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改:
BOOTPROTO=改为"static"
添加:
IPADDR=192.168.19.136
NETMASK=255.255.255.0
GATEWAY=192.168.19.2
DNS1=192.168.19.2

(2)图形界面:编辑里设置(修改IP地址,子网掩码,网关,DNS)

(3)setup方式:

在命令终端输入 setup, 选择“Network Configuration” ,然后按回车键,选择“Device Configuration”,按回车键,选中“eth0”,按回车键。
修改完重启网络:serevice network restart
检查:ifconfig

关闭防火墙:

检查防火墙状态:service iptables status
关闭防火墙:service iptables stop
开机不启动:chkconfig iptables off

添加内网域名:

修改配置文件:vim /etc/hosts 格式:IP 主机名

同步网络时间:

修改时区:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步网络时间:ntpdate cn.pool.ntp.org
查看当前时间:date 或者date —R

在root用户下:yum -y install lrzsz

转换为普通用户安装jdk:

(1)准备软件:jdk-8u73-linux-x64.tar.gz
(2)把软件传到 Linux 服务器上去(我的上传目录是/home/theone/Desktop/software)
(3)把软件解包解压缩到当前目录下,使用命令:tar -zxvf jdk-8u73-linux-x64.tar.gz
(4)配置环境变量,使用命令:vim /home/theone/.bash_profile在最后加入两行信息;

	export JAVA_HOME=/home/theone/Desktop/software/jdk1.8.0_73
	export PATH=$PATH:$JAVA_HOME/bin

(5)让配置文件立即生效,使用命令:

	source /home/theone/.bash_profile

(6)检测JDK是否安装成功,

使用命令:java -version
如果检测出java版本信息则配置成功

查看cpu使用状况: free, free -g
关闭虚拟机开启时有界显示:
vim /etc/inittab 最后一行init5改为3 执行init 3 reboot一下

ssh免密登陆

进入普通用户

1 su 普通用户名
2 cd
3 ls -a
4 cd .ssh/
5 ssh-keygen 建立密钥对 默认rsa形式 (ssh-keygen -t 类型)
6 cp id_rsa.pub authorized_keys 将密钥对复制到授权列表
7 chmod 600 authorized_keys 更改为只准自己可读可写的模式
8 scp authorized_keys theone@hadoop01:/home/theone/.ssh/方法一:使用scp远程传输到搭建的服务器上
9 scp authorized_keys hadoop02:$PWD 方法二:相同主机名引用环境变量到服务器相同目录下
10 ssh 主机名 登录到不同的服务器上
11 进入.ssh下
12 ssh-keygen
13 cat id_rsa.pub >> authorized_keys 追加到authorized_keys
14 chmod 600 authorized_keys
15 scp 传输到其他两部虚拟机
16 在另一台虚拟机重复10–15

Hadoop2.6.5-分布式集群搭建

1.集群简介
Hadoop集群:

HDFS集群:
NameNode(老大)
DataNode(小弟)
负责海量数据的存储

YARN集群

YARN集群:ResourceManageer(老大)
NodeManager(小弟)
负责海量数据运算时的资源调度
MapReduce不是一个集群,它是一个应用开发包

集群规划:

	hostname    HDFS        					YARN
	master      NameNode+DataNode(主节点)		NodeManager+ResourceManager
	hadoop01	DateNode+secondarynamenode 		NodeManager
	hadoop02	DateNode 						NodeManager

2.安装包准备(普通用户下)

(1)准备安装包:hadoop-2.6.5.tar.gz
(2)上传到Linux服务器上去(我的上传目录是/home/theone/Desktop/software)
(3)解压:tar -zxvf hadoop-2.6.5.tar.gz

3.主要配置文件讲解

cd Desktop/software/hadoop-2.6.5/etc/hadoop/

1.配置环境变量hadoop_env.sh

vim hadoop-env.sh

jdk路径:/home/theone/Desktop/software/jdk1.8.0_73/

2.配置核心组件core-site.xml

vim core-site.xml

	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/theone/hadoopData/temp</value>
	</property>

3.配置文件系统hdfs-site.xml

Namenode存放元数据和日志位置
DataNode存储数据的目录
数据块副本的数量 最好时虚拟机数量减一
SecondaryNameNode安装节点和默认的web管理端口

vim hdfs-site.xml

	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/home/theone/hadoopData/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/home/theone/hadoopData/data</value>
	</property>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
	<property>
		<name>dfs.secondary.http.address</name>
		<value>hadoop01:50090</value>
	</property>

4.配置计算框架mapred-site.xml

  • 指定使用yarn运行Map Reduce程序,默认为local(单机)

      vim mapred-site.xml
      
      	<property>
      		<name>mapreduce.framework.name</name>
      		<value>yarn</value>
      	</property>
    

5.配置yarn系统 yarn-site.xml

指定yarn集群的老大所在的节点
NodeManager上运行的附属服务,也可以理解为reduce获取数据的方式

	vim  yarn-site.xml
	
		<property>
			<name>yarn.resourcemanager.hostname</name>
			<value>master</value>
		</property>
		<property>
			<name>yarn.nodemanager.aux-services</name>
			<value>mapreduce_shuffle</value>
		</property>

6.配置slaves文件

指定集群中所有DateNode节点

	vim slaves
		master
		hadoop01
		hadoop02

4.分发到从节点

scp -r /home/theone/Desktop/software/hadoop-2.6.5 hadoop01:$PWD
scp -r /home/theone/Desktop/software/hadoop-2.6.5 hadoop02:$PWD

5.配置Hadoop系统环境变量
1.需要在每个节点上都进行配置:

vim  /home/theone/.bash_profile

2.添加Hadoop的安装目录

export HADOOP_HOME=/home/theone/Desktop/software/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

3.立即成效

source  /home/theone/.bash_profile //立即执行
hadoop version	//检查是否安装成功

6.启动Hadoop集群
1.初始化文件系统

该操作需要在主节点master上执行: hdfs namenode -format
出现: has been successfully formatted 表示成功
如果出现: Exception ,出问题

2.启动HDFS集群: start-dfs.sh

3.启动YARN集群: start-yarn.sh

4.验证:
1,执行jps命令:

2,web UI 界面:
查看HDFS集群信息:

web管理界面地址是 http://192.168.19.130:50070
或者 http://master:50070 (windows/system32/drivers/etc/hosts中写入ip和主机名)
namenode节点:50070

查看MapReduce运行状态信息:

web管理界面地址是 http://192.168.19.130:8088
或者 http://hadoop01:8088
ResourceManager的节点: 8088

3.命令验证
查看集群状态:

hdfs dfsadmin -report

检查YARN集群,使用提交 Map Reduce例子程序的方法进行测试

cd Desktop/software/hadoop-2.6.5/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.6.5.jar pi 10 10 

检查HDFS集群,使用命令:

hadoop fs -ls /
hadoop fs -ls hdfs://master:9000/

浏览器进入master:50070 Untilities/Browse the file system

5.补充说明
单步启动进程:

hadoop-daemon.sh start datanode
hadoop-daemon.sh start namenode
hadoop-daemon.sh start secondarynamenode
yarn-daemon.sh start nodemanager
yarn-daemon.sh start resourcemanager

windows下配置主机映射 :

windows/system32/drivers/etc/hosts中写入ip和主机名

HDFS初始化目录结构:

在搭建Hadoop集群时使用如下命令初始化文件系统:
hdfs namenode -format(只是初始化NameNode)

NamdNode在format初始化时形成两个标识:

clusterID:集群ID
blockpoolID:数据块池ID
新的DateNode加入时,会获取这两个标识作为自己工作目录中的标识

NameNode工作目录的VERSION内容: cat VERSION

对应的DateNode工作目录中的VERSION内容:
cd hadoopData/data/current/
ls
cat VERSION
一旦NameNode重新format后, NameNode 的身份标识已变,而 DataNode 如果依然持有原来的 clusterID,就不会被 NameNode 识别。

6,多次格式化的结果: DataNode启动不成功。解决分案:

方法一:删除所有节点的NameNode和DataNode工作目录,重新格式化
方法二:将DataNode工作目录中的clusterID修改成NameNode工作目录中的clusterID,之后启动DataNode

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值