说明:

任务:搭建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. echarts 柱状图+折线+文字倾斜及省略

    效果图: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  2. CentOS环境下通过YUM安装软件,搭建lnmp环境

    安装nginx.php-fpm和mysql. yum install nginx yum install php-fpm yum install mysql CentOS下LNMP环境配置 1. 配置 ...

  3. Scrapy的Spider类和CrawlSpider类

    Scrapy shell 用来调试Scrapy 项目代码的 命令行工具,启动的时候预定义了Scrapy的一些对象 设置 shell Scrapy 的shell是基于运行环境中的python 解释器sh ...

  4. sqlite3 国产化如何添加密码

    sqlite3 国产化如何添加密码 sqlite3 国产化如何添加密码sqlite3 国产化如何添加密码

  5. AcWing 795. 前缀和

    题目地址  https://www.acwing.com/solution/AcWing/content/2075/ 题目描述输入一个长度为n的整数序列. 接下来再输入m个询问,每个询问输入一对l, ...

  6. acwing 110 防晒

    https://www.acwing.com/problem/content/description/112/ 有C头奶牛进行日光浴,第i头奶牛需要minSPF[i]到maxSPF[i]单位强度之间的 ...

  7. 03. Go 语言容器

    Go语言容器(container) 变量在一定程度上能满足函数及代码要求.如果编写一些复杂算法.结构和逻辑,就需要更复杂的类型来实现.这类复杂类型一般情况下具有各种形式的存储和处理数据的功能,将它们称 ...

  8. linux编程fcntl获取和设置文件状态

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> ...

  9. python做中学(一)全局变量的用法

    一段时间没有使用python来写代码,就发现以前学习的很多语法都忘了.看来还是当初这方面的项目做的好不够多,没有系统性的运用和学习,导致了很多语法不能顺手拈来.在接下来的这个项目中, 一定要把遇到的一 ...

  10. SpringBoot系列之快速创建项目教程

    本博客简介一下SpringBoot快速创建工程的方法,主要介绍一下Spring Initializer,Spring Initializer是IntelliJ IDEA才集成的一种快速创建Spring ...