【转】Hadoop HDFS分布式环境搭建
Hadoop HDFS分布式环境搭建
最近选择给大家介绍Hadoop HDFS系统,因此研究了一下如何在Linux 下配置一个HDFS Clust。小记一下,以备将来进一步研究和记忆。
HDFS简介
全称 Hadoop Distributed File System, Hadoop分布式文件系统。 根据Google的GFS论文,由Doug Cutting使用JAVA开发的开源项目。HDFS是Hadoop项目的一部分。为Hadoop提供底层的数据存储,满足上次各种实际应用使用(如Map/Reduce)。HDFS是典型的的Master/Slave集群架构,由一个NameNode和多个DateNode组成,NameName只能有一个,扮演Master角色,负责对具体的存储块的元数据进行保存,比如控制某个存储块具体保存在哪个DataNode上;DataNode可以为多个,扮演着Slave的角色,负责对具体的存储块进行保存,一个相同的存储块根据配置可以保存到多个DataNode上,以保持数据的高可用性。
环境介绍
三台主机,一台NameNode, 2台DataNode
Role |
IP |
Host |
Type |
Version |
NameNode |
10.34.64.222 |
NC-VM-PL-DEV-26 |
Master |
CentOS 6.4 |
DataNode |
10.34.64.223 |
NC-VM-PL-DEV-27 |
Slave |
CentOS 6.4 |
DataNode |
10.34.64.224 |
NC-VM-PL-DEV-28 |
Slave |
CentOS 6.4 |
配置流程
原则:三台机器的配置保持一致就可以,下面具体描述NameNode主机的过程
1. 安装JDK1.6 (略)
2. 创建HDFS账号,最好这样,便于管理
[root@NC-VM-PL-DEV-26 ~]# useradd hdfs
[root@NC-VM-PL-DEV-26 ~]# passwd hdfs
3. 配置免密码的SSH访问机制
通常Centos系统都默认安装SSH, 如果没有安装,请单独安装,yum install ssh
a) 切换至hdfs登录.
b) [hdfs@NC-VM-PL-DEV-26 ~]$ cd ~
c) [hdfs@NC-VM-PL-DEV-26 ~]$ ls -a
d) [hdfs@NC-VM-PL-DEV-26 ~]$ cd .ssh
e) [hdfs@NC-VM-PL-DEV-26 ~]$ ssh-keygen –t rsa
f) [hdfs@NC-VM-PL-DEV-26 ~]$ cat id_rsa.pub > authorized_keys
g) 至此可以测试一下ssh 本机IP是否需要密码,如果成功,说明本机配置成功。
h) 然后将authorized_keys文件复制到所有DataNode节点,[hdfs@NC-VM-PL-DEV-26 ~]$ scp authorized_keys hdfs@10.34.64.223:/home/hdfs/.ssh
i) 给另一个DataNode节点相同的操作,至此免密码登录配置完毕,可以通过本机ssh 各个节点IP来测试是否需要密码登录
4. 下载Hadoop软件包,官方下载地址
a) http://mirrors.cnnic.cn/apache/hadoop/common/stable/
b) http://hadoop.apache.org/releases.html#Download
切换至hdfs账号,解压至/home/hdfs/hadoop
[hdfs@NC-VM-PL-DEV-26 ~]$ tar zxf hadoop-2.2.0.tar.gz
[hdfs@NC-VM-PL-DEV-26 ~]$ mv hadoop-2.2.0 hadoop
5. 配置环境变量
a) [hdfs@NC-VM-PL-DEV-26 ~]$ vim ~/.bash_profile
b) HADOOP_HOME=/home/hdfs/hadoop
export HADOOP_HOME
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HADOOP_HOME/bin
6. 在NameNode上修改hadoop配置文件
主要修改/home/hdfs/hadoop/etc/hadoop/目录下的配置文件
Hadoop-env.sh: Hadoop环境变量设置
Core-site.xml: NameNode IP和端口设置
Hdfs-site.xml: HDFS数据块副本等参数设置
Mapred-site.xml: MapReduce 完成JobTracker IP和端口设置
Slaves: 完成datanode节点IP设置
6.1 配置core-site.xml
fs.default.name
hdfs://10.34.64.222:9000/
6.2 配置 hdfs-site.xml
dfs.name.dir
/home/hdfs/hadoop-2.2.0/data/dfs.name.dir
dfs.data.dir
/home/hdfs/hadoop-2.2.0/data/dfs.data.dir
dfs.permissions
false
dfs.replication
2
6.3 配置 mapred-site.xml
mapred.job.tracker
Master:9001
6.4 配置 hadoop-env.sh
将JAVA_HOME的值修改为真实有效的地址,如果不知道,请执行echo $JAVA_HOME 查看。export JAVA_HOME=/usr/java/jdk1.6.0_27
6.5 配置 slaves
NC-VM-PL-DEV-27
NC-VM-PL-DEV-28
7. 复制hadoop系统到所有DataNode节点
将主NameNode节点安装好的Hadoop系统目录复制到每一个从DataNode节点上.
[hdfs@NC-VM-PL-DEV-26 hadoop]$ scp –r /home/hdfs/hadoop 10.34.64.223: /home/hdfs/hadoop
[hdfs@NC-VM-PL-DEV-26 hadoop]$ scp –r /home/hdfs/hadoop 10.34.64.224: /home/hdfs/hadoop
8. 在每一个主机上修改Hosts文件,以便于主机名和IP地址解析
修改每台机器上的/etc/hosts文件
a) 如果是NameNode,需要在hosts文件中添加集群中所有节点的IP地址及对应的主机名。示例:
10.34.64.224 NC-VM-PL-DEV-28
10.34.64.223 NC-VM-PL-DEV-27
10.34.64.222 NC-VM-PL-DEV-26
b) 如果是DataNode,只需要在文件中添加本机和NameNode的Ip地址和主机名。
为了方便都填上也挺好。
9. 格式化NameNode
执行如下命令做格式化操作,每次如果有修改conf,最好做一次格式化命令
[hdfs@NC-VM-PL-DEV-26 ~]$ hadoop namenode –format
如果格式化成功,会返回一堆有关NameNode的启动信息,其中会有一句“…. has been successfully formatted.”
10. 启动HDFS
[hdfs@NC-VM-PL-DEV-26 ~]$./home/hdfs/hadoop/bin/start-dfs.sh
如果启动遇到问题,请对NameNode或DataNode的日志进行查看,路径为/home/hdfs/hadoop/logs,看看是否有Exception抛出。
11. 简单对HDFS进行试用
[hdfs@NC-VM-PL-DEV-26 ~]$ hadoop fs –mkdir /newdir
[hdfs@NC-VM-PL-DEV-26 ~]$ hadoop fs –ls
用jps命令检查一下是否正常启动:
[hdfs@NC-VM-PL-DEV-26 ~]$ jps
9193 SecondaryNameNode
8914 NameNode
9615 Jps
查看集群状态
[hdfs@NC-VM-PL-DEV-26 ~]$ hadoop dfsadmin -report
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
13/12/04 15:46:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Configured Capacity: 0 (0 B)
Present Capacity: 0 (0 B)
DFS Remaining: 0 (0 B)
DFS Used: 0 (0 B)
DFS Used%: NaN%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
-------------------------------------------------
Datanodes available: 0 (0 total, 0 dead)
浏览器方式:在WEB页面下查看Hadoop工作情况
输入部署Hadoop服务器的IP:http://IP:50070;http://IP:50030.
【转】Hadoop HDFS分布式环境搭建的更多相关文章
- 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建
CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...
- hadoop ——完全分布式环境搭建
hadoop 完全分布式环境搭建 1.虚拟机角色分配: 192.168.44.184 hadoop02 NameNode/DataNode ResourceManager/NodeManager 19 ...
- CentOS7下Hadoop伪分布式环境搭建
CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...
- HDFS 分布式环境搭建
HDFS 分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 分布式环境搭建 CSDN:HDFS 分布式环境搭建 准备四个Linux实例 每个实例对应的 host 和 ip 地址如下 nod ...
- Hadoop完全分布式环境搭建(二)——基于Ubuntu16.04设置免密登录
在Windows里,使用虚拟机软件Vmware WorkStation搭建三台机器,操作系统Ubuntu16.04,下面是IP和机器名称. [实验目标]:在这三台机器之间实现免密登录 1.从主节点可以 ...
- 《OD大数据实战》Hadoop伪分布式环境搭建
一.安装并配置Linux 8. 使用当前root用户创建文件夹,并给/opt/下的所有文件夹及文件赋予775权限,修改用户组为当前用户 mkdir -p /opt/modules mkdir -p / ...
- Hadoop完全分布式环境搭建
前言 本文搭建了一个由三节点(master.slave1.slave2)构成的Hadoop完全分布式集群(区别单节点伪分布式集群),并通过Hadoop分布式计算的一个示例测试集群的正确性. 本文集群三 ...
- Hadoop伪分布式环境搭建+Ubuntu:16.04+hadoop-2.6.0
Hello,大家好 !下面就让我带大家一起来搭建hadoop伪分布式的环境吧!不足的地方请大家多交流.谢谢大家的支持 准备环境: 1, ubuntu系统,(我在16.04测试通过.其他版本请自行测试, ...
- hadoop全分布式环境搭建
本文主要介绍基本的hadoop的搭建过程.首先说下我的环境准备.我的笔记本使用的是Windows10专业版,装的虚拟机软件为VMware WorkStation Pro,虚拟机使用的系统为centos ...
随机推荐
- Linux下apache2及模块mod_deflate等安装和配置
安装apache 1.wget http://archive.apache.org/dist/httpd/httpd-2.2.13.tar.gz 2.在安装目录 先让大家看看实际效果,请看下图10点中 ...
- Protocol Buffer Basics: Python
原文https://developers.google.com/protocol-buffers/docs/pythontutorial Protocol Buffer Basics: Python ...
- 解析Excel数据
解析Excel数据常用的方式就是使用POI和JXL工具了,这两种工具使用起来有些类似,这里记录一下使用方式提供个参考 POI使用 File file = new File(filePath); Fil ...
- 运维不得不知的 Linux 性能监控、测试、优化工具
Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的.简单的小工具.系统性能专家 Brendan D. Gregg 在 LinuxCon NA 2014 大会上 ...
- 如何提取一个转录本的3'UTR区域的序列
庐州月光 如何提取一个转录本的3'UTR区域的序列 在做microRNA 和 mRNA 相互作用预测的时候,大家都知道microRNA 作用的靶点是位于mRNA 的3'UTR取,所以只需要提取mRNA ...
- paycharm导入webdriver包报错:module 'selenium.webdriver' has no attribute 'Firefox'
首先:试试看在cmd中试试输入from selenium import webdriver,看是否报错,看一看是不是pycharm的原因.经过确认,在dos窗口中输入导入包的命令并没有报错.最后我重现 ...
- [Flutter] 一些面试可能会问基础知识
1. Flutter 是什么? Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. Flutter可以与现有的代码一起工作.在全世界,Flutter正在被 ...
- uva-167-枚举
题意:八皇后问题,要求选取的总和最大 #include<stdio.h> #include<iostream> #include<sstream> #include ...
- HTML5 Canvas ( 画一个五角星 ) lineJoin miterLimit
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 机器学习入门-概率阈值的逻辑回归对准确度和召回率的影响 lr.predict_proba(获得预测样本的概率值)
1.lr.predict_proba(under_text_x) 获得的是正负的概率值 在sklearn逻辑回归的计算过程中,使用的是大于0.5的是正值,小于0.5的是负值,我们使用使用不同的概率结 ...