hadoop笔记之一——hadoop.2x的部署以及新内容理解

hadoop笔记系列是本猿曾经学习hadoop过程中记录的笔记,里面有许多自己踩过的坑和一些个人理解,发表出来希望能给初学者带来一些帮助,飘过的大神请不吝赐教。

一、部署操作


1、安装包准备


Hadoop2.5.0 
https://archive.apache.org/dist/hadoop/common/



2、安装环境


JDK
卸载原先自带的JDK
# rpm -qa | grep java
# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 tzdata-java-2012j-1.el6.noarch java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64 
解压安装
# tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules/
配置JAVA_HOME环境变量
# vi /etc/profile
# source /etc/profle


3、安装hadoop


1)检查网络IP、IP和主机名映射关系


[root@pd-hadoop jdk1.7.0_67]# hostname
pd-hadoop.ibeifeng.com
[root@pd-hadoop jdk1.7.0_67]# ping pd-hadoop.ibeifeng.com
PING pd-hadoop.ibeifeng.com (192.168.199.132) 56(84) bytes of data.
64 bytes from pd-hadoop.ibeifeng.com (192.168.199.132): icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from pd-hadoop.ibeifeng.com (192.168.199.132): icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from pd-hadoop.ibeifeng.com (192.168.199.132): icmp_seq=3 ttl=64 time=0.023 ms
64 bytes from pd-hadoop.ibeifeng.com (192.168.199.132): icmp_seq=4 ttl=64 time=0.033 ms
64 bytes from pd-hadoop.ibeifeng.com (192.168.199.132): icmp_seq=5 ttl=64 time=0.032 ms
64 bytes from pd-hadoop.ibeifeng.com (192.168.199.132): icmp_seq=6 ttl=64 time=0.023 ms
^C
--- pd-hadoop.ibeifeng.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5141ms
rtt min/avg/max/mdev = 0.023/0.035/0.074/0.019 ms


2)创建hadoop普通用户


[root@pd-hadoop softwares]# useradd hadoop
[root@pd-hadoop softwares]# passwd hadoop
Changing password for user hadoop.
New password: 
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.
给hadoop用户设置sudo权限
hadoop is not in the sudoers file. This incident will be reported.
[root@pd-hadoop softwares]# ll /etc/sudoers
-rw-r-----. 1 root root 4002 Dec 10 2013 /etc/sudoers
在/etc/sudoers添加一行
hadoop ALL=(root)NOPASSWD:ALL
 


3)创建规范的软件安装文件夹


/opt/modules # 大型软件的安装路径
/opt/softwares # 软件源程序安装包上传路径
/opt/tools # 工具安装路径
/opt/datas #数据文件存放路径
进入/opt/modules 目录,创建 hadoop子目录
$ sudo mkdir hadoop
更改hadoop所属者和所属组为hadoop
$ sudo chown -R hadoop:hadoop hadoop/


4)将hadoop安装包解压到/opt/modules/hadoop目录下


tar -zxvf hadoop2.5.0.tar.gz -C /opt/modules/hadoop

对JDK版本要求
http://wiki.apache.org/hadoop/HadoopJavaVersions


5)修改hadoop-env.sh


/opt/modules/hadoop/hadoop-2.5.0/etc/hadoop
修改下面两个配置变量
export JAVA_HOME=/opt/modules/jdk1.8.0_121
export HADOOP_CONF_DIR=/opt/modules/hadoop/hadoop-2.5.0/etc/hadoop


6)修改core-site.xml


Pseudo-Distributed Operation 伪分布式操作
添加以下属性配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:8020</value>
</property>
<!-- 一定要更改下这个hadoop.tmp.dir的属性,不要使用默认值-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop/hadoop-2.5.0/tmp/data</value>
</property>
</configuration>


7)修改hdfs-site.xml


因为是伪分布式,所以这边备份数设置为1
<property>
<name>dfs.replication</name>
<value>1</value>
</property>


8)格式化NameNode


$ bin/hdfs namenode -format
从日志上看到
common.Storage: Storage directory /opt/modules/hadoop/hadoop-2.5.0/tmp/data/dfs/name 
has been successfully formatted.
才表示格式化成功
格式化做了什么事情
其实就是在hadoop.tmp.dir属性指定的目录下
创建dfs/name/current子目录,然后在该子目录下创建
fsimage_0000000000000000000 NameNode内存中元数据信息在磁盘上持久化文件,镜像
fsimage_0000000000000000000.md5 
seen_txid 涉及hadoop版本升级
VERSION 
其中VERSION文件内容:
namespaceID=1277161178
clusterID=CID-6fe377f5-5930-4bf7-9c7d-284e67feba71
cTime=0
storageType=NAME_NODE
blockpoolID=BP-622285560-192.168.199.132-1463922307785
layoutVersion=-57


9)、启动HDFS


a.启动NameNode
$ sbin/hadoop-daemon.sh start namenode
$ jps
b.启动datanode
$ sbin/hadoop-daemon.sh start datanode
c.启动SecondaryNameNode
$ sbin/hadoop-daemon.sh start secondarynamenode
通过web页面验证HDFS
页面访问端口 50070
看下是否有active
Overview 'pd-hadoop.ibeifeng.com:8020' (active)
LiveNodes个数是否正确
http://pd-hadoop.ibeifeng.com:50070/dfshealth.html#tab-overview

看文件目录
页面导航 Utilities进入 Browse the file system
$ bin/hdfs dfs -mkdir -p /user/hadoop/ 创建目录
$ bin/hdfs dfs -put test.txt /user/hadoop/test.txt 将本地文件系统的
文件上传到HDFS上
Replication 备份数
Block Size Block的大小
$ bin/hdfs dfs -ls -R /user ### 查看指定目录下的文件和目录


10)、 YARN安装


a.修改mapred-site.xml
先根据模板mapred-site.xml.template拷贝得到该文件
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
b.修改yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
c.启动ResourceManager
$ sbin/yarn-daemon.sh start resourcemanager
d.启动NodeManager
$ sbin/yarn-daemon.sh start nodemanager

e.验证
通过web页面访问
yarn端口 8088
http://pd-hadoop.ibeifeng.com:8088/cluster
Active Nodes NodeManager个数
运行一个MapReduce 示例任务来验证
hadoop-mapreduce-examples-2.5.0.jar
如何执行一个mapreduce任务
bin/hadoop jar jar包的路径 一些需要参数
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar pi 2 10

停止Hadoop集群
停HDFS
$ sbin/hadoop-daemon.sh stop namenode
$ sbin/hadoop-daemon.sh stop datanode
$ sbin/hadoop-daemon.sh stop secondarynamenode
停yarn
$ sbin/yarn-daemon.sh stop resourcemanager
$ sbin/yarn-daemon.sh stop nodemanager

二、理解
1、NameNode内存里面的数据 = fsimage(文件元数据) + edits日志文件 + DataNode与Block的关系。
Namenode格式化时时对/tmp/name/current/目录进行格式化,会在这个目录下创建fsimage以及它的md5文件、edits日志文件、seen_txid(网上说时用来保存日志文件的尾数)、VERSION版本信息
2、sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh start secondarynamenode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
(粘贴,全部启动)
3、启动JosHistory(启动之后可以通过19888端口查看历史Job)
4、日志聚集功能,端口59799
功能:
把运行在每个NodeManager节点上的应用程序日志收集到HDFS
默认配置日志聚集功能是关闭
开启:
在yarn-site.xml配置文件
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>


5、SNN结点理解、操作:
SNN结点用于辅助NameNode结点,它从NN结点中拿到edits和fsimage元数据文件,并且重做edits文件,生成新的fsimage,返回给NN。
Masters文件配置两个属性:
fs.checkpoint.period定时触发SNN合并操作。
fs.checkpoint.size当edits文件超过一定大小时出发SNN合并操作。

猜你喜欢

转载自blog.csdn.net/qq_35946969/article/details/82885893