一、准备条件

1.四台Linux虚拟机(1台NameNode节点,1台Secondary节点(Secondary和其中1台DataNode共用),外加2台DataNode)

2.下载Hadoop版本,本例使用Hadoop-2.5.2版本

二、安装Java  JDK 

最好安装,JDK 1.7 因为JDK 1.7的兼容性最好

#安装JDK
rpm -ivh jdk-7u79-linux-x64.rpm #配置环境变量
vi /root/.bash_profile JAVA_HOME=/usr/java/jdk1..0_79
PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop-2.5.
PATH=$PATH:$HADOOP_HOME/bin
#HADOOP_HOME 是后面要用到的,为了方便提前写进来

配置完成以后,通过  java -version可以查看是否安装成功

三、配置hosts文件

vi /etc/hosts
#在该文件中建入
192.168.171.15 node5
192.168.171.16 node6
192.168.171.17 node7
192.168.171.18 node8

四、安装SSH 设置免密码登录

#创建密钥(一定要在NameNode节点上):
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
#将密钥添加到公钥:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

然后将公钥添加到其他节点的authorized_keys上:

$ scp ~/.ssh/id_dsa.pub root@node6:/opt
$ scp ~/.ssh/id_dsa.pub root@node7:/opt
$ scp ~/.ssh/id_dsa.pub root@node8:/opt
#然后分别登录这三台虚拟机,将公钥覆盖到公钥中
$ cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys

如果在进行上述操作的时候报:

-bash: /root/.ssh/authorized_keys: No such file or directory的错误,则需要先在该节点上创建一下本地公钥,然后再把主节点上的公钥添加到该节点上,具体操作看上方NameNode操作;

配置完成以后使用nameNode 分别:ssh node6 ; ssh node7  ssh node8 ;如果在登录的时候没有显示要输入密码则说明成功了;(在ssh 登录一个节点以后,需要先退出然后才能再登录,使用exit退出);

五、安装Hadoop 

1.解压hadoop-2.5.1 并移动到/usr/local/hadoop-2.5.1

$ tar -zxvf hadoop-2.5.1.tar.gz
$ mv hadoop-2.5.1 /usr/local

2.配置Hadoop配置文件

$ cd /usr/local/hadoop-2.5.1/etc/hadoop/
$ vim hadoop-env.sh
#写入
export JAVA_HOME=/usr/java/latest $ vim etc/hadoop/core-site.xml
#写入,配置NameNode的读写入口点和目录
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node5:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop</value>
</property>
</configuration> $ vim etc/hadoop/hdfs-site.xml
#写入,配置Secondry
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node6:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>node6:50091</value>
</property>
</configuration>

配置DataNode节点:

$ vim etc/hadoop/slaves
#写入 配置dataNode
node6
node7
node8 $ vim etc/hadoop/masters
#写入,配置HDFS的secondry节点
node6

配置完成后将所有的配置文件在其他节点上覆盖一下:

scp -r hadoop/ root@node8:/usr/local/hadoop-2.5.1/etc/hadoop/
scp -r hadoop/ root@node6:/usr/local/hadoop-2.5.1/etc/hadoop/
scp -r hadoop/ root@node7:/usr/local/hadoop-2.5.1/etc/hadoop/

关闭防火墙,并同步时间:

$ service iptables stop
$ ntpdate s2c.time.edu.cn

3.格式化并初始化

$ bin/hdfs namenode -format

4.启动并访问

$ sbin/start-dfs.sh
#这是关闭命令
$ sbin/stop-dfs.sh

访问 nodeName:http://node5:50070/    http://node6:50070/ 如果能看到以下界面就说明成功了:

七、在HDFS上 创建上传文件

$ hdfs dfsadmin #查看帮助
$ hdfs dfs -mkdir /test #创建HDFS的根目录
$ hdfs dfs -ls / #查看hdfs的目录
$ hdfs dfs -put /root/** /test/ #上传文件到hdfs
$ hdfs dfs chmod -777 /test #放开hdfs的权限
$ hdfs dfs -help ls #查看命令帮助

Hadoop 1、在虚拟机上进行 HDFS 安装的更多相关文章

  1. 【运维技术】VM虚拟机上使用centos7安装docker启动gogs服务教程【含B站视频教程】

    VM虚拟机上使用centos7安装docker启动gogs服务视频教程 BiliBili视频教程链接飞机票,点我 使用VMware Workstation安装Centos7 MinMal系统 第一步: ...

  2. Linux 虚拟机上安装linux系统 (ip:子网掩码,网关,dns,交换机,路由知识回顾)

    一 安装虚拟机 二 虚拟机上配置好在安装linux系统 三 知识回顾 交换机:主机在局域网内的身份是MAC地址(可以通过[交换机广播:交换机通过被动学习来建立一张“接口号”和“MAC地址”的对照表]或 ...

  3. 在Windows Azure虚拟机上开发Windows 8 应用

    前提条件 Windows Azure开发者账号:如果您拥有微软MSDN Subscription账户,那么意味着您可免费申请Windows Azure开发者账号. 创建虚拟机 点击Windows Az ...

  4. 在Ubuntu虚拟机上搭建青岛OJ

    源码地址为:https://github.com/QingdaoU/OnlineJudge 可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/ ...

  5. hadoop学习;大数据集在HDFS中存为单个文件;安装linux下eclipse出错解决;查看.class文件插件

    sudo apt-get install eclipse 安装后打开eclipse,提示出错 An error has occurred. See the log file /home/pengeor ...

  6. VMware虚拟机上安装linux和克隆

    虚拟机上安装好一台linux 系统后.为了高速搭建hadoop集群.须要再安装几个linux系统,比較笨的办法能够又一次用ios 镜像文件进行安装.可是又一次安装须要又一次配置一些信息并且安装时间比較 ...

  7. 在VM虚拟机上安装Microsoft Dynamics CRM 2016 步骤图解及安装注意事项

    安装Dynamics CRM 2016环境配置要求: 系统版本:Windows Server 2012 R2(必须) SQL 版本: SQLServer2014SP1-FullSlipstream-x ...

  8. 虚拟机上安装ArchLinux笔记

    安装前的自白: 想使用ArchLinux,就直接在虚拟机上先装一个玩起来先.虚拟机使用的是Vmware,下载免费的个人版本就可以了. Arch Linux的版本为2016.4.1 内核为4.4.5 在 ...

  9. 虚拟机上安装Linux操作系统

    很久之前就知道虚拟机这个东西,也都在虚拟机上安装过Windows的操作系统和Linux的操作系统,但是一直都没有去做笔记. 最近还是比较有时间,就移除了前两天刚刚安装的Linux系统,重新安装一次,做 ...

随机推荐

  1. Qt的内存管理

    在QT的程序中经常会看到只有new而不delete的情况,其实是因为QT有一套回收内存的机制,主要的规则如下: 1.所有继承自QOBJECT类的类,如果在new的时候指定了父亲,那么它的清理时在父亲被 ...

  2. Hadoop在Windows环境下的部署[转]

    http://blog.csdn.net/ruby97/article/details/7423088 经过一整天的折腾,参考了网上很多资料,我机器上的Hadoop似乎是配置成功了.下面分享一下详细的 ...

  3. DataGrid( 数据表格) 组件[8]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  4. 网页调用QQ聊天

    把下面的复制到地址栏里,QQ号为你要聊天的人的qq号,如果你没有登录你自己的qq,首先会调出qq登录窗体. tencent://message/?uin=QQ号­

  5. Android常见开源解决方案

    原文:http://m.pstatp.com/group/6348269082899497218/?iid=6036708044&app=news_article&tt_from=mo ...

  6. Linux 系统库函数coreleft 与sbrk简介

    coreleft   函数名: coreleft 功 能: 返回未使用内存的大小 用 法: unsigned coreleft(void); 程序例: #include <stdio.h> ...

  7. atoi()、inet_addr()等函数 time.h文件

    1.atoi() 原型:int atoi(const char *nptr); 函数说明:参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 ...

  8. params参数的使用方法

    params 将方法中实际参数列表中跟可变参数数组类型一致的类型,都处理为数组中的的元素 static void Main(string[] arr) { // int[] numbers={2,3, ...

  9. UVA10090 数论基础 exgcd

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  10. svn的使用--解决commit冲突问题

    1.如何降低冲突解决的复杂度: 1.当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度. 2.在提交时,写上明确的message,方便以后查找用户更新的原 ...