一:ssh免密登录:

  1)vim /etc/ssh/sshd_config去掉注释或添加

      RSAAuthentcation yes

      PubkeyAuthentication yes

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10 RSAAuthentication yes
PubkeyAuthentication yes

  2)生成密钥:

      ssh-keygen -t rsa

  3)复制到公钥中:

      cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

  4)将密钥复制到目标服务器:

      ssh-copy-id 目标服务器ip

      scp -p ./id_rsa.pub root@192.168.8.213:/root/.ssh/id_dsa.pub.214

      cat id_dsa.pub.214 >> ~/.ssh/authorized_keys

      可以把目标机的id_dsa.pub添加到本机authorized_keys文件实现免密登陆

  5)编辑hosts对应文件:

      vim /etc/hosts

  6)测试:

      ssh 目标服务器hostname或者ip

二:安装JDK

  2.1)卸载系统自带的OpenJDK及相关组件:

    java -version

    rpm -qa | grep java

    包含noarch的不删

    rpm -e --nodeps java.....

    java -version (确认是否删除)

  2.2)下载JDK

http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz

  2.3)解压JDK

    tar -zxvf jdk...tar.gz -c /usr/local/java

  2.4)配置JDK环境变量

    vim /etc/profile

    export JAVA_HOME=/usr/local/java

    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin

三:安装hadoop:

  1)下载hadoop:

      注意下载:binary

      wget http://www-eu.apache.org/dist/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz

  2)解压安装:

      cp /root/hadoop-3.0.3-tar.gz /usr/local/hadoop/

      cd /usr/local/hadoop

      tar -zxvf hadoop-3.0.3-tar.gz

  3)修改环境变量:

      vim /etc/profile

      在结尾加入:

        export HADOOP_HOME=/usr/local/hadoop

        export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

      保存后退出: :qw

      重新加载:  source /etc/profile

  4)测试hadoop安装情况:

      hadoop version

四:搭建伪分布:

  特点:不具备HDFS,只能测试MapRaduce

  进入hadoop目录:cd /usr/local/hadoop/etc/hadoop/

    修改hadoop-env.sh中 export JAVA_HOME=/usr/local/java

  测试Ddemo:$JAVA_HOME/share/hadoop/mappreduce/

    hadoop-mapreduce-examples-3.0.3.jar 单词数量统计工具

    mkdir -p /usr/local/data/input/

    mkdir -p /usr/local/data/output/

    vim /usr/local/data/input/data.txt

      I LOVE BEIJING

      I LOVE CHINA

      BEIJING IS THE CAPITAL OF CHINA

    cd /usr/local/hadoop/share/hadoop/mapreduce

    执行:

      hadoop jar hadoop-mapreduce-examples-3.0.3.jar wordcount /usr/local/data/input/data.txt /usr/local/data/output/wc

      hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar wordcount /usr/local/data/input/data.txt /usr/local/data/output/wc

    输出日志:

      2018-06-18 12:57:23,440 INFO mapreduce.Job: map 100% reduce 100%

    cd /usr/local/data/output/wc/      

      -rw-r--r--. 1 root root 55 6月 18 12:57 part-r-00000
      -rw-r--r--. 1 root root 0 6月 18 12:57 _SUCCESS

    vim part-r-00000

      BEIJING 2

      CAPITAL 1
      CHINA 2
      I 2
      IS 1
      LOVE 2
      OF 1
      THE 1

    mapreduce按字典顺序排序

五:伪分布模式:

  具备hadoop的所有功能,在单机上可以模拟一个分布式环境:

    HDFS:主:NameNode;数据节点:DataNode

    Yarn:容器,运行MapReduce

        主节点:ResourceManager

        从节点:NodeManager

  

    5.1)配置hdfs-site.xml

    cd /usr/local/hadoop/etc/hadoop/

    vim hdfs-site.xml

<configuration>

<!--namenode上存储hdfs名字空间元数据-->
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/hdfs/name</value>
</property>

<!--datanode上数据块的物理存储位置-->
<property>
<name>dfs.data.dir</name>
<value>/usr/hadoop/hdfs/data</value>
</property>

<!--配置冗余度-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<!--配置是否有检查权限-->
<property>
 <name>dfs.permissions</name>
 <value>false</value>
</property>
</configuration>

    5.2)配置core-site.xml 文件

    vim core-site.xml

<configuration>

<!--配置HDFS的NameNode-->

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://192.168.8.214:9000</value>
</property>

<!--配置HDFS的DataNode保存数据的路径-->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/usr/local/hadoop/tmp</value>
</property>

</configuration>


    5.3)配置mapred-site.xml

    vim mapred-site.xml

<configuration>
<!--配置mapreduce运行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

  

    5.4)配置yarn-site.xml

    vim yarn-site.xml

<configuration>

<!--配置ResourceManager运行的IP-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.8.214</value>
</property>

<!--配置NodeManager执行任务的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<!--配置mr管理界面的登录接口-->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.8.214:8099</value>
</property>

</configuration>

    5.5)格式化 NameNode

      hdfs namenode -format

      输出:

        INFO common.Storage: Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted.

      为格式化成功!

    5.6)增加用户定义:cd /usr/local/hadoop/sbin

      vim start-dfs.sh

      vim stop-dfs.sh

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
如以上报错

WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.

则用:

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

      不修改会报错:ERROR: Attempting to operate on hdfs namenode as root

    5.7)增加用户定义:cd /usr/local/hadoop/sbin

      vim start-yarn.sh

      vim stop-yarn.sh      

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

      不修改会报错:ERROR: Attempting to operate on yarn resourcemanager as root

    5.8)启动:

      start-all.sh

      HDFS:存储数据

      Yarn:执行计算

    5.9)访问:

        命令行

        Java API

        Web Console:

          HDFS:http://192.168.8.214:50070

          Yarn:http://192.168.8.214:8088

        如果发现不能访问50070端口,可进行如下设置

          vi  /etc/selinux/config

        

修改:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing 为:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled

  设置默认访问端口:

    cd /usr/local/hadoop/etc/hadoop

    vim maperd-site.xml 添加:  

<property>
<name>mapred.job.tracker.http.address</name>
<value>192.168.8.214:</value>
</property> <property>
<name>mapred.task.tracker.http.address</name>
<value>192.168.8.214:</value>
</property>

    vim hdfs-site.xml 添加:

<property>
<name>dfs.http.address</name>
<value>192.168.8.214:</value>
</property>

      然后停止所有进程:

        stop-all.sh

      删除name、data文件夹下数据:

        rm -rf /usr/local/hadoop/hdfs/data/*

        rm -rf /usr/local/hadoop/hdfs/name/*

      重新格式化:

        hdfs namenode -format

      重新启动后访问正常:

        start-all.sh

      执行:jps 有如下输出为正常:

        NodeManager

        Jps

        DataNode

        NameNode

        SecondaryNameNode

        ResourceManager

      浏览器访问:192.168.8.214:50070

参阅:

http://study.163.com/course/courseLearn.htm?courseId=1005536048#/learn/video?lessonId=1052769176&courseId=1005536048

https://blog.csdn.net/maiduiyizu/article/details/79605510

https://blog.csdn.net/coffeeandice/article/details/78879151

https://blog.csdn.net/u013725455/article/details/70147331

      

Centos7部署hadoop 3的更多相关文章

  1. CentOS7 部署 Hadoop 3.2.1 (伪分布式)

    CentOS: Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 ...

  2. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  3. ambari部署Hadoop集群(2)

    准备本地 repository 1. 下载下面的包 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3 ...

  4. 使用docker部署hadoop集群

    最近要在公司里搭建一个hadoop测试集群,于是采用docker来快速部署hadoop集群. 0. 写在前面 网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程. 目标:使用doc ...

  5. [原]CentOS7部署osm2pgsql

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...

  6. centos7 部署ssserver

    centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...

  7. 使用Ambari快速部署Hadoop大数据环境

    使用Ambari快速部署Hadoop大数据环境   发布于2013-5-24   前言 做大数据相关的后端开发工作一年多来,随着Hadoop社区的不断发展,也在不断尝试新的东西,本文着重来讲解下Amb ...

  8. Centos7中hadoop配置

    Centos7中hadoop配置 1.下载centos7安装教程: http://jingyan.baidu.com/article/a3aad71aa180e7b1fa009676.html (注意 ...

  9. Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)

    系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...

随机推荐

  1. lncRNA表达定量方法评估

    见文章:Benchmark of lncRNA Quantification for RNA-Seq of Cancer Samples Overall, 10-16% of lncRNAs can ...

  2. HTTP Status 405 - HTTP method GET is not supported by this URL

    问题概述: 借助MyEclipse直接建立了一个Servlet类,每次访问这个Servlet都能访问.可自己建立一个Servlet为什么总提示:HTTP Status 405 - HTTP metho ...

  3. 胜利大逃亡 HDU - 1253

    Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0 ...

  4. CF438D 线段树 区间求和,区间求膜,单点更新

    题目链接 题目大意: 给定一个长度为n的序列,要求能够执行m次下列操作: 1.查询区间[l,r]的和 2.将区间[l,r]的每一个数%=mod 3.修改第x个数为y 操作1,3都是线段树的基本操作,线 ...

  5. 2018 USP Try-outsF - Optimizing Transportation in Portugal

    题意:给你一副无向图,求使s到t删掉一条的最短路最大的长度 题解:先预处理s,t到每个点的最短路,二分答案,对于一条边,如果选中这条边,那么对于s->u+u->v+v->t或者s-& ...

  6. C# 4.0 可选参数 和 命名参数

    可选参数 可选参数是 C# 4.0 提出来的,当我们调用方法,不给这个参数(可选参数)赋值时,它会使用我们定义的默认值. 需要注意的是: (1)可选参数必须位于所有必选参数的后面: (2)可选参数必须 ...

  7. Oracle 11g 异机恢复参考文档

      原库 目标库 操作系统 CentOS 6.4 CentOS 6.4 主机名 sht-sgmhadoopnn-01 sht-sgmhadoopnn-02 IP 172.16.101.55 172.1 ...

  8. python中RabbitMQ的使用(交换机,广播形式)

    简介 如果要让每个接收端都能收到消息,此时需要将消息广播出去,需要使用交换机. 工作原理 消息发送端先将消息发送给交换机,交换机再将消息发送到绑定的消息队列,而后每个接收端都能从各自的消息队列里接收到 ...

  9. express中app.get和app.use的解析

    app.get(path,callback)中的callback只能是函数 app.use(path,callback)中的callback既可以是router对象又可以是函数 当其是router对象 ...

  10. vue组件生命周期详解

    Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...