文档章节

hadoop安装转载

不会起名
 不会起名
发布于 2017/08/02 16:25
字数 2341
阅读 8
收藏 0
点赞 0
评论 0

一、安装hadoop前的准备工作

1. 修改主机名称

1) vi /etc/sysconfig/network

修改为HOSTNAME=master(/slave1/slave2)------每台主机改成自己的名称

2) vi /etc/hosts

将如下内容添加到三台主机该文件的末尾

192.168.0.6 master

192.168.0.5 slave1

192.168.0.2 slave2

3) 以上方法需要重启主机才能生效,若要即使生效,可以使用<hostname 主机名>命令

 验证配置,执行ping master,如果能够ping通过。则表示,这个配置正确。(需要保证网络连通)

同理,需要在其他节点设置相同。

2. ssh无密钥登陆

1) 通过以下命令检查是否已安装sshd服务:

    rpm –qa | grep openssh

    rpm –qa | grep rsync

2) 如果没有安装sshd服务和rsync,可以通过下面命令进行安装:

    yum install ssh 安装SSH协议

    yum install rsync (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)

    service sshd restart 启动服务

service iptables stop关闭防火墙

3) Master机器上生成密码对

在Master节点上执行以下命令,在home目录下创建.ssh目录,直接以root用户来配置,进入系统时,root用户直接进入的是root目录,而其他用户直接进入的是home目录:

cd mkdir .ssh

ssh-keygen –t rsa

这条命令是生成其无密码密钥对,一直按enter键(询问其保存路径时直接回车采用默认路径)。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/.ssh"目录下。

把生成的id_rsa.pub复制一份,命名为authorized_keys

cp id_rsa.pub authorized_keys

可以在.ssh目录下查看一下

                       

4) 将公钥文件authorized_keys分发到各DataNode节点:

[root@localhost .ssh]# scp authorized_keys root@192.168.0.5:/root/.ssh/ 

[root@localhost .ssh]# scp authorized_keys root@192.168.0.5:/root/.ssh/

(或者主机ip使用slave1,slave2)

scp -r hbase-1.0.0 root@slave1:/opt/

 

注意:在此过程中需要注意提问时要输入yes,不能直接回车。否则会出现下面的错误。

 

5) 验证无密钥是否配置成功

ssh slave1   (首次登陆时需要验证slave1的密码,之后就不用了)

ifconfig     (查看ip是否已经变为slave1的ip)

exit          (退出连接)

ssh slave2   (验证方式同slave1)

ifconfig

exit

验证结果如下图所示,则无密钥登陆配置成功。接下来就可以安装hadoop了。

 

 

 

二、安装hadoop

1.下载编译安装包

从官网下载hadoop2.5.2安装包,这时候要注意hadoop-2.5.2.tar.gz是编译过的文件,而hadoop-2.5.2-src.tar.gz是没有编译的文件。由于官网的hadoop-2.5.2.tar.gz编译的是32位系统的,所以我们需要下载hadoop-2.5.2-src.tar.gz,再在本机上编译成64位系统的安装包。

可参照教程http://f.dataguru.cn/forum.php?mod=viewthread&tid=454226

(由于村长已经编译好了,我们直接去他的机子下面将安装包scp到自己的机子上即可。村长的主机ip是192.168.0.10)

1)  master/slave1/slave2 创建hadoop文件夹存放安装包和解压后的文件:

cd /home

mkdir hadoop

2)  从村长的机子上将安装包scp到自己的机子上

cd /root/download/hadoop-2.5.2-src/hadoop-dist/target

scp hadoop-2.5.2.tar.gz root@192.168.0.6:/home/hadoop/

scp hadoop-2.5.2.tar.gz root@192.168.0.5:/home/hadoop/

scp hadoop-2.5.2.tar.gz root@192.168.0.2:/home/hadoop/ 

 

2. 解压安装包

cd /home/hadoop

tar -zvxf hadoop-2.5.2.tar.gz

 

3. 修改配置

cd /home/hadoop/hadoop-2.5.2/etc/hadoop

1)  vi core-site.xml

<configuration>

  <property>

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

      <value>/home/hadoop/tmp</value>

    <description>Abase for other   temporary directories.</description>

  </property>

  <property>

    <name>fs.defaultFS</name>

    <value>hdfs://master:9000</value>

  </property>

  <property>

    <name>io.file.buffer.size</name>

    <value>4096</value>

  </property>

</configuration>

 

2)  vi hdfs-site.xml

<configuration>

  <property>

    <name>dfs.nameservices</name>

      <value>hadoop-cluster1</value>

  </property>

  <property>

    <name>dfs.namenode.secondary.http-address</name>

    <value>master:50090</value>

  </property>

<property>

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

      <value>file:///home/hadoop/dfs/name</value>

  </property>

  <property>

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

    <value>file:///home/hadoop/dfs/data</value>

  </property>

  <property>

    <name>dfs.replication</name>

    <value>3</value>              --------------------------slave个数

  </property>

  <property>

      <name>dfs.webhdfs.enabled</name>

    <value>true</value>

  </property>

</configuration>

 

3)  vi mapred-site.xml

<configuration>

  <property>

      <name>mapreduce.framework.name</name>

    <value>yarn</value>

  </property>

  <property>

      <name>mapreduce.jobtracker.http.address</name>

    <value>master:50030</value>

  </property>

  <property>

      <name>mapreduce.jobhistory.address</name>

    <value>master:10020</value>

  </property>

  <property>

      <name>mapreduce.jobhistory.webapp.address</name>

    <value>master:19888</value>

  </property>

</configuration>

 

4)  vi yarn-site.xml

<configuration> 

 

<!-- Site   specific YARN configuration properties -->   

    <property> 

        <name>yarn.nodemanager.aux-services</name> 

          <value>mapreduce_shuffle</value> 

    </property> 

    <property> 

          <name>yarn.resourcemanager.address</name> 

        <value>master:8032</value> 

    </property> 

    <property> 

        <name>yarn.resourcemanager.scheduler.address</name> 

        <value>master:8030</value> 

    </property> 

    <property> 

          <name>yarn.resourcemanager.resource-tracker.address</name> 

        <value>master:8031</value> 

    </property> 

    <property> 

          <name>yarn.resourcemanager.admin.address</name> 

        <value>master:8033</value> 

    </property> 

    <property> 

          <name>yarn.resourcemanager.webapp.address</name> 

        <value>master:8088</value> 

    </property> 

</configuration>

 

5)  vi slaves  

删掉localhost

输入

master  (这样master本身也作为一个dataNode)

slave1

slave2

 

6)  vi hadoop-env.sh

修改export JAVA_HOME=/jdk17

 

7)  vi yarn-env.sh

去掉#

export JAVA_HOME=/jdk17

 

8)  将主机配置scp到两台slave上

cd /home/hadoop/hadoop-2.5.2/etc

scp -r  hadoop root@slave1:/home/hadoop/hadoop-2.5.2/etc

scp -r  hadoop root@slave2:/home/hadoop/hadoop-2.5.2/etc

 

4. 主机上格式化文件系统

cd /home/hadoop/hadoop-2.5.2

bin/hdfs namenode -format 

(格式化过程中会有一次需要输入yes)

 

5.启动

sbin/start-dfs.sh

sbin/start-yarn.sh

 

(或者sbin/start-all.sh)

 

查看启动的进程jps

 

PS:停止

cd /home/hadoop/hadoop-2.5.2

sbin/stop-dfs.sh 

sbin/stop-yarn.sh

 

6. 通过浏览器访问

http://192.168.0.6:50070/

http://192.168.0.6:8088/

 

 

 

可以看到live节点数和集群节点数均为3,基本可以确定配置成功了,接下来就来测试一下吧。

 

三.集群测试

1.圆周率

这是mongodb蒙特卡洛算法计算圆周率的测试用例,pi后跟的两个数字分别表示使用多少个map以及计算的精度。

cd /home/hadoop/hadoop-2.5.2

bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar pi 10 1000

测试结果如下:

[root@master ~]#   cd /home/hadoop/hadoop-2.5.2

[root@master   hadoop-2.5.2]# bin/yarn jar   share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar pi 10 1000

Number of   Maps  = 10

Samples per Map   = 1000

Wrote input for   Map #0

Wrote input for   Map #1

Wrote input for   Map #2

Wrote input for   Map #3

Wrote input for   Map #4

Wrote input for   Map #5

Wrote input for   Map #6

Wrote input for   Map #7

Wrote input for   Map #8

Wrote input for   Map #9

Starting Job

15/03/15   18:59:14 INFO client.RMProxy: Connecting to ResourceManager at   master/192.168.0.6:8032

15/03/15   18:59:14 INFO input.FileInputFormat: Total input paths to process : 10

15/03/15   18:59:14 INFO mapreduce.JobSubmitter: number of splits:10

15/03/15   18:59:15 INFO mapreduce.JobSubmitter: Submitting tokens for job:   job_1426367748160_0006

15/03/15   18:59:15 INFO impl.YarnClientImpl: Submitted application   application_1426367748160_0006

15/03/15   18:59:15 INFO mapreduce.Job: The url to track the job:   http://master:8088/proxy/application_1426367748160_0006/

15/03/15   18:59:15 INFO mapreduce.Job: Running job: job_1426367748160_0006

15/03/15 18:59:21   INFO mapreduce.Job: Job job_1426367748160_0006 running in uber mode : false

15/03/15   18:59:21 INFO mapreduce.Job:  map 0%   reduce 0%

15/03/15   18:59:34 INFO mapreduce.Job:  map 40%   reduce 0%

15/03/15   18:59:41 INFO mapreduce.Job:  map 100%   reduce 0%

15/03/15   18:59:42 INFO mapreduce.Job:  map 100%   reduce 100%

15/03/15   18:59:43 INFO mapreduce.Job: Job job_1426367748160_0006 completed   successfully

15/03/15   18:59:44 INFO mapreduce.Job: Counters: 49

        File System Counters

                FILE: Number of bytes   read=226

                FILE: Number of bytes   written=1070916

                FILE: Number of read   operations=0

                FILE: Number of large read   operations=0

                FILE: Number of write   operations=0

                HDFS: Number of bytes   read=2610

                HDFS: Number of bytes   written=215

                HDFS: Number of read   operations=43

                HDFS: Number of large read   operations=0

                HDFS: Number of write   operations=3

        Job Counters

                Launched map tasks=10

                Launched reduce tasks=1

                Data-local map tasks=10

                Total time spent by all maps   in occupied slots (ms)=154713

                Total time spent by all   reduces in occupied slots (ms)=5591

                Total time spent by all map   tasks (ms)=154713

                Total time spent by all   reduce tasks (ms)=5591

                Total vcore-seconds taken by   all map tasks=154713

                Total vcore-seconds taken by   all reduce tasks=5591

                Total megabyte-seconds taken   by all map tasks=158426112

                Total megabyte-seconds taken   by all reduce tasks=5725184

        Map-Reduce Framework

                Map input records=10

                Map output records=20

                Map output bytes=180

                Map output materialized   bytes=280

                Input split bytes=1430

                Combine input records=0

                Combine output records=0

                Reduce input groups=2

                Reduce shuffle bytes=280

                Reduce input records=20

                Reduce output records=0

                Spilled Records=40

                Shuffled Maps =10

                Failed Shuffles=0

                Merged Map outputs=10

                GC time elapsed (ms)=930

                CPU time spent (ms)=5540

                Physical memory (bytes)   snapshot=2623418368

                Virtual memory (bytes)   snapshot=9755574272

                Total committed heap usage   (bytes)=1940914176

        Shuffle Errors

                BAD_ID=0

                CONNECTION=0

                IO_ERROR=0

                WRONG_LENGTH=0

                WRONG_MAP=0

                WRONG_REDUCE=0

        File Input Format Counters

                Bytes Read=1180

        File Output Format Counters

                Bytes Written=97

Job Finished in   29.79 seconds

Estimated value   of Pi is 3.14080000000000000000

[root@master   hadoop-2.5.2]#

 

2. 单词统计

1.进入到hadoop-2.5.2目录下

  cd /home/hadoop/hadoop-2.5.2

2.创建tmp文件

  bin/hdfs dfs -mkdir /tmp

3.事先在hadoop-2.5.2目录下创建好一个test.txt文件,作为测试文件

4.将测试文件上传到tmp文件中

  bin/hdfs dfs -copyFromLocal / home/hadoop/hadoop-2.5.2/test.txt   /tmp

5.查看是否上传成功

  bin/hdfs dfs -ls /tmp

6.执行hadoop-mapreduce-examples-2.5.2.jar里面的wordcount

  bin/hadoop jar   ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount   /tmp/test.txt /tmp-output

7.查看结果

bin/hdfs dfs -ls   /tmp-output

bin/hadoop fs   -cat /tmp-output/part-r-00000

Ps:再次运行时需要先删除hdfs系统目录里的tmp-output文件夹

[root@master   hadoop-2.5.2]# bin/hdfs dfs -rmdir /tmp-output

 

 

四.实验中遇到的问题

1.Namenode无法启动

造成有个问题的原因最常见的是多次格式化namenode造成的,即 namespaceID 不一致。这种情况清空logs,重启启动有时候甚至有时候都没有datanode的日志产生。

解决方法:找到不一致的 VERSION 修改  namespaceID

或者:删除 hdfs/data 中全部文件,重新初始化namenode,这样做数据就全部没了(看到的结果是这样)

PS : 还有一种说法造成启动不了datanode的原因是 data文件的权限问题,这个问题目前没有遇到

删除了data中所有文件重新初始化后,问题解决

 

2. nodemanager无法启动

一开始他运行了,后来又停止了,查资料将所有的name文件夹清空,重新格式化,之后nodemanager出现。

 

3.结点信息中有两个slave的信息,但是集群信息中只有master的信息。

解决办法:将主机配置文件scp到slave上

cd /home/hadoop/hadoop-2.5.2/etc

scp -r  hadoop root@slave1:/home/hadoop/hadoop-2.5.2/etc

scp -r  hadoop root@slave2:/home/hadoop/hadoop-2.5.2/etc

 

4. 单词统计失败

出错原因与解决方法

http://www.ituring.com.cn/article/63927

 

本文转载自:http://www.cnblogs.com/qianqianjun/p/4579273.html

共有 人打赏支持
不会起名
粉丝 2
博文 27
码字总数 3449
作品 0
海淀
hadoop安装配置——伪分布模式

1. 安装 这里以安装hadoop-0.20.2为例 先安装java,参考这个 去着下载hadoop 解压 tar -xzf hadoop-0.20.2 2. 配置 修改环境变量 vim ~/.bashrcexport HADOOP_HOME=/home/rte/hadoop-0.20.2 ...

技术mix呢
2017/12/05
0
0
第 4 章 Hypertable

目录 4.1. Hypertable 安装 4.2. Code examples 4.3. HQL 4.4. FAQ http://hypertable.org/ 单机:安装于单机,采用本地文件系统 Hadoop:分布式安装,使用Hadoop(HDFS)作为存储 MapR:分布式...

玄学酱
01/05
0
0
第 37 章 Hypertable

目录 37.1. Hypertable 安装 37.2. Code examples 37.3. HQL 37.4. FAQ http://hypertable.org/ 单机:安装于单机,采用本地文件系统 Hadoop:分布式安装,使用Hadoop(HDFS)作为存储 MapR:分...

玄学酱
01/04
0
0
[Hadoop大数据]——Hive部署入门教程

Hive是为了解决hadoop中mapreduce编写困难,提供给熟悉sql的人使用的。只要你对SQL有一定的了解,就能通过Hive写出mapreduce的程序,而不需要去学习hadoop中的api。 在部署前需要确认安装jdk...

青夜之衫
2017/12/05
0
0
在Ubuntu下搭建Spark群集

在前一篇文章中,我们已经搭建好了Hadoop的群集,接下来,我们就是需要基于这个Hadoop群集,搭建Spark的群集。由于前面已经做了大量的工作,所以接下来搭建Spark会简单很多。 首先打开三个虚...

浣熊干面包
01/12
0
0
Hadoop HBase 配置 安装 Snappy 终极教程

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://shitouer.cn/2013/01/hadoop-hbase-snappy-setup-final-tutorial/ 因为产...

Fowler.Zhang
2013/01/14
0
0
141.4. 分布式安装(CentOS 6 + hadoop-1.1.2)

HDFS: NameNode :管理节点 DataNode :数据节点 SecondaryNamenode : 数据源信息备份整理节点 MapReduce JobTracker :任务管理节点 Tasktracker :任务运行节点 准备4台服务器,操作系统为...

玄学酱
2017/12/21
0
0
centos7 hadoop 集群安装配置

转载请务必注明原创地址为:http://dongkelun.com/2018/04/05/hadoopClusterConf/ 前言: 本文安装配置的hadoop为分布式的集群,单机配置见:centos7 hadoop 单机模式安装配置 我用的三个cen...

董可伦
05/21
0
0
centos7 hive 单机模式安装配置

转载请务必注明原创地址为:http://dongkelun.com/2018/03/24/hiveConf/ 前言: 由于只是在自己的虚拟机上进行学习,所以对hive只是进行最简单的配置,其他复杂的配置文件没有配置。 1、前提...

董可伦
05/21
0
0
大数据平台搭建 Hadoop-2.7.4 + Spark-2.2.0 快速搭建

Apache Spark 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架...

PengLei
2017/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
14分钟前
0
0
CentoOS6.6安装netcat

CentOS下安装netcat 使用zookeeper过程中,需要监控集群状态。在使用四字命令时(echo conf | nc localhost 2181),报出如下错误:-bash: netcat: command not found。 我的系统是CentOS 6....

ghou-靠墙哭
25分钟前
0
0
es6之解构赋值巧用

ES6 允许按照一定模式,从数组、对象等中提取值,对变量进行赋值,这被称为解构赋值。 如何进行解构赋值我这里就不赘述,本篇文章主要是将解构赋值的巧妙使用之处。 1、交互变量的值 常用交互...

秋季长青
30分钟前
0
0
Elasitcsearch High Level Rest Client学习笔记(三)批量api

Bulk Request BulkRequest可以在一起从请求执行批量添加、更新和删除,至少需要添加一个操作 BulkRequest request = new BulkRequest(); //创建BulkRequestrequest.add(new IndexRequest("...

木子SMZ
33分钟前
0
0
mybatis-dynamic sql

OGNL expressions if 判断是否存在值 <select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND title like #{tit......

writeademo
41分钟前
0
0
社交系统ThinkSNS+ V1.8.3更新播报

     研发发布版本号:1.8.3   本次版本于2018年7月16日发布   本次发布类型:新增功能、细节调整与优化   社交系统ThinkSNSPlus更新体验:请于官网下载/安装最新版或联系QQ35159...

ThinkSNS账号
44分钟前
0
0
教育思考:选择编程是一场父母和孩子的和解[图]

教育思考:选择编程是一场父母和孩子的和解[图]: 之前有个很热的段子是这样讲的:深夜十点的时候,某小区一女子大声喊叫“什么关系?啊?!到底什么关系?你说!”最后发现原来是一位妈妈陪...

原创小博客
45分钟前
0
0
X64汇编之指令格式解析

最近由于项目组内要做特征码搜索的东西,便于去Hook一些未导出函数,你懂得...于是就闲着学习了一下x86/x64的汇编指令格式。x86的汇编指令格式请参照http://bbs.pediy.com/showthread.php?t...

simpower
48分钟前
0
0
rust 语法概要(只适合不熟悉时快速查阅使用,不适合理解其精髓。未完待续)

注意:本内容只适合快查,不适合理解精髓。精髓请研读 https://kaisery.github.io/trpl-zh-cn/foreword.html 基本数据类型 i8,i16,i32,i64,i128 u8,u16,u32,u64,u128 f32,f64 char bool:true...

捍卫机密
51分钟前
0
0
JS中严格模式和非严格模式

1,使用 严格模式的使用很简单,只有在代码首部加入字符串 "use strict"。必须在首部即首部指其前面没有任何有效js代码除注释,否则无效 2.注意事项 (1)不使用var声明变量严格模式中将不通...

AndyZhouX
51分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部