您的位置:首页 > 编程语言 > Java开发

hadoop (三) 安装Eclipse插件、机架感知、文件整理

2018-02-02 19:24 507 查看

安装EclipseX 插件

在eclipse中安装hadoop插件,方便查看dfs文件系统:
1. 下载hadoop2x-eclipse-plugin.zip文件
2. 解压hadoop2x-eclipse-plugin.zip/release/*.jar到${eclipse的安装路径}/plugins下
3. 重启eclipse
4. 验证hadoop插件是否安装成功:
preferences-->Hadoop/MapReduce-->选择hadoop解压文件目录下
New Hadoop Location --> location name : s100  --> Host : s100 --> MapReduce Port: 50020  --> DFS Port: 8020


机架感知

网络拓扑:

节点距离:两个节点到达最近的公共路由跃点数。
同一节点上的两个进程                    :  0
同一机架上的两个节点的两个进程           :  4
不同机架上的两个不同节点的两个进程       :  6


自定义机架感知:

1. 创建MyDNSToSwitchMapping类实现DNSToSwitchMapping接口
2. 将该类文件生成jar文件,拷贝到{/soft/hadoop/share/hadoop/common/lib/}下(即hadoop的安装路径下),并且进行集群分发。
3. 配置[core-site.xml]文件,并且进行分发。
<property>
<name>net.topology.node.switch.mapping.impl</name>
<value>com.li.dns.MyDNSToSwitchMapping</value>
<description> The default implementation of the DNSToSwitchMapping. It
invokes a script specified in net.topology.script.file.name to resolve
node names. If the value for net.topology.script.file.name is not set, the
default value of DEFAULT_RACK is returned for all node names.
</description>
</property>


克隆一个主机:

1. 克隆一个新节点
2. 启动新节点
3. 修改新节点的ip和hostname
[/etc/hostname]
s107
[/etc/network/interfaces]
address 192.16.10.100

4. 修改主机s100的/etc/hosts文件,并进行分发
[/etc/hosts]
s107 192.16.10.100
5. 在主机s100上连接s107:
6. 修改xsync和xcall脚本文件
7. 修改s100的slaves文件并进行分发
[/soft/hadoop/etc/hadoop/slaves]:
s101
s102
s103
s104
s105
s106
s107
8. 删除hadoop文件系统文件夹,并且删除hadoop的日志文件,(不需要进行格式化,如进程有问题时再进行格式化)重启hadoop集群。

s100:$> cd ~/hadoop/dfs/name1/current/
$> hdfs oiv -p XML -i  fsimage_0000000000000000069  -o ~/fimage.xml
[fimage.xml]:

s100:$> cd ~/hadoop/dfs/name1/current/
$> hdfs oev -p XML -i edits_0000000000000000001-0000000000000000011 -o ~/fsedit.xml
[fsedit.xml]:

9. namenode:
存放元素(名称,副本数,节点块信息,权限) ,不包含数据节点
每当启动集群时,数据节点会向namenode节点发送本节点的副本数、块信息、等信息,保证通过namenode可以访问到数据


文件整理

hadoop集群启动时首先进入安全模式:

当集群是处于安全模式时,不能执行重要操作(读写操作)
集群启动完成后,自动退出安全模式。
1. 安全模式操作:
$>hdfs dfsadmin -safemode get      // 查看安全模式状态
$>hdfs dfsadmin -safemode enter    // 进入安全模式状态
$>hdfs dfsadmin -safemode leave    // 离开安全模式状态
$>hdfs dfsadmin -safemode wait     // 等待安全模式状态
2. 以等待状态为例,
当集群处于安全状态时,用户对集群进行操作,这时的用户操作会进入等待状态。当集群退出安全模式时,该操作会被自动执行。
通过脚本实现:
[autoexe.sh]:
#!/bin/bash
hdfs dfsadmin -safemode wait  # 进入等待状态
hdfs dfs -put ~/hello.txt /user/ubuntu/data/  # 执行用户操作

更改该文件的执行权限:
$> sudo chmod 777 autoexe.sh   # rwx权限
$> ./autoexe.sh   # 执行该脚本


保存名字空间/镜像融合和编辑日志

1. 进入安全模式
$> hdfs dfsadmin -safemode enter
2. 进行保存
$> hdfs dfsadmin -saveNamespace

3. 退出安全模式
$> hdfs dfsadmin -safemode leave
[实例]:
~/hadoop/dfs/name1/current$> ls  # 查看镜像文件
fsimage_0000000000000000140
fsimage_0000000000000000140.md5
fsimage_0000000000000000143
fsimage_0000000000000000143.md5
$> hdfs dfs -put ~/hello.txt /user/ubuntu/data/  # 创建文件
$> hdfs dfsadmin -safemode enter
~/hadoop/dfs/name1/current$> ls
fsimage_00000000
4000
00000000143
fsimage_0000000000000000143.md5
fsimage_0000000000000000151
fsimage_0000000000000000151.md5


归档文件

1. 启动yarn进程
$> start-yarn.sh
2. 文件归档
# 将文件归档成一个叫做xxx.har的文件夹,该文件夹下有相应的数据文件。xxx.har文件是一个整体,将该目录看成是一个目录。
$> hadoop archive -archveName myhar.har -p /uuser/ubuntu/data  /user/ubuntu/my
# 查看归档文件
$> hdfs dfs -lsr har://user/ubuntu/my/myhar.har
# 解归档t
$> hadoop dfs -cp har://user/ubuntu/my/myhar.har   /user/ubuntu/data
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop