一、准备条件

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. oracle中 connect by prior 递归算法

    Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select ... from tablename sta ...

  2. 转义字符和ASCII

    一.字符(char)   数字(int)   屏幕显示 '\n'                      10                   换行 '\0'                   ...

  3. ajax返回json数组遍历添加到html

    大致需求为类型限制根据类型获取不同结果列表,再根据模糊查询搜索出结果,效果如下:

  4. ios NSString 去除空格和回车

    去除两端空格 NSString *temp = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCh ...

  5. Android在跳转市场进行评分问题总结

    原本以为应用评分是个很小的功能,但是一实现才发现真不是个小事.网上搜索资料没有找到答案,在很多开发群里面询问了很多人也没有解决问题,最后分析log,反编译看源码才终于有了些眉目,好吧,上代码: 1 t ...

  6. [React] React Router: Nested Routes

    Since react-router routes are components, creating nested routes is as simple as making one route a ...

  7. Pythn中的super用法

    在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: 代码如下: class A: def __init__(self): p ...

  8. .net对文件的操作之对文件目录的操作

    .NET 提供一个静态File类用于文件的操作,下面列出它的主要操作方法. 返回值类型 方法名称 说明 bool Exists(string path) 用于检查指定文件是否存在 void Copy( ...

  9. HTML与CSS入门——第五章 使用文本块和列表

    知识点: 1.在页面上对齐文本的方法 2.三种HTML列表的使用方法 3.在列表中放置列表的方法 5.1 在页面上对齐文本: 父元素内子元素文本的居中:在控制父元素的text-align:center ...

  10. (转)asp.net(C#)手记之Repeater与两级菜单

    先来张图片说明下我们要实现的菜单: 这个菜单只实现了2级哈. 我采用的方法是嵌套2个Repeater. 先看下数据库中的表结构: 数据: 上代码: aspx: <asp:Repeater ID= ...