Hadoop安装详解及安装错误的解决方案

特此声明:本内容所有详细内容一下面提供的附件形式出现,了解详细内容可查看附件

从4月28号搭建hadoop平台,到今天已经足足5天了,不断地改配置,敲命令,可以说真是人生一大快事吗?好了废话不多说,正式进入我的安装过程:

目录:

第一篇:Ubuntu13.1安装

第二篇:Sublime Text2安装

第三篇:hadoop+jdk1.8.0安装+ssh无密码登录

第四篇:出现的问题及解决办法(见另一篇博客)

正文:

第一篇:

我用的是Ubuntu13.1,大家可以到我的云盘下载,下面是链接:

http://yunpan.cn/cjdvW5Abzap3I  访问密码 d13e

系统的安装我觉的是没什么说的必要的,给大家一个链接好了:

http://my.oschina.net/liangbo/blog/206553

这里我主要强调一点就是VMware Tools的安装,VMware Tolls可以全屏我们的虚拟机里的系统,而且可以实现本地电脑和虚拟机系统里的文件的自由拖拽,所以为了使用方便,这个工具还是安上的好,安装时,点击下图所示的选项:

我由于已经安装过了,所以显示重新安装,没安装过得童鞋,就是InstallVMware Tolls

不过,如果点击重新安装后,发现1分钟过去了,还没反应,不要再等了,检查你的镜像设置,如下图:

其中linux.iso是虚拟机自带的工具镜像,就存放在VMware的安装目录下,相应的windows系统还有windows.iso,好了,Ubuntu的安装就说到这里

第二篇:

在这之前,我需要提醒大家先做这样一件事,就是创建一个我们专用的用户,这个用户我们在后面会给他赋予一些特定的权限,包括在建立Hadoop集群时我们使用的用户名最好是一致的,这样会省去很多麻烦。

创建用户的方法有很多,我的过程如下:

然后,给新创建的用户赋予sudo权限,修改配置文件/etc/sudoers

#vi /etc/sudoers

做如下修改

保存退出

若修改时提示readonly,则进行权限修改,执行以下命令

#chmod 750 /etc/sudoers

然后我们在新创建的用户名下,执行以下步骤

Sublime Text2的安装参考以下博客:

http://www.linuxidc.com/Linux/2013-05/84228.htm

第三篇:

从Apache官网上下载Hadoop-1.2.1版本,Hadoop的安装模式分为三种,分别是:单机模式、伪分布模式及全分布模式。默认安装模式是单机模式。这里我们JDK和Hadoop一起进行

jdk下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

进去之后,选择Accept License Agreement,下载我们需要的版本

hadoop下载链接:http://apache.fayea.com/hadoop/common/hadoop-1.2.1/

下载Hadoop-1.2.1.tar.gz这一版本比较稳定

1) 解压TAR文件

$tar –zxvf hadoop-1.2.1.tar.gz

$tar  -zxvf jdk-8u45-linux-i586-demos.tar.gz

2)将解压后的文件按如下目录存放(也可以自己定义)

$cp hadoop-1.2.1/opt/hadoop

$cp jdk1.8.0_40/usr/bin/java

3) 修改配置文件/etc/profile,还有/opt/hadoop/conf/hadoop-env.sh

在/etc/profile

在/opt/hadoop/conf/hadoop-env.sh

把# export JAVA_HOME=/usr/lib/j2sdk1.5-sun的#去掉

并改为 export JAVA_HOME=/usr/bin/java (根据自己的实际java路径来写)

4) 保存退出后,查看是否安装成功,执行下面的命令

5)hadoop安装

上面其实已经实现了单机安装,接下来我们要做的是Hadoop的伪分布式安装

伪分布式安装涉及如下几个文件,core-site.xml,hdfs-site.xml,mapred-site.xml,slaves,masters,它们都在/opt/hadoop/conf目录下

下面来看看他们都是怎么配置的?

core-site.xml


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19


<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<!--  fs.default.name - 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。-->

<property>

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

<value>hdfs://Ubuntu1:9000</value>

</property>

<!--hadoop.tmp.dir是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中-->

<property>

<name>hadoop.tmp.dir</name>

<value>/hadoop/tmp/hadoop_tmp</value>

</property>

</configuration>

hdfs-site.xml


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30


<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>dfs.data.dir</name>

<value>/hadoop/appdata/data</value>

<description>

Determines where on the local filesystem an DFS data node should store its blocks. If this is a comma-delimited list of directories,then data will be stored in all name directories, typically on different devices.Directories that do not exit are ignored.

</description>

</property>

<property>

<name>dfs.name.dir</name>

<value>/hadoop/appdata/name</value>

<description>

Determines where on the local filesystem the DFS name node should store the name table.If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy.

</description>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

<description>

Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time.

</description>

</property>

</configuration>

mapred-site.xml


1

2

3

4

5

6

7

8

9

10

11

12

13

14


<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

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

<value>Ubuntu1:9001</value>

<description>

The host and port that the MapReduce job tracker runs at.If "local",then jobs are run in-process as a single map and reduce task.

</description>

</property>

</configuration>

masters

Ubuntu1

slaves

Ubuntu1

Ubuntu2

Ubuntu3

这就完成了伪分布式安装,这里我们也不需要看到什么结果,所以直接进行分布式安装

安装前,我们先列一个表格,把我们总体的思路表达一下


主机名


Hadoop角色


IP


Hadoop  jps命令集


Hadoop用户


Hadoop安装目录


Ubuntu1


Masters

Slaves


192.168.1.131


NameNode

DataNode

JobTracker

TaskTracker

SecondaryDameNode


创建相同的用户组名:yzy3安装hadoop-2.1.1时使用yzy3用户,并且yzy3的文件夹归属也是“yzy3:yzy3”


/opt/hadoop


Ubuntu2


Slaves


192.168.1.132


DataNode

TaskTracker


Ubuntu3


slaves


192.168.1.133


DataNode

TaskTracker


Windows


开发测试环境


安装JDK与Eclipse本身不需要安装Hadoop,但需要Hadoop安装包下面的JAR包

Ubuntu1,Ubuntu2,Ubuntu3分别为安装在虚拟机上的三台设备,这三台设备包括windows主机实现了互通,并建立了一个集群,接下来按照我们上面对Ubuntu1的配置,对Ubuntu2和Ubuntu3做相同的配置。

配置完成后,修改/etc/hosts文件,修改如下:

其他两台机器做同样的修改,改完之后,可以ping一下,看看能否互通,如果实现互通,则进行下面的步骤,那就是配置SSH免密码登录

配置前先确保我们开启了ssh服务,

查看是否开启:

$ps -e|grep ssh

如下所示,则已开启

否则,开启,开启ssh服务,敲如下命令:

$/etc/init.d/ssh start

当然三台机器要都开启ssh服务才可以,所以按上面的步骤将三台机器的ssh服务全部开启,

SSH免密码登录部分,进行如下配置,切记一定要在之前创建的用户模式下进行

$cd ~

$ssh-keygen -t rsa

然后一直按回车

以上步骤都是在Ubuntu1,Ubuntu2,Ubuntu3下共同做的

结束后,查看一下,提示:在上面生成密钥后,新建的文件夹.ssh为隐藏文件,需要用ll -a来查看,我们会发现在当前目录下已经包含了.ssh的目录

接下来主要在Ubuntu1下完成就可以了,Ubuntu1是我们的master节点

$cd .ssh

$ls

我们会看到在这个目录下有两个文件,分别是id_rsa , id_rsa.pub,接下来执行如下命令

$cp id_rsa.pub authorized_keys

$scp authorized_keysUbuntu2:/home/yzy1/.ssh

$scp authorized-keysUbuntu3:/home/yzy1/.ssh

这里由于是第一次登录,输入yes继续后,需要输入对方的密码,但以后就不需要了

我们可以来测试一下:

如上图所示,无密码登录成功

这里我唯一没有成功就是无法实现本机无密码登陆,后来查了很多资料,也实施了很多方案就是不管用,也不管了,反正就一个节点需要输密码,谁看到这篇博客,如果知道解决办法,就在评论里告诉我一声,先说声谢谢了。

接下来进行hadoop分布式安装的最后一步,就是启动hadoop,建立集群

在这之前,我们需要做一件事,回顾刚刚写的配置文件,core-site.xml中我们给了文件系统依赖的基础配置,其路径为/hadoop/tmp/hadoop_tmp所以我们要创建这个目录

#mkdir /hadoop/tmp/tmp

这里还需要在hadoop下创建一个文件夹,用于存放datanode和namenode两个节点,这两个节点是自动生成的,不需要创建

#cd /hadoop

#mkdir appdata

接下来格式化namenode

$hadoop namenode-format

当出现hadoop command not found 时,从新执行配置文件,我是每次重新开机后就要重新编译,后来,也没找到原因,不过每次不行的话,再执行下

$source /etc/profile就可以了。

接下来启动hadoop

$start-all.sh

启动后,$jps查看

如上图所示,集群建立成功

停止hadoop

$stop-all.sh

时间: 2024-10-26 09:54:49

Hadoop安装详解及安装错误的解决方案的相关文章

Hadoop 发行版本 Hortonworks 安装详解(四) 开启Kerberos集群安全验证

一.安装KDC Server 需要选择一个节点安装KDC服务器,这里选择备用头结点 yum install -y krb5-server krb5-libs krb5-workstation 修改配置文件 vi /etc/krb5.conf 把 EXAMPLE.COM 改为 自己想要的名字,[realms]配置段也需要根据实际情况修改 创建数据库 kdb5_util create -s -r EXAMPLE.COM(改成实际名称) 耐心等待一会,创建数据库有点慢 随后会要求你输入数据库主密钥并完

Cloudera impala简介及安装详解

一.Impala简介 Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL.除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax).Impala还提供了一个熟悉的面向批量或实时查询和统一平台. 二.Impala安装 1.安装要求 (1)软件要求 Red Hat Enterprise Linux (RHEL)/CentOS 6.2 (

Storm集群安装详解

Storm集群安装详解 storm有两种操作模式: 本地模式和远程模式. 本地模式:你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来; 远端模式:你提交的topology会在一个集群的机器上执行. 本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以“注意事项”的形式给出. 1.   Strom集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工

httpd 安装详解(待更新)

httpd 安装详解 安装httpd: rpm包:CentOS发行版中直接提供 编译安装:定制新功能,或其它原因 安装方式: yum install httpd CentOS 6:httpd-2.2 程序环境: 配置文件: /etc/httpd/conf/httpd.conf/httpd /etc/httpd/conf.d/*.conf 服务脚本: /etc/rc.d/init.d/httpd 脚本配置文件:/etc/sysconfig/httpd 主程序文件: /usr/sbin/httpd

Windows下caffe安装详解(仅CPU)

本文大多转载自 http://blog.csdn.net/guoyk1990/article/details/52909864,加入部分自己实战心得. 1.环境:windows 7\VS2013 2.caffe-windows准备 (1)下载官方caffe-windows并解压,将 .\windows\CommonSettings.props.example备份,并改名为CommonSettings.props.如图4所示: 图 4:修改后的CommonSettings.props文件 附带说明

zabbix专题:第二章 zabbix3.0安装详解

zabbix3.0安装详解 本节目录大纲 安装配置mariadb 安装服务器端 zabbix web配置 web页面初始化 更改为中文 中文乱码问题 zabbix专题:第二章 zabbix3.2安装详解 zabbix专题:第二章 zabbix3.2安装详解 官方文档地址: https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages 我安装zabbix用的rpm包,可以从官网的源里面去下载,需

详解MyEclipse10 安装Spket 1.6.23(支持Extjs4.1.1及jQuery1.8)

用MyEclipse10安装Spket主要有3种方式:在线下载更新.下载Zip覆盖.下载jar包安装.我用在线安装尝试了N次终于还是失败,只好下载jar包来安装,在失败了M次之后终于安装成功,现在网上这方面的讲解还是比较少的(很多还都是乱讲的),我把我安装的过程整理了下,希望大家都能成功...   一.首先到spket官网下载最新的jar安装包(当前最新的是spket 1.6.23) spket官网下载地址:http://www.spket.com/download.html   二.下载spk

Linux下项目与事务跟踪工具JIRA搭建汉化安装详解

1,安装java环境 [Java环境安装请查阅java环境安装] 2,安装数据库并添加jira数据库和用户授权 [MySql环境安装请查阅mysql安装] mysql> create database jira charactor set 'utf8'; mysql> grant all on jiradb.* to `jira`@`%` identified by 'jira123'; mysql> flush privileges; 3,相关软件包下载地址及说明 atlassian-

yum httpd安装详解

yum httpd安装详解: 1.安装httpd yum -y install httpd 2.关闭selinux,iptables程序: [[email protected] ~]# service iptables stop [[email protected] ~]# setenforce 0 3.查看下当前系统80端口是否被占用: [[email protected] ~]# ss -tnl State       Recv-Q Send-Q