Hadoop 2.x 的安装和配置

支持32位系统, 64位系统需要编译源码


一  准备阶段

1、系统:CentOS 32位

2、关闭防火墙和SELinux


关闭防火墙
service iptables status
service iptables stop
chkconfig iptables off  永久关闭


禁用SELINUX
vi /etc/sysconfig/selinux          
设置 SELINUX=disabled


3、 设置静态IP地址
vi  /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR

注:如果是复制wmware的虚拟机,需要更改Mac地址
1) 通过VMWare -> Edit -> Virtual Network Editor打开如下对话框,列表中选中VMnet8 NAT那一行,
    之后点击NAT Setting按钮,查看Gateway IP
2)  将其中的 HWADDR 修改为新虚拟机的网卡地址
    具体查看方式为:在虚拟机设置中选中Network Adapter,选择Advanced,查看Mac地址
3) 如果虚拟机不能联网,增加一行DNS设置  
   DNS1=202.96.128.166            #主DNS1地址


4、修改HostName
hostname   master.apache.org     立即生效   
vi   /etc/sysconfig/network   下次启动生效
5、IP与HostName绑定
vi /etc/hosts
内容:
192.168.131.130   master.apache.org  master
192.168.131.131   slave1.apache.org   slave1
192.168.131.132   slave2.apache.org   slave2


6、安装JDK  1.6以上

7、SSH 协议配置 ?  
配置ssh,免密码登录自己的用户
# 生成rsa 密钥
ssh-keygen -t rsa
# 直接3 次回车


# 给自己的帐号提供rsa 公钥  (主机)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-add id_rsa

【设置SSH 打开三台虚拟机,登录到master中,执行如下命令:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh slave1 "mkdir ~/.ssh"
scp ~/.ssh/id_dsa.pub slave1:~/.ssh/authorized_keys
ssh slave2 "mkdir ~/.ssh"
scp ~/.ssh/id_dsa.pub slave2:~/.ssh/authorized_keys


中间可能需要输入密码 ,按提示输入即可。现在分别执行如下命令
ssh localhost
ssh slave1
ssh slave2

不需要再输入密码就对了。】


二 、 安装配置

1 )  解压   hadoop-2.2.0.tar.gz  到安装目录
2 )  安装目录
HADOOP_HOME=/opt/local/hadoop-2.2.0
3)配置
-----------------------------------------------------------
etc\hadoop 目录,修改配置文件
1、hadoop-env.sh
export JAVA_HOME=/opt/local/jdk1.7.0_67
2、yarn-env.sh
export JAVA_HOME=/opt/local/jdk1.7.0_67
3、mapred-env.sh
export JAVA_HOME=/opt/local/jdk1.7.0_67
-----------------------------------------------------------

4、core-site.xml

	<property>		 
	<name>fs.default.name</name>
		<value>hdfs://master.apache.org:8020</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/soft/hadoop-2.2.0/data/tmp</value> <!-- 临时目录 -->
	</property>


5、hdfs-site.xml
	<property>		
		<!--  设置 HDFS的副本数 -->
		<name>dfs.replication</name>
		<value>2</value>
	</property>


6、yarn-site.xml
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>


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

8  slaves 文件


slave1
slave2
masters的内容为空,此文件用于配置secondary name node,我这次建立的集群不需要此节点,
如果需要的话可以将其主机名加入此文件中(别忘了在/etc/hosts中加入相应的条目)。


4)启动
1、启动HDFS
NameNode、DataNode、SecondaryNameNode


* NameNode 格式化
bin/hdfs namenode -format    -- 产生一个Cluster ID

* 指定Cluster ID
bin/hdfs namenode -format -clusterid   yarn-cluster


* Block Pool ID     数据块池ID


* 启动NameNode
sbin/hadoop-daemon.sh start namenode


* 启动DataNode
sbin/hadoop-daemon.sh start datanode


* 启动SecondaryNameNode
sbin/hadoop-daemon.sh start secondarynamenode


#查看进程
jps
如果hadoop 启动成功,可以看到如下进程
ResourceManager
SecondaryNameNode
NameNode
DataNode
NodeManager

2、启动YARN  
ResourceManager、NodeManager


* 启动ResourceManger

sbin/yarn-daemon.sh   start   resourcemanager


* 启动NodeManager

sbin/yarn-daemon.sh   start  nodemanager


命令
bin/yarn  jar  ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar   pi 10 20  执行mapreduce


7)启动历史服务器

用于查看MapReduce 应用程序的历史运行情况

sbin/mr-jobhistory-daemon.sh  start  historyserver

端口
hdfs : 
NameNode                  50070    master.apache.org:50070/
SecondaryNameNode  50090    master.apache.org:50090/

yarn : 
resourcemanager   master.apache.org:8088/ 
nodemanager        master.apache.org:8042/ 


Hadoop Common
HDFS
Hadoop YARN
Hadoop MapReduce


1》目录结构  
bin:    最基本的管理脚本和使用脚本所在木库  
sbin : Hadoop管理脚本所在目录    HDFS和YARN各类服务的启动/关闭脚本
etc  :  配置文件目录
lib  :   对外提供的编程动态库和静态库
share :  各个模块的jar包所在位置

2》HDFS


NameNode
NameNode是HDFS的守护程序,负责记录文件是如何分割成数据块的,以及这些数据块被存储到哪些数据节点上。
它的功能是对内存及I/O进行集中管理。


SecondaryNameNode   同步元数据和日志


DataNode
集群中每个从服务器都运行一个DataNode后台程序,后台程序负责把HDFS数据块读写到本地文件系统。
需要读写数据时,由NameNode告诉客户端去哪个DataNode进行具体的读写操作。
dataNode 会向 nameNode 发送心跳信息
dataNode 会向 nameNode 发送块存储信息


3》YARN
1. ResourceManager(RM)
RM是一个全局的资源管理器,负责整个系统的资源管理和分配。
2. ApplicationMaster(AM)
3. NodeManager(NM) 
NM是每个节点上的资源和任务管理器
一方面,它会定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态
另一方面,它接收并处理来自AM的Container启动/停止等各种请求
4. Container
Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,
RM为AM返回的资源便是用Container表示的。


启动方式

1 start-dfs.sh  
   start-yarn.sh


配置文件 
share\hadoop\common\hadoop-common-2.2.0.jar\core-default.xml
hadoop.tmp.dir


fs.defaultFS
fs.default.name


hadoop.http.staticuser.user


share\hadoop\hdfs\hadoop-hdfs-2.2.0.jar\hdfs-default.xml
dfs.replication
dfs.blocksize


dfs.namenode.http-address
dfs.namenode.secondary.http-address


dfs.namenode.name.dir 文件系统镜像文件
dfs.namenode.edits.dir 编辑日志文件


dfs.datanode.data.dir


-- secondarynamenode
dfs.namenode.checkpoint.dir
dfs.namenode.checkpoint.edits.dir


share\hadoop\yarn\hadoop-yarn-common-2.2.0.jar\yarn-default.xml
yarn.resourcemanager.hostname
yarn.nodemanager.log-dirs


share\hadoop\mapreduce\hadoop-mapreduce-client-core-2.2.0.jar\mapred-default.xml


mapreduce.jobhistory.address  
mapreduce.jobhistory.webapp.address


yarn.app.mapreduce.am.staging-dir


mapreduce.jobhistory.intermediate-done-dir
mapreduce.jobhistory.done-dir



分布式多节点

etc\hadoop\slaves  配置节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值