Hadoop学习--------hadoop基础以及完全分布式的搭建

关注与Hadoop解决的问题

Hadoop是Apache专为离线和大规模数据分析而设计的开源软件,是可靠的、分布式的、可伸缩的

Hadoop主要就就是解决存储和计算两个问题(分布式存储和分布式计算)个人理解应该是基于庞大的简便的扩容机制,众多的slave节点同时处理数据。

centos系统下搭建Hadoop完全分布式模式:

  1. 启动4台虚拟机,修改主机名分别为centos00,.centos01,centos02,centso03,并且在centos00中配置hosts,分别将centos01,centos02,centos03添加到hosts文件中

其中centos00配为NN(nameNode)3台DN(dataNode)

  2 配置centos00与其它机的无密登陆,在centos0上生成公私密钥对 

  首先查看虚拟机有没有sshd守护进程,存在然后执行生成命令

[[email protected] /home/mc/.ssh]$ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

  3.执行命令将生成两个密钥文件分别为私钥存于服务器,pub公钥追加到authorized_keys文件并分发到其它机器

[[email protected] /home/mc/.ssh]$cat id_rsa.pub >> authorized_keys

4.通过scp 或者 rsync 命令将authorized_keys分别分发到到centos01 02 03的~/.ssh目录下、通过SSH 主机名 连接测试是否成功,(无需输入密码)

备注,如果没成功 需要查看你authorized_keys的权限是否为644,如果不是请将权限改为644

chmod 644 authorized_keys)

5.配置成功之后开始安装Hadoop,去官网下载tar.gz安装包,地址--Hadoop下载地址,点击Binary download,另hadoop需要jdk环境所以保证所有机器都安装有JDK,并配置好全局

6.创建目录 /soft 用于存放Hadoop,下载完成安装包,执行解压命令

[[email protected] /soft]$tar -zxvf hadoop-2.7.2.tar.gz /soft/

7。创建Hadoop软连接 

[[email protected] /soft]$ln -s /soft/hadoop-2.7.2  hadoop

8.编写/etc/profile 配置Hadoop环境变量,执行 hadoop version 显示版本信息为成功

9.Hadoop几大组建 common  HDFS MR(mapReduce)  yarn 因此要配置几个模块的配置文件 在/soft/hadoop/etc/下分别为core-site.xml。hdfs-site.xml,mapred-site.xml(从template复制一份出来),yarn-site.xml

a)编辑core-site.xml
	<?xml version="1.0"?>
	<configuration>
		<property>
			<name>fs.defaultFS</name>
			<value>hdfs://centos00/</value>
		</property>
	</configuration>
b)编辑hdfs-site.xml
	<?xml version="1.0"?>
	<configuration>
		<property>
			<name>dfs.replication</name>
			<value>3</value>
		</property>
	</configuration>
c)编辑mapred-site.xml
	注意:cp mapred-site.xml.template mapred-site.xml
	<?xml version="1.0"?>
	<configuration>
		<property>
			<name>mapreduce.framework.name</name>
			<value>yarn</value>
		</property>
	</configuration>
d)编辑yarn-site.xml
	<?xml version="1.0"?>
	<configuration>
		<property>
			<name>yarn.resourcemanager.hostname</name>
			<value>centos00</value>
		</property>
		<property>
			<name>yarn.nodemanager.aux-services</name>
			<value>mapreduce_shuffle</value>
		</property>
	</configuration>

10.配置完成之后 将整个soft文件分别分发到centos01 centos02 centos03上 (这里必须要用rsync命令,因为有软连接)

[[email protected] /$rsync -avzl soft [email protected]:/

11 配置完之后,配置hadoop中数据节点,编辑/soft/hadoop/etc/hadoop/slaves 文件 将其它数据节点主机名称写入


12。基本配置就完成了,在启动hadoop之前,先格式化名称节点

[[email protected] /$hadoop namenode -format

13。启动所有j进程(或者单独使用start-dfs.sh + start-yarn.sh)

[[email protected] /$start-all.sh

 14。查看进程 可以编写简易shell脚本查询

#!/bin/bash

[email protected]
host=0
for(( host = 0 ;host <= 3 ; host = $host +1 ));
do 
echo ======centos0$host $param=======
	ssh centos0$host  $param
done;

15. 执行到这,就算搭建完成了。

过程中如果遇到问题,首先查看权限 以及用户 问题。启动时遇到问题去查看hadoop问下下log日志,启动信息以及错误信息都在日志中有体现

16。web页面验证 访问50070端口 查看是否安装成功(注意防火墙端口限制) 8020是对外的端口

17 查看dataNodes 是否成功连接 admin state状态为In Service则成功(Decommissioned是做了节点退役)Last contact表示心跳检测,数值一般在0-3 大于3则为超时。

 


更多精彩内容