文档章节

Hadoop分布式部署

Berry涩味
 Berry涩味
发布于 2014/06/22 20:40
字数 1550
阅读 23
收藏 0
点赞 0
评论 0

Hadoop分布式部署

环境:rhel6.5 selinux and iptables disabled, sshd enabled

主机: 192.168.2.1 master

192.168.0.137 slave

192.168.0.187 slave

192.168.0.151 slave

软件:hadoop.apache.org


主节点包括名称节点、从属名称节点和 jobtracker 守护进程(即所谓的主守护进程)以及管理

集群所用的实用程序和浏览器。从节点包括 tasktracker 和数据节点(从属守护进程)。两种设

置的不同之处在于,主节点包括提供 Hadoop 集群管理和协调的守护进程,而从节点包括实现

Hadoop 文件系统(HDFS)存储功能和 MapReduce 功能(数据处理功能)的守护进程。

每个守护进程在 Hadoop 框架中的作用。namenode 是 Hadoop 中的主服务器,它管理文件系

统名称空间和对集群中存储的文件的访问。还有一个 secondary namenode,它不是namenode 的冗余守护进程,而是提供周期检查点和清理任务。在每个 Hadoop 集群中可以找到一个 namenode 和一个 secondary namenode

datanode 管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一

个 datanode 守护进程。每个集群有一个 jobtracker,它负责调度 datanode 上的工作。每个 datanode 有一个tasktracker,它们执行实际工作。jobtracker 和 tasktracker 采用主-从形式,jobtracker datanode 分发工作,tasktracker 执行任务。jobtracker 还检查请求的工作,如果一个datanode 由于某种原因失败,jobtracker 会重新调度以前的任务。

  

Hadoop文件系统(HDFS)存储功能

下载包hadoop-1.2.1.tar.gz

tar zxf hadoop-1.2.1.tar.gz

首先设置ssh无密钥连接

在节点机创建一个普通用户,useradd -u  800  hadoop

把软件考到hadoop家目录cp hadoop-1.2.1  /home/hadoop

加权限   chown -R  hadoop.hadoop  hadoop-1.2.1/

切换到hadoop用户 su  -  hadoop

设置ssh无密钥连接

下载java平台jdk-6u32-linux-x64.bin

sh jdk-6u32-linux-x64.bin

mv jdk1.6.0_32/  hadoop-1.2.1/ #便于移动

cd hadoop-1.2.1/

ln -s   ./jdk1.6.0_32/   jdk #建立软链接

cd conf/

vim hadoop-env.sh

export JAVA_HOME=/home/hadoop/hadoop/jdk #设置java环境变量

ln -s ./hadoop-1.2.1/ hadoop #建立软链接,保证jdk路径为/home/hadoop/hadoop/jdk

cd /home/hadoop/hadoop

mkdir input

cp conf/*   input/

bin/hadoop  jar   hadoop-examples-1.2.1.jar #运行发行版提供的示例程序:

bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output #不用提前创建output

cd output

cat  *

伪分布式存储

namenodedatanode用作数据存储

jobtrackertasktracker用作数据处理


$ cd hadoop/conf/

$ pwd

/home/hadoop/hadoop/conf

$ vim hadoop-env.sh

export JAVA_HOME=/home/hadoop/hadoop/jdk


vim core-site.xml

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>


vim mapred-site.xml

<configuration>


<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>


vim hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>


[hadoop@node1 ~]$ cd hadoop/

$bin/hadoop namenode -format #格式化一个新的分布式文件系统

$ bin/start-all.sh #开启守护进程

$ cd

mkdir bin

$ ln -s /home/hadoop/hadoop/jdk/bin/jps ~/bin/

jps #查看



浏览 NameNode和 JobTracker的网络接口,它们的地址默认为:

NameNode – http://192.168.0.106:50070/

JobTracker – http://192.168.0.106:50030/

网页访问192.168.0.10650030

网页访问192.168.0.10650070


$ bin/hadoop fs -ls

$ bin/hadoop fs -mkdir input

将输入文件拷贝到分布式文件系统:

$ bin/hadoop fs -put conf input


查看输出文件:

将输出文件从分布式文件系统拷贝到本地文件系统查看:

$ bin/hadoop fs -get output output

$ cat output/*


http://192.168.0.106:50075



完全分布式存储

masternamenode):192.168.2.1

slavedatanode):192.168.2.2

slavedatanode):192.168.2.10 注意每个节点机都要有解析,selinux,火墙全部关掉。

设置无密钥连接,master到两个slave无密码。

在两个slave节点机上都添加hadoop用户,并设置密码一致。

master节点上:

$scp -r .ssh/ node2. example.com:

$scp -r .ssh/ server1. example.com:

node1 ssh连接node2server1,验证是否无需密钥

cd conf/

$ vim masters

node1.example.com


$ vim slaves

node2.example.com

server1.example.com


$ vim core-site.xml

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://node1.example.com:9000</value>

</property>

</configuration>


$ vim mapred-site.xml

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>node1.example.com:9001</value>

</property>

</configuration>


$ vim hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>


scp -r hadoop-1.2.1/ node2.example.com:

scp -r hadoop-1.2.1/ server1.example.com:


node2server1上:

$ln -s hadoop-1.2.1/ hadoop

$ ls

$ mkdir bin

$ ln -s /home/hadoop/hadoop/jdk/bin/jps bin/

$ cd bin/


主节点上:

$ bin/hadoop namenode -format #格式化

$ bin/start-all.sh #开启所有服务(在所有节点)

##### bin/hadoop-daemon.sh stop tasktracker 关闭当前节点的单个服务 tasktracker

$ jps #查看节点上的服务



开启了namenode jobtracker

slave节点:

$ jps



开启了datanode tasktracker

主节点:

$ bin/hadoop fs -put conf input #将输入文件拷贝到分布式文件系统

$ bin/hadoop fs -ls input #查看分布式文件,也可网页查看。


查看输出文件:2种方式)

$ bin/hadoop fs -get output test #将输出文件从分布式文件系统拷贝到本地文件系统查看

$ cat test/*

或者

$ bin/hadoop fs -cat test/* #在分布式文件系统上查看输出文件:


hadoop 在线添加节点:

node1上:

dd if=/dev/zero of=bigfile bs=1M count=300

bin/hadoop dfsadmin -report #查看datanode状态

bin/hadoop fs -put ~/bigfile

bin/hadoop fs -mkdir files

bin/hadoop fs -put ~/bigfile files

bin/hadoop dfsadmin -report

scp -r .ssh/ server2.example.com:

scp -r hadoop-1.2.1/ server2.example.com:

1. 在新增节点上安装 jdk,并创建相同的 hadoop 用户,uid 等保持一致

2. 在 conf/slaves 文件中添加新增节点的 ip

3. 同步 master 上 hadoop 所有数据到新增节点上,路径保持一致

ln -s hadoop-1.2.1/ hadoop

mkdir bin

ln -s ~/hadoop/jdk/bin/jps bin/

4. 在新增节点上启动服务:

$ bin/hadoop-daemon.sh start datanode

$ bin/hadoop-daemon.sh start tasktracker

5. 均衡数据:

$ bin/start-balancer.sh

1)如果不执行均衡,那么 cluster 会把新的数据都存放在新的 datanode ,这样会降低 mapred

的工作效率

2)设置平衡阈值,默认是 10%,值越低各节点越平衡,但消耗时间也更长

$ bin/start-balancer.sh -threshold 5

hadoop 在线删除 datanode 节点:

1. 在 master 上修改 conf/mapred-site.xml

<property>

<name>dfs.hosts.exclude</name>

<value>/home/hadoop/hadoop/conf/datanode-excludes</value>

</property>

2. 创建 datanode-excludes 文件,并添加需要删除的主机,一行一个

server2.example.com

3. 在 master 上在线刷新节点

$ bin/hadoop dfsadmin -refreshNodes

此操作会在后台迁移数据,等此节点的状态显示为 Decommissioned,就可以安全关闭了。

4. 你可以通过以下命令在node1上查看 datanode 状态

$ bin/hadoop dfsadmin -report

在做数据迁移时,此节点不要参与 tasktracker,否则会出现异常。























© 著作权归作者所有

共有 人打赏支持
Berry涩味
粉丝 8
博文 7
码字总数 14335
作品 0
西安
系统管理员
Spark的Standalone模式安装部署

Spark运行模式 Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Standalone 模式,...

Zero零_度
2016/06/04
38
0
基于Docker一键部署大规模Hadoop集群及设计思路

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 一、背景: 随着互联网的发展...

李金泽
03/04
0
0
Hadoop伪分布式安装(HDFS)步骤

1.安装前的准备工作 在进行Hadoop伪分布式安装前要检测虚拟机是否进行了下面的配置: 1. 修改主机名 2. 修改主机名与ip之间的映射关系 3. 配置虚拟机网络可以进行上网 2.伪分布式部署(HDFS)...

yu0_zhang0的博客
2017/12/19
0
0
SpirngXD on YARN模式部署说明

SpirngXD on YARN模式部署说明 OneCoder2016-11-0156 阅读 Spring XD可以on yarn运行。 下载on yarn运行包并解压 部署本地Hadoop环境 要on yarn运行需要依赖本地的Hadoop环境。下载Hadoop安装...

OneCoder
2016/11/01
0
0
Hadoop单节点伪分布式部署

Hadoop:一个分布式系统基础架构,由Apache基金会所开发。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。 Hadoop实现了一个分布式文件系统(...

我爱吃葱花
2014/03/11
0
0
Hadoop3.1.0完全分布式集群部署超详细记录

Hadoop3.1.0完全分布式集群部署,三台服务器部署结构如下github配置文件源码地址 如上图,一共三台机器作为集群,servera作为master,其他两台作为worker。 2.开始部署-前期准备(三台机器都需...

dream_an
05/09
0
0
Hadoop单机模式部署

一、Hadoop部署模式 单机模式:默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境 伪分布模式:在单个机器上模拟成分布式多节点环境,每一个Hadoop守护进程都作为一个独立的J...

结束的伤感
2016/04/20
0
0
分布式系统基础架构--Hadoop

Hadoop 是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(H...

匿名
2008/09/14
336.4K
27
迄今为止最大版本:Apache Hadoop3.0发布

  【IT168 资讯】Apache软件基金会宣布了分布式计算开源软件框架第三版。Apache Hadoop 3.0是自2013年Hadoop 2.0发布以来的第一个主要版本。   Apache Hadoop 3.0的项目经理Andrew Wang...

it168网站
2017/12/19
0
0
Hadoop (CDH4发行版)集群部署

前言 折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。 为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署完...

snakelxc
2013/07/10
0
19

没有更多内容

加载失败,请刷新页面

加载更多

下一页

数据结构与算法2

一个数组的例子,实现查找,显示和删除的功能。 public class array {public static void main(String[] args){long[] arr;arr = new long[100];int nElems = 0;int j;...

沉迷于编程的小菜菜
16分钟前
0
0
Python3 基于 requests 批量下载图片

Python3 基于 requests 批量下载图片 import requestsheaders = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encod......

leeyi
17分钟前
0
0
Sparkstreaming and Kafka

简介 Kafka 0.10的Spark Streaming集成设计与0.8 Direct Stream方法类似。 它提供了简单的并行性,Kafka分区和Spark分区之间的1:1对应关系,以及对偏移量和元数据的访问。 但是,由于较新的...

刺猬一号
21分钟前
0
0
java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map getWeekDate(String time) { Map map = new HashedMap(); SimpleDateFormat sdf = new Si......

小弱鸡
49分钟前
0
0
Redis数据的导出和导入(dump和load方式)

网上有些文章已经不再适用,本人也是踩了些坑,在此记录下。 迁移redis数据一般有如下3种方式: 第三方工具redis-dump,redis-load aof机制,需要开启aof功能 rdb存储机制 这里介绍第一种方式...

iplusx
53分钟前
1
0
ElasticSearch 高亮显示大文档搜索结果

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
今天
1
0
Python 使用 pywifi 模块 破解wifi密码

git https://github.com/awkman/pywifi 常见常量 from pywifi import const# Define interface status.IFACE_DISCONNECTED = 0IFACE_SCANNING = 1IFACE_INACTIVE = 2IFACE_CONNEC......

阿豪boy
今天
2
0
phpstorm使用Iedis

phpstorm的redis插件Iedis是真好用 看了网上挺多的文章,但是由于我系统还是ubuntu,就有点尴尬了,现在破解之后,留个笔记,即使自己之后有需要也可以很快翻阅 先下载资源 资源下载 zip压缩...

贤郎--均灵
今天
0
0
第三章 spring-bean之FactoryBeanRegistrySupport(4)

前言 从FactoryBeanRegistrySupport类的名字可以看出FactoryBeanRegistrySupport负责FactoryBean的注册与支持。如果想知道FactoryBean相关的资料,请阅读spring-bean中关于FactoryBean的解读...

鸟菜啊
今天
0
0
CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部