1. 配置linux系统环境
  1. centos 6.4 下载地址:http://pan.baidu.com/s/1geoSWuv【VMWare专用CentOS.rar】(安装打包好的VM压缩包)
  2. 并配置虚拟机网络连接为“仅主机模式”(使主机和虚拟机可以互通)
     3.  设置虚拟机固定ip,设置好重启网络:service network restart
          

2. 关闭防火墙
1
2
3
4
5
6
su root
service iptables stop #关闭防火墙
service iptables status #验证是否关闭
chkconfig iptables off #关闭防火墙的开机自动运行
chkconfig –list | grep iptables #验证防火墙的开机自动运行
vim /etc/sysconfig/selinux # 禁用selinux,将SELINUX=disabled

3. 修改主机名(必须要修改为hadoop)
1
2
3
hostname #查看当前主机名
hostname hadoop #设置主机名,本次生效
vim /etc/sysconfig/network #修改HOSTNAME=hadoop,永久生效

4. 把hostname和ip绑定(设置DNS解析)
1
2
vim /etc/hosts #增加 192.168.17.100    hadoop
reboot


5. 创建用户(一般生产不直接给root的)
  1. adduser hadoop01
  2. passwd hadoop01设置密码:hadoop01
  3. 却换root用户给hadoop01设置权限,设置允许root命令的用户
su root
chmod 751 /etc/sudoers #设置可读写
vim /etc/sudoers 
hadoop01        ALL=(ALL)       ALL #在Allow root to run any commands anywhere 下添加一行
直接使用root
6. SSH免密码登陆
1
2
3
ssh-keygen -t rsa #回车,产生密钥,位于~/.ssh下
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys2 #(或ssh-copy-id localhost)
ssh localhost #验证,免密码登陆

7. 安装jdk(64bit:http://pan.baidu.com/s/1nua41ol【jdk-7u79-linux-x64.gz】,32bit:http://pan.baidu.com/s/1dDJPDNr【jdk-7u79-linux-i586.gz】)
     (Hadoop2.7.x 支持到1.7,所以推荐安装1.7的jdk,http://wiki.apache.org/hadoop/HadoopJavaVersions
1
2
3
4
5
6
7
8
9
cd /usr/local/src
mkdir java 
cd java 
mkdir jdk #jdk解压到此处 sudo tar -zxvf xxx
vim /etc/profile #配置环境变量,追加
    export JAVA_HOME=/usr/local/src/java/jdk
    export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile # 让配置生效
 java –version # 查看是否安装成功
8. 安装Hadoop(单节点安装)
    下载hadoop,http://apache.fayea.com/hadoop/common/hadoop-2.7.2/ (如果为64bit系统要自己编译源码,具体参考下面参考的视频连接,64bit编译好的下载地址:http://pan.baidu.com/s/1c0TuAgo
    1.  配置hdfs
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
cd /usr/local/src
mkdir hadoop # 解压hadoop压缩包到此处
cd hadoop 
mkdir data  
cd data 
mkdir tmp  #存放临时目录运行时产生数据
vim etc/hadoop/hadoop-env.sh # JAVA_HOME修改为实际路径JAVA_HOME=/usr/local/src/java/jdk
vim etc/hadoop/core-site.xml #配置新增:配置hdfs访问的端口 8020(2.x以后支持8020)
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop:8020</value>
        </property>
#修改临时目录运行时产生数据的目录:(默认在tmp,在linux系统中可能回被删除)
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/src/hadoop/data/tmp</value>
        </property>
vim etc/hadoop/hdfs-site.xml # 配置默认副本的备份个数(一般是3个,这里伪分布式只要1份就可以)
        <property>
                <name>dfs.replication</name>
                <value>1</value>
         </property>
bin/hdfs namenode -format # 格式化文件系统
sbin/start-dfs.sh # 启动 jps查看启动进行情况,启动三个进程,namenode存储元数据,datanode存储数据
sbin/stop-dfs.sh #关闭
            查看日志目录logs
            查看hdfs的状态:http://192.168.17.100:50070/

    2.  安装yarn(资源调度)
1
2
3
4
5
6
7
8
9
10
11
12
13
mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
vim etc/hadoop/mapred-site.xml #使mapreduce用yarn来调度
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
vim etc/hadoop/yarn-site.xml #配置Reduce取数据的方式是shuffle
        <property>
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>       
        </property>
sbin/start-yarn.sh # 启动( jsp可以看到多了两个进程 resourcesManage管理总的资源分配, NodeManage 管理该台节点的资源)
sbin/stop-yarn.sh #关闭
             yarn的监控界面 http://192.168.17.100:8088/cluster  
关闭所有:stop-all.sh
分别启动各个进程:执行的命令是“hadoop-daemon.sh start [进程名称]”,这种启动方式适合于单独增加

9. 测试hadoop(词频统计)
1
2
3
4
5
6
7
8
9
cd /usr/local/src/hadoop/data
vim words # 输入  hello a,hello b 
cd /usr/local/src/hadoop
bin/hadoop fs -put /usr/local/src/hadoop/data/words /words # 把words上传到hdfs,
# 可以在http://192.168.17.100:50070/看到 hdfd默认128M的超过的话回切分多个128M的快来处理
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /words /out #运行demo
#查看运行状态 http://192.168.17.100:8088
bin/hadoop fs -ls /out 
bin/hadoop fs -cat /out/part-r-00000
10. 词频统计 MapReduce原理简单分析
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
31
32
33
34
35
36
37
38
map阶段:
    输入数据:
        <0,"hello a">
        <8,"hello b">
     
    输出数据:
        map(key,value,context) {
            String line = value;
//hello a
            String[] words  = value.split("\t");
            for(String word : words) {
                //hello
                // a
                // hello 
                // b
                context.write(word,1);
            }
        }
    <hello,1>
    <a,1>
    <hello,1>
    <b,1>
 
reduce阶段(分组排序):
    输入数据:
        <a,1>
        <b,1>
        <hello,{1,1}>
     
     
    输出数据:
        reduce(key,value,context) {
            int sum = 0;
            String word = key;
            for(int i : value) {
                sum += i;
            }
            context.write(word,sum);
        }

10. 其他问题
    1. NameNode进程没有启动成功
        1. 没有格式化
        2. 配置文件只copy不修改
        3. hostname没有和ip绑定
        4. ssh的免密码登陆没有配置成功
    2. 多次格式化hadoop也是错误的?
        1. 删除/usr/local/src/hadoop/data/tmp文件夹,从新格式化

参考:
1. http://www.jikexueyuan.com/course/2475_3.html?ss=1【hadoop入门】,资料 链接:http://pan.baidu.com/s/1hrh0mhA 密码:w779【press-2949-package-v1.zip】

Hadoop 伪分布式安装、运行测试例子的更多相关文章

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

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

  2. apache hadoop 伪分布式安装

    1. 准备工作 1.1. 软件准备 1.安装VMWare 2.在VMWare上安装CentOS6.5 3.安装XShell5,用来远程登录系统 4.通过rpm -qa | grep ssh 检查cen ...

  3. 【Hadoop学习之二】Hadoop伪分布式安装

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4       jdk8       hadoop-3.1.1 伪分布式就 ...

  4. hadoop 伪分布式安装

    0. 关闭防火墙 重启后失效 service iptables start ;#立即开启防火墙,但是重启后失效. service iptables stop ;#立即关闭防火墙,但是重启后失效. 重启 ...

  5. 基于centos6.5 hadoop 伪分布式安装

    步骤1:修改IP 地址和主机名: vi /etc/sysconfig/network-scripts/ifcfg-eth0 如果该文件打开为空白文件代表你计算机上的网卡文件不是这个名称“ifcfg-e ...

  6. Hadoop伪分布式安装步骤(hadoop0.20.2版本)

    最近在学习hadoop,自己下了个视频教程,他的教学版本是hadoop0.20.2版本,现在的最新版本都到了3.0了,版本虽然有点老,但是还是学了一下,觉得有借鉴的价值. 不废话了,开始介绍: 先说一 ...

  7. [大数据] hadoop伪分布式安装

    注意:节点主机的hostname不要带"_"等字符,否则会报错. 一.安装jdk rpm -i jdk-7u80-linux-x64.rpm 配置java环境变量: vi + /e ...

  8. hadoop伪分布式安装

    hadoop的伪分布安装:一台实体机或虚拟机的安装. 环境:Windows7.VMWare.CentOS 1.1 设置ip地址 说明:在CentOS中的网络的类型: 仅主机模式:虚拟机在Windows ...

  9. macbook 下hadoop伪分布式安装

    1 准备原材料 1.1  jdk 1.8.0_171(事先安装并配置环境变量HAVA_HOME,PATH) 1.2 Hadoop 2.8.3 2 免密登陆配置(否则安装过程需要不断输入密码) 2.1 ...

随机推荐

  1. 教你从手机中提取system镜像制作线刷救砖包的简单方法

    其实在制作刷机包的过程中,有时候没有官方或者第三方提供的救砖包(线刷),那怎么办?常规的方法有两种:(此处为常规方法,回读的方式暂不说明)     1.卡刷包转线刷包     2.dd命令导出分区镜像 ...

  2. EventBus InMemory 的实践基于eShopOnContainers (二)

    前言 最近在工作中遇到了一个需求,会用到EventBus,正好看到eShopOnContainers上有相关的实例,去研究了研究.下面来分享一下用EventBus 来改造一下我们上篇Event发布与实 ...

  3. BZOJ4423 Bytehattan

    Description 比特哈顿镇有n*n个格点,形成了一个网格图.一开始整张图是完整的. 有k次操作,每次会删掉图中的一条边(u,v),你需要回答在删除这条边之后u和v是否仍然连通. Input 第 ...

  4. HDU 5909 Tree Cutting

    传送门 题意: 有一棵n个点的无根树,节点依次编号为1到n,其中节点i的权值为vi, 定义一棵树的价值为它所有点的权值的异或和. 现在对于每个[0,m)的整数k,请统计有多少T的非空连通子树的价值等于 ...

  5. [BZOJ]4405: [wc2016]挑战NPC(带花树)

    带花树模板 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ...

  6. ●BZOJ 2588 Spoj 10628. Count on a tree

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2588 题解: 主席树,在线,(求LCA)感觉主席树真的好厉害...在原树上建主席树.即对于原 ...

  7. HDU2303(数论)大整数求余+素数筛选

    Sample Input 143 10 143 20 667 20 667 30 2573 30 2573 40 0 0   Sample Output GOOD BAD 11 GOOD BAD 23 ...

  8. CCA更新流程分析

    1 CCA CCA(空间信道评估)在CSMA/CA中比较非常重要,事关整机吞吐量,所以对其实现进行简单分析.CCA好像应该有2种:CCA-CS,是属于PLCP层的,捕获到能量且能量值高于-82dB后, ...

  9. SQL优化实用方法

    SQL优化:避免索引失效 1.不使用NULL 任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的.因为只有该字段中有null值,即使创建了索引其实也是没有用 ...

  10. Linked List Cycle II--寻找单链表中环的起始点

    题目要求 Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. ...