一、准备工作

1. 远程连接工具的安装

PieTTY 是在PuTTY 基础上开发的,改进了Putty 的用户界面,提供了多语种支持。Putty 作为远程连接linux 的工具,支持SSH 和telnet。但是,我们使用的时候经常出现乱码。PieTTY 可以很好地解决这个问题。该软件不需要安装,直接打开使用即可,如图1.1 所示

图 1.1

在Host Name 中输入Centos的ip 地址,其余设置使用默认值,然后点击最下面的“Open”按钮,就会提示输入用户名和密码,我们需要输入Centos的用户名root,密码hadoop 即可连接。如图1.2所示。 

图 1.2

2. 文件传输工具的安装

WinSCP 是一个Windows 环境下使用SSH 的开源图形化SFTP 客户端,同时支持SCP 协议。它的主要功能就是在本地与远程计算机间安全地复制文件。这是一个开源的软件,被托管在全球最大开源软件托管平台SourceForge。

2.1WinSCP 安装

安装分成非常简单,按照提示一步步操作即可,中间没有需要做出选择、判断的地方。安装完成后,打开软件,如图1.3所示,输入相应信息,点击登陆,弹出新的窗口对话框,如图1.4所示。

图 1.3

图 1.4

在图1.4中,左侧显示宿主机windows 的文件系统,右侧显示远程Centos 的文件系统。可以使用该工具进行宿主机和客户机之间的文件传输,类似FTP。下面的学习中,在Centos 中使用的很多软件就是通过WinSCP 从Windows 传输过去的。

二、hadoop的伪分布式安装

1. 设置宿主机(windows)与客户机(安装在虚拟机中的Linux)网络连接

1.1 host-only  宿主机与客户机单独组网。

好处:网络隔离

坏处:虚拟机与其他服务器之间不能通信

1.2 brige 客户机与宿主机在同一个局域网中。

好处:都在同一个局域网可以相互访问

坏处:不安全

此步骤前面已经介绍过,已完成

2. hadoop安装具体步骤

2.1 设置静态ip

在centos桌面右上角的图标上,右键修改。  执行命令 service network restart,在Centos系统桌面右击选择open in terminal,然后输入命令,如图2.1。

aaarticlea/png;base64,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" alt="" width="604" height="181" />

图 2.1

验证:执行命令 ifconfig如图2.2所示,表示静态ip设置成功。

图 2.2

2.2 修改主机名

(1) 修改当前会话中的主机名,执行命令 hostname hadoop,如图2.3

 图 2.3

(2) 修改配置文件中的主机名,执行命令 vi /etc/sysconfig/network,将HostName属性改为hadoop,如图2.4,2.5

图 2.4

图 2.5

注意:vi  只读,不能写(vi 后直接跟文件名)
              按a进入编辑模式---编辑,能读,也能写
              Esc键,然后按“shift+:”组合键,输入wq保存退出,退出不存为q!
         验证:重起机器 reboot -h now
关机 shutdown -h now

验证:重起机器 reboot -h now,之后用hostname命令查询主机名,是否为hadoop,如图2.6所示

图 2.6

2.3 把主机名和ip名绑定  (即设置DNS 解析)

(1)执行命令 vi /etc/hosts,增加一行内容如下 10.1.14.24 hadoop

(2)保存退出,如图2.7

图 2.7

(3)验证:ping hadoop,验证是否成功,如图2.8所示绑定成功

图2.8

2.4    关闭防火墙

  • 执行命令 service iptables stop
  • 验证:service iptables status,如图2.9所示防火墙关闭成功

图 2.9

2.5    关闭防火墙自动运行

执行命令 chkconfig iptables off

验证:chkconfig --list,如图2.10所示关闭成功

图 2.10

2.6 设置SSH(secure shell)的免密码登陆

如果我们需要远程管理其他机器的话,一般使用远程桌面或者telnet。linxu 服务器几乎都是命令行,所以只能使用telnet 了。telnet 的缺点是通信不加密,非常不安全,只适合于内网访问。为解决这个问题,推出了加密的通信协议,即SSH。SSH 的全称是Secure Shell,使用非对称加密方式,传输内容使用rsa 或者dsa 加密,可以有效避免网络窃听。hadoop 的进程之间通信使用ssh 方式,需要每次都要输入密码。为了实现自动化操作,我们下面配置SSH 的免密码登录方式。

首先到用户主目录下,如图2.11 所示。

图 2.11

在“ls -a”命令显示的文件中,最后一列中间一项是“.ssh”,该文件夹是存放密钥的。注意该文件夹是以“.”开头的,是隐藏文件。待会我们生成的密钥都会放到这个文件夹中。

(1) 执行命令 ssh-keygen -t rsa 产生秘钥,位于~/.ssh文件夹中,如图2-12 所示。

图 2.12

解释一下:命令“ssh-keygen -t rsa”表示使用rsa 加密方式生成密钥, 回车后,会提示三次输入信息,我们直接回车即可

(2) 执行命令 cp ~/.ssh/id_rsa.pub   ~/.ssh/authorized_keys,如图2.13 所示,多了两个文件,一个是公开密匙,一个是访问用户名字信息。

图 2.13

其中,命令“cp id_rsa.pub authorized_keys”用于生成授权文件。至此,配置部分完成了。

这里为什么要使用ssh 登录本机哪?
因为hadoop 在本机部署时,需要使用ssh 访问。 而文件夹“.ssh”中的三个文件的权限,是有要求的,“自己之外的任何人对每个文件都没有写权限”。另外,“.ssh”文件夹是700 权限。如果权限有问题,会造成SSH 访问失败。

(3) 现在开始验证SSH 无密码登录,ssh localhost 选择yes,然后exit退出(exit用于退出终端),如图2.14所示。

图 2.14

执行“ssh hadoop”意味着使用“ssh”通信协议访问主机“hadoop”,第一次执行时需要确认;第二次不再确认了。这就是无密码登录。当登录到对方机器后,退出使用命令“exit”。这两次操作时,注意观察主机名变化。读者可以执行命令“ssh hadoop”,验证dns对hadoop 解析是否正确。

注意:使用命令ssh 时,一定要观察主机名的变化。在操作ssh时,由于大量的使用ssh 登录退出,忘记自己目前在哪台机器了,执行了大量错误的操作。另外,如果多次执行ssh,每次都要输入确认信息的话,说明配置失败了。
(a) 可以删除文件夹“.ssh”,重新配置。
(b) 也可以重启虚拟机再配置。   
(c) 如果还搞不定,给你个绝招” 删除/etc/udev/rules.d/70-persistent-net.rules 文件,重启系统”。

2.7    安装jdk

我使用的版本是Oracle 的jdk-6u24-linux-i586.bin。

(1) 执行命令 rm -rf /usr/local/* 删除所有内容

(2) 使用winscp把jdk和hadoop安装包复制到linux中的/usr/local中,直接拖过去就行,如图2.15所示。

图 2.15

(3) 进入到/usr/local 目录下,执行命令 chmod u+x jdk-6u24-linux-i586.bin 授予执行权限

(4) 进入到/usr/local 目录下,执行命令 ./jdk-6u24-linux-i586.bin 解压文件,如图2.16所示

图 2.16

(5) 执行命令 mv  jdk1.6.0_24  jdk 重命名 方便以后引用,如图2.17 所示

图 2.17

(6) 执行命令 vi /etc/profile 设置环境变量,增加两行内容

export JAVA_HOME=/usr/local/jdk

export PATH=.:$JAVA_HOME/bin:$PATH

保存退出,如图2.18所示

图 2.18

执行命令   source /etc/profile 让该设置生效 注:若无法识别此命令,则可能自己的profile文件编辑错

验证:java -version,如图2.19所示

图 2.19

解释一下上面的配置内容:  
 “export”是关键字,用于设置环境变量。我们设置了两个环境变量,一个是JAVA_HOME,一个是PATH。对于环境变量的引用,使用“$”,多个环境变量之间的连接,使用“:”。命令“source”是为了让文件中的设置立刻生效。

2.8 安装hadoop

hadoop 的安装分为本地模式、伪分布模式、集群模式。本地模式是运行在本地,只负责存储,没有计算功能,不讲述。伪分布模式是在一台机器上模拟分布式部署,方便学习和调试。集群模式是在多个机器上配置hadoop,是真正的“分布式”。进入hadoop所在目录/usr/local,执行以下操作

(1) 执行命令 tar -zxvf  hadoop-1.1.2.tar.gz

(2) 执行命令 mv hadoop-1.1.2 hadoop,这时hadoop 目录的完整路径是“/usr/local/hadoop”。

(3) 执行命令 vi /etc/profile 设置环境变量,增加一行内容,修改一行内容

export HADOOP_HOME=/usr/local/hadoop

export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

保存退出

执行命令 source /etc/profile 让设置生效

(4) 修改hadoop的配置文件,位于$HADOOP_HOME/conf目录下

WinSCP修改四个配置文件,分别是hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml修改哪个,双击点开哪个就行,如图 2.20所示

图 2.20

【hadoop-env.sh】

export JAVA_HOME=/usr/local/jdk/

【core-site.xml的修改内容如下】

<configuration>
  <property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>

【hadfs.xml的修改内容如下】

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

【mapred-site.xml的修改内容如下】

<configuration>                        
  <property>                            
    <name>mapred.job.tracker</name>                            
    <value>hadoop:9001</value>                            
    <description>change your own hostname</description>                        
  </property>                    
</configuration>

(5) 执行命令 hadoop namenode -format 对hadoop进行格式化

(6) 执行命令 start-all.sh 启动    执行命令    stop-all.sh 将hadoop关闭

验证:

执行命令 jps 查看java进程(5个),如图2.21所示。

JobTracker、DataNode、NameNode、TaskTracker、SecondaryNameNode

图 2.21

通过linux中浏览器 hattp://hadoop:50070和http://hadoop50030 来验证。也可以可以修改C:\Windows\System32\drivers\etc\hosts文件,添加一行内容,10.1.14.24 hadoop。如果添加还不能访问,就关闭hadoop,重启hadoop,再次关闭Linux防火墙,这样就可以在Windows浏览器中中访问 hattp://hadoop:50070和http://hadoop50030,如图2.22,2.23所示

图 2.22 Windows下

2.23 Linux下

2.9 NameNode进程没有启动成功

  • 没有格式化
  • 配置文件只copy,不修改
  • hostname与ip没有绑定
  • SSH的免密码登陆没有配置成功

Hadoop开发第3期---Hadoop的伪分布式安装的更多相关文章

  1. 吴裕雄--天生自然HADOOP操作实验学习笔记:单节点伪分布式安装

    实验目的 了解java的安装配置 学习配置对自己节点的免密码登陆 了解hdfs的配置和相关命令 了解yarn的配置 实验原理 1.Hadoop安装 Hadoop的安装对一个初学者来说是一个很头疼的事情 ...

  2. Hadoop大数据初入门----haddop伪分布式安装

    一.hadoop解决了什么问题 hdfs 解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量mapreduce 解决了海量数据的分析处理,通用性强,易开发,健壮性 yarn 解决了资源管理调度 二. ...

  3. Hadoop单机和伪分布式安装

    本教程为单机版+伪分布式的Hadoop,安装过程写的有些简单,只作为笔记方便自己研究Hadoop用. 环境 操作系统 Centos 6.5_64bit   本机名称 hadoop001   本机IP ...

  4. 指导手册02:伪分布式安装Hadoop(ubuntuLinux)

    指导手册02:伪分布式安装Hadoop(ubuntuLinux)   Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...

  5. hadoop伪分布式安装之Linux环境准备

    Hadoop伪分布式安装之Linux环境准备 一.软件版本 VMare Workstation Pro 14 CentOS 7 32/64位 二.实现Linux服务器联网功能 网络适配器双击选择VMn ...

  6. hadoop 0.20.2伪分布式安装详解

    adoop 0.20.2伪分布式安装详解 hadoop有三种运行模式: 伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式. 完全分布式至少有3个节点,其中一个做master,运行名 ...

  7. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  8. hadoop 2.7.3伪分布式安装

    hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...

  9. 第二章 伪分布式安装hadoop hbase

    安装单机模式的hadoop无须配置,在这种方式下,hadoop被认为是一个单独的java进程,这种方式经常用来调试.所以我们讲下伪分布式安装hadoop. 我们继续上一章继续讲解,安装完先试试SSH装 ...

随机推荐

  1. UWP开发细节记录:加载图像文件到D2D位图和D3D纹理

    在UWP中加载文件一般先创建 StorageFile 对象,然后调用StorageFile.OpenReadAsync 方法得到一个IRandomAccessStream 接口用来读取数据: Stor ...

  2. Problem1-Project Euler

    Problem1-Project Euler Multiples of 3 and 5   If we list all the natural numbers below 10 that are m ...

  3. 给Jqgrid添加横向滚动条,实现点击行数据,触发事件。

    function reloadNoKitScheduleGridData() { $("#noKittingScheduleList").jqGrid({ url: ". ...

  4. Oracle EBS 查看双节点是否做了信任

    perl $AD_TOP/patch/115/bin/txkRunSSHSetup.pl verifyssh -contextfile=$CONTEXT_FILE -hosts=erpapp1,erp ...

  5. android打开存储卡(TF卡\SD卡)中的sqlite文件

    android的SDK直接支持sqlite3的API.   打开SD卡上面的sqlite数据库,不需要SQLiteOpenHelper的继承类.只需要,SQLiteDatabase中的一些静态方法.如 ...

  6. EF使用笔记

    最近写接口导数据到大数据中心,但是实体数据字段非常多,如果手动去建数据库表和写插入语句效率非常低,所以想都试一试EF,效率之高,简直吓人,所以此文详细记录操作过程以备下次使用时之用.仅需六部就可完成建 ...

  7. Linux清除用户登录记录和命令历史方法(个人笔记)

    清除登陆系统成功的记录 [root@localhost root]# echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等信息 [root@localhost roo ...

  8. OpenGL超级宝典笔记——画三角形(转)

    http://my.oschina.net/sweetdark/blog/161002 学习了画线的知识,我们可以使用GL_LINE_LOOP来画闭合的多边形.但是使用这种方式画出来的只有线框,多边形 ...

  9. 56_实现类似spring的可配置的AOP框架

    > config.properties  配置文件   key=类名 > BeanFactory  Bean工厂,负责得到bean  getBean("xxx") &g ...

  10. FZU Monthly-201901 tutorial

    FZU Monthly-201901 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 AHG F B CE D 编码难度 ...