大数据之路- Hadoop环境搭建(Linux)

 

前期部署

1.JDK

2.上传HADOOP安装包

2.1官网:http://hadoop.apache.org/

 

2.2下载hadoop-2.6.1的这个tar.gz文件,官网:

 

https://archive.apache.org/dist/hadoop/common/hadoop-2.6.1/

下载成功后,把这个tar.gz包上传到服务器上,命令:

通过SecureCRT软件alt+p打开SFTP,然后把这个文件上传

上传成后,解压

tar -xvzf -2.6.1.tar.gz

然后把解压后的文件移动到/usr下,改名为hadoop

命令:

mv -2.6.1 /usr/

然后开始把hadoop的命令加到环境变量里面去

 

 

然后记得source一下

然后再修改配置文件,配置文件查看查看官网:

http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html

最简化配置如下:(在/usr/hadoop/etc/hadoop)

主要配置文件
/usr/hadoop/etc/hadoop/
hadoop-env.sh 环境变量
运行时配置
core-site.xml 核心公共配置
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves
vim core-site.xml

复制代码
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hdp-node-01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>                      //指定进程工作目录,数据存放目录
<value>/home/HADOOP/apps/hadoop-2.6.1/tmp</value>
</property>
复制代码
core-site.xml里面可以设置垃圾回收属性 fs.trash,interval ,默认在core-default问件里,默认7天
vim hdfs-site.xml
//设置保留副本的数量,即备份的数量,默认是3。客户端把文件交给fds之后,fds保留的副本数量
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
vim  mapre-site.xml
mapreduce要放在一个资源调度平台上面跑,所以需要指定资源调度平台yarn,默认是local,不是在集群上运行
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vim yarn-site.xml
//指定集群节点老大,不然提交程序运行时不知道找谁
复制代码
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>svr01</value> //主机名
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
复制代码
vim slaves  //记录本集群的datenode,用来自动化统一管理datenode
192.168.1.88     srv01
192.168.1.89     srv02
192.168.1.90     srv03
配置ssh。(前提先配置好/etc/hosts文件)
ssh-keygen -t rsa 四个回车
ssh-copy-id srv01 //首先是自己
ssh-copy-id srv02
ssh-copy-id srv03

格式化后分发hadoop文件 /usr/hadoop 和环境变量文件 /etc/profile 到所有的集群服务器。
scp  /etc/profile srv02:/etc/          //记得到srv02去source它的profile文件
scp  /etc/profile srv03:/etc/          //记得到srv02去source它的profile文件
scp -R /usr/hadoop srv02:/usr/hadoop
scp -R /usr/hadoop  srv03:/usr/hadoop

 hadoop格式化是为了生成fsimage文件。

hdfs namenode -format

hadoop要先格式化才能开启。他是一个架设在linux上的文件系统,并不是格式化linux的文件系统。
hadoop启动命令/sbin/start-dfs.sh
yarn启动命令/sbin/start-yarn.sh
或者:直接启动hdfs+yarn服务:sbin/start-all.sh
检查dfs的进程,jps,下图代表hdfs正常启动

可以在浏览器上看到hadoop集群状态

namenode的ip加上50070端口

http://192.168.1.88:50070/

 

配置HDFS垃圾回收

fs.trash.interval

描述:检查点被删除的分钟数。如果为零,垃圾功能将被禁用。可以在服务器和客户端上配置此选项。如果垃圾桶被禁用服务器端,则客户端配置被检查。如果在服务器端启用垃圾箱,则使用服务器上配置的值,并忽略客户端配置值。

例子:7天后自动清理

1
2
3
4
<property>
<name>fs.trash.interval</name>
<value>7 * 24 * 60</value>
</property>

 

 NameNode启动过程详解

namenode的数据存放在两个地方,一个是内存,一个是磁盘(edits,fsimage)

第一次启动HDFS

1.format : 格式化hdfs

2.make image : 生成image文件

3.start NameNode:read fsimage

4.start Datenode : datanode 向 NameNdoe 注册,汇报 block report ,

5.create dir /user/xxx/temp  :写入edits文件

6.put files /user/xxx/tmp(*=site,xml) :写入edites文件

7.delete file /user/xxx/tmp/(core-site.xml):写入edits文件

 

对dfs的操作都会记录到edits里面

 第二次启动hdfs:


1.启动NameNode,读取fsimage里面的镜像文件,读取edits文件,因为edits记录着上一次hdfs的操作,写入一个新的fsimage,创建一个新的edits记录操作

2.start Datenode : datanode 向 NameNdoe 注册,汇报 block report ,

3.create dir /user/xxx/temp  :写入edits文件

4.put files /user/xxx/tmp(*=site,xml) :写入edites文件

5.delete file /user/xxx/tmp/(core-site.xml):写入edits文件

6.Secondly NameNode定期将edits文件和fsimage文件合并成一个新的fsimage文件替换掉NameNode上面的fsimage

 

另:手动编译hadoop记得要联网,因为它是用maven管理的,很多依赖需要下载

 

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论