说明:

任务:搭建Hadoop伪分布式版本。

目的:快速搭建一个学习环境,跳过这一环境,快速进入状态,使用Hadoop一些组件做些任务

没有选择2.7,觉得bug比较多,不稳定。

选择伪分布式简单快速

环境:

Win 7  64  8G 内存 ,4核

VM 12,1 虚拟机  3G 内存

ubuntu 4.4.0  x86-64

Hadoop 2.6.4

JDK 1.7.0_80

1.  虚拟机Linux准备

安装虚拟机,(可以选择克隆方式),网络选择NAT。

创建用户hadoop,  配置 sudo 命令,文件设置 (待细化:Baidu)

后续所有操作以hadoop用户进行,没有权限就 sudo

1.1 网络IP 配置(偷懒,采用默认分配, 如果多节点要设置, 待细化)

hadoop@ubuntu:~$ ifconfig
ens33 Link encap:Ethernet HWaddr :0c::2e:0f:
inet addr:192.168.249.144 Bcast:192.168.249.255 Mask:255.255.255.0
inet6 addr: fe80:::dd35:2b5d:4dba/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (209.8 MB) TX bytes: (1.8 MB)

1.2 主机名设置

修改以下三个地方:

a

hadoop@ubuntu:~$ sudo vi /etc/hostname
hadoop@ubuntu:~$ more /etc/hostname
ssmaster

b

hadoop@ubuntu:~$ hostname
ubuntu
hadoop@ubuntu:~$ sudo hostname ssmaster
hadoop@ubuntu:~$ hostname
ssmaster

c

hadoop@ubuntu:~$ sudo vi /etc/hosts

修改后:

127.0.0.1       localhost
#127.0.1.1      ubuntu
192.168.249.144 ssmaster

d  win7设置

在 C:\Windows\System32\drivers\etc\hosts 中添加如下

后续通过win7 通过主机名直接访问linux

192.168.249.144 ssmaster
C:\Users\Administrator>ping ssmaster

正在 Ping ssmaster [192.168.249.144] 具有  字节的数据:
来自 192.168.249.144 的回复: 字节= 时间<1ms TTL=
来自 192.168.249.144 的回复: 字节= 时间=1ms TTL=64      

2. 安装JDK

配置环境变量

vi /etc/profile  在末尾添加保存

export JAVA_HOME=/home/szb/hadoop/jdk1..0_80
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

执行命令生效  source /etc/profile

如下安装成功

hadoop@ubuntu:~$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) -Bit Server VM (build 24.80-b11, mixed mode)

3. SSH 设置

先测试  ssh ssmaster (当前主机名,前面设置)

需要密码表示还没设置。

执行以下命令,一路回车。

hadoop@ubuntu:~$ cd ~
hadoop@ubuntu:~$ ssh-keygen -t rsa
hadoop@ubuntu:~/.ssh$ cp id_rsa.pub authorized_keys
hadoop@ubuntu:~/.ssh$ ls
authorized_keys id_rsa id_rsa.pub known_hosts
hadoop@ubuntu:~/.ssh$ more authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxjtfFUPSmTNNHJ4+4SubFrNEz7Teyu3HHvq7Lq0cOWXEJ6r53zA9LCawDyKUsrv5pNly4bqlt6SWJSELySieu+WgPVL6UNwROUE
uBDagbnURviUVt6dXLcCOlqsCvy0AQsk+YIvS+qQhmE839X4W+Zd5xBZgUlGIqS1WhXbCs8sHiho09rxA0MIBXBlyvkfwmh71ubXny6GQHH3ZriyRZO0KrcMgwPHgsC/83fzSujnw5
BKiesJkpLHejmCo8m+eqW1Hcmj7OFMnAbaih86rqUnAE4rNrJnQUin73KgUFKQeHwnGRL3CPWR/KXdNvoEyUPHc/eeW0HhfK8GCWlQ/P hadoop@ssmaster

测试,应该无密码登录成功

ssh ssmaster

exit

3.准备hadoop 安装包

下载到任意目录

解压

tar -zxvf hadoop-2.6.4.tar.gz

移动解压包

sudo mv hadoop-2.6.4 /opt/

4.配置hadoop

4.1 添加hadoop路径到环境变量

sudo vi /etc/profile  修改后如下

export HADOOP_HOME=/opt/hadoop-2.6.
export JAVA_HOME=/home/szb/hadoop/jdk1..0_80
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

source  /etc/profile  生效

4.2  创建hdfs 数据存放目录

在hadoop安装目录下创建 dfs/name  dfs/data

hadoop@ssmaster:/opt/hadoop-2.6.$ pwd
/opt/hadoop-2.6.
hadoop@ssmaster:/opt/hadoop-2.6.$ mkdir dfs
hadoop@ssmaster:/opt/hadoop-2.6.$ ls
bin dfs etc include lib libexec LICENSE.txt logs NOTICE.txt README.txt sbin share tmp
hadoop@ssmaster:/opt/hadoop-2.6.$ cd dfs
hadoop@ssmaster:/opt/hadoop-2.6./dfs$ mkdir name data
hadoop@ssmaster:/opt/hadoop-2.6./dfs$ ls
data name

4.3 添加jdk路径到 hadoop xxxx.sh  脚本文件中

所在路径  hadoop@ssmaster:/opt/hadoop-2.6.4/etc/hadoop$

在以下文件中添加

export JAVA_HOME=/home/szb/hadoop/jdk1.7.0_80

hadoop-env.sh

yarn-env.sh

mapred-env.sh

4.4 修改slaves文件

所在路径  hadoop@ssmaster:/opt/hadoop-2.6.4/etc/hadoop$

修改slaves文件内容为主机名,修改后:

hadoop@ssmaster:/opt/hadoop-2.6./etc/hadoop$ more slaves
ssmaster

4.5 配置xml文件

4.5.1 core-site.xml

修改后内容

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://ssmaster:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-2.6.4/tmp</value>
    </property>

</configuration>

备注:

fs.defaultFS     namenode的目录

hadoop.tmp.dir  中间临时结果存放目录

目前来说,core-site.xml文件的最小化配置,core-site.xml各项配置可参考:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/core-default.xml

4.5.2 hdfs-site.xml

修改后内容

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop-2.6.4/dfs/name</value>
    </property>
    <property>
        <name>dfs.namenode.data.dir</name>
        <value>/opt/hadoop-2.6.4/dfs/data</value>
    </property>

</configuration>

备注:

dfs.replication     副本数量,伪分布式为1,分布式一般为3

dfs.namenode.name.dir   namenode 数据目录

dfs.namenode.data.dir     datanode 数据目录

上述是hdfs-site.xml文件的最小化配置,hdfs-site.xml各项配置可参考:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

4.5.3 mapred-site.xml

首先 复制 mapred-site.xml.template 为 mapred-site.xml

添加内容:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

备注:

mapreduce.framework.name  mapreduce的资源管理组件,可以存在其他值

上述是mapred-site.xml最小化配置,mapred-site.xml各项配置可参考:http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

4.5.4 yarn-site.xml

修改后内容

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>ssmaster</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>    
</configuration>

备注:
yarn.resourcemanager.hostname  resourcemanager的节点。    (问题猜测 如果是分布式 ,可以与namenode不同节点,待验证)

yarn.nodemanager.aux-services   暂不清楚含义,有空了解

上述内容是yarn-site.xml的最小化配置,yarn-site文件配置的各项内容可参考:http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

5.启动Hadoop

5.1 格式化HDFS

hadoop@ssmaster:/opt/hadoop-2.6.4$  bin/hdfs namenode -format
最后日志有这样的,说明成功
16/10/22 19:40:40 INFO common.Storage: Storage directory /opt/hadoop-2.6.4/dfs/name has been successfully formatted.

5.2 启动HDFS

hadoop@ssmaster:/opt/hadoop-2.6.$ sbin/start-dfs.sh Starting namenodes on [ssmaster]ssmaster: starting namenode, logging to /opt/hadoop-2.6./logs/hadoop-hadoop-namenode-ssmaster.outssmaster: starting datanode, logging to /opt/hadoop-2.6./logs/hadoop-hadoop-datanode-ssmaster.outStarting secondary namenodes [0.0.0.0]The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.ECDSA key fingerprint is SHA256:ADBlLjhQ7xYbJRFQpw9t5OyA7+q7Yo50S+oK7liAnUk.Are you sure you want to continue connecting (yes/no)? yes0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.0.0.0.0: starting secondarynamenode, logging to /opt/hadoop-2.6.4/logs/hadoop-hadoop-secondarynamenode-ssmaster.out
hadoop@ssmaster:/opt/hadoop-2.6.$ jps
DataNode
NameNode
SecondaryNameNode
Jps

http://192.168.249:144:50070/

备注:

Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.

secondary namenode IP 为0,接下来提示yes/no,选择yes.

不知道怎么配置这里。 有空回头研究 [遗留小问题]

5.3 启动HDFS

hadoop@ssmaster:/opt/hadoop-2.6.$ sbin/start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /opt/hadoop-2.6./logs/yarn-hadoop-resourcemanager-ssmaster.out
ssmaster: starting nodemanager, logging to /opt/hadoop-2.6./logs/yarn-hadoop-nodemanager-ssmaster.out
hadoop@ssmaster:/opt/hadoop-2.6.$ jps
DataNode
NameNode
Jps
SecondaryNameNode
NodeManager
ResourceManager

http://192.168.249.144:8042/
http://192.168.249.144:8088/

hadoop web控制台页面的端口整理:

50070:hdfs文件管理

8088:ResourceManager

8042:NodeManager

JPS查看各个节点启动了,WEB 能打开各种页面,标志安装成功

6.保存虚拟机镜像

Z 总结:

Hadoop伪分布搭建初步成功
 
Z.1 存在的情况:[遗留研究]
  • 网络配置没有特意设置,由虚拟机自动分配,可能有潜在IP变化问题
  • hostname 大而全地设置,没有理清各个文件命令的功能
  • hdfs 启动是 secondname node  ip显示为0000,提示连接拒绝, 一定某个地方可以设置

Z.2 后续:

  • 重点研究hadoop使用,安装eclipse,常用操作,jar调用
  • 搭建spark环境,常用操作
  • 有空研究纯分布式搭建
  • 有空研究hadoop配置各个参数的含义,配置

Q 其他:

不同linux系统拷贝文件

scp hadoop-2.6.4.tar.gz  hadoop@192.168.249.144:~/

各种配置文件打包上传:

本机hadoop安装后涉及的文件.rar   任务:上传到某个地方,link过来 [遗留完善]

C 参考:

Ref 1

主要参考这篇教程

http://blog.csdn.net/stark_summer/article/details/43484545

[b0001] 伪分布式 hadoop 2.6.4的更多相关文章

  1. VMwareWorkstation 平台 Ubuntu14 下安装配置 伪分布式 hadoop

    VMwareWorkstation平台Ubuntu14下安装配置伪分布式hadoop 安装VmwareStation 内含注册机. 链接:https://pan.baidu.com/s/1j-vKgD ...

  2. 配置单节点伪分布式Hadoop

    先写的这一篇,很多东西没再重复写. 一.所需软件 jdk和ubuntu都是32位的. 二.安装JDK 1.建jdk文件夹 cd usr sudo mkdir javajdk 2.移动mv或者复制cp安 ...

  3. 单节点伪分布式Hadoop配置

    本文所用软件版本: VMware-workstation-full-11.1.0 jdk-6u45-linux-i586.bin ubuntukylin-14.04-desktop-i386.iso ...

  4. 基于伪分布式Hadoop搭建Hive平台详细教程

    一.搭建环境的前提条件 环境:Linux系统 Hadoop-2.6.0 MySQL 5.6 apache-hive-2.3.7 这里的环境不一定需要和我一样,基本版本差不多都ok的,所需安装包和压缩包 ...

  5. CentOS7上安装伪分布式Hadoop

    1.下载安装包 下载hadoop安装包 官网地址:https://hadoop.apache.org/releases.html 版本:建议使用hadoop-2.7.3.tar.gz 系统环境:Cen ...

  6. 在虚拟机环境下,电脑间拷贝配置好的伪分布式Hadoop环境,出现namenode不能启动的问题!

    原因:在原来的电脑上配置伪分布的时候,已经将hostname与IP绑定了,所以拷贝到别的电脑的时候,重新启动的时候就会失败,因为新的电脑的IP不见得就和原来的电脑的IP一样!因为在不同的网络中,在NA ...

  7. ubuntu 下安装伪分布式 hadoop

    安装准备: (1)hadoop安装包:hadoop-1.2.1.tar.gz (2)jdk安装包:jdk-7u60-linux-i586.gz (3)要是须要eclipse开发的话 还须要eclips ...

  8. hadoop2.6.0实践:004 启动伪分布式hadoop的进程

    [hadoop@LexiaofeiMaster hadoop-2.6.0]$ start-dfs.shStarting namenodes on [localhost]localhost: start ...

  9. hadoop的基本概念 伪分布式hadoop集群的安装 hdfs mapreduce的演示

    hadoop 解决问题: 海量数据存储(HDFS) 海量数据的分析(MapReduce) 资源管理调度(YARN)

随机推荐

  1. DevExpress的TreeList实现显示本地文件目录并自定义右键实现删除与重命名文件

    场景 使用DevExpress的TreeList显示本磁盘下文件目录并在树节点上右键实现删除与添加文件. 效果 自定义右键效果 实现 首先在包含Treelist的窗体的load方法中对treelist ...

  2. 总结在ssm整合中,Mybatis出现Mapped Statements collection already contains value for xxxxx的解决方案

    先贴一段报错信息: 前面的都不是很重要,看最后灰色标注的那段.... 严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.Contex ...

  3. 松软科技web课堂:JavaScript 数组迭代方法

    数组迭代方法对每个数组项进行操作,听着挺高深,其实,就是对数组对象一次性逐一进行一种操作的一种叫法.(文章来源:www.sysoft.net.cn,加v:15844800162深度交流) Array. ...

  4. Android Gradle 学习笔记(四):Gradle 构建脚本

    本节我们从整体的角度来介绍一下Gradle. 一.setting.gradle 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认的名字就是setting.gradle, ...

  5. 推荐一个Emoji框架

    表情的需求很常见.有的可以看看,没有的可以先收藏以备不时之需. 这个框架的反应速度很快,界面简洁漂亮,功能完备. 而且代码简洁易懂,便于学习. GitHub:https://github.com/ne ...

  6. Good start is a half success(2019-04-07)

    一. 回顾你过去将近3年的学习经历. (1)当初你报考的时候,是真正喜欢计算机这个专业吗?. (2)你现在后悔选择了这个专业吗?. (3)你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其它领域 ...

  7. 模块二之序列化模块以及collections模块

    模块二之序列化模块以及collections模块 一.序列化模块 json模块 ''' 序列化:将python或其他语言的数据类型转换成字符串类型 json模块: 是一个序列化模块. json: 是一 ...

  8. 向busybox中添加自己的applet

    关键词:buysbox.applet等. busybox常用于嵌入式环境,集成中断Linux命令和工具.这些工具简单高效. 下面从如下方面了解: 这些命令是一个软链接到busybox,那么是如何从软连 ...

  9. Linux部署NFS服务共享文件

    NFS(网络文件系统)用于linux共享文件 第1步:配置所需要的环境 使用两台Linux主机 主机名称 操作系统 IP地址 NFS Centos7 192.168.218.139 NFSa Cent ...

  10. 团队项目-Alpha版本发布2

    这个作业属于哪个课程 课程的链接 这个作业的要求在哪里 作业要求的链接 团队名称 西柚三剑客 这个作业的目标 -Alpha2版本发布说明,给出测试报告,并进行总结 1. 团队成员的学号列表 团队成员 ...