环境准备:3台CentOS7,64位,Hadoop2.7需要64位Linux

192.168.20.161  192.168.20.162  192.168.20.163 三台机器分别叫host01.xyy host02.xyy host03.xyy

/etc/hosts

追加

192.168.20.161  host01.xyy

192.168.20.162  host02.xyy

192.168.20.163  host03.xyy

三台机器都是 用户名root 密码root   用户名hadoop 密码1

三台机器上都配置免密登录

sudo vim /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

集群中的每台主机上使用hadoop用户执行下面命令,一路回车,可生成本机的rsa类型的密钥。

ssh-keygen -t rsa

在主机host01上hadoop用户下执行如下操作

cat id_rsa.pub>> authorized_keys

ssh hadoop@host02 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh hadoop@host03 cat
~/.ssh/id_rsa.pub>> authorized_keys

把Master服务器的authorized_keys、hosts复制到Slave服务器上对应位置

常见免密码登录失败分析

配置问题

  1. 检查配置文件/etc/ssh/sshd_config是否开启了AuthorizedKeysFile选项
  2. 检查AuthorizedKeysFile选项指定的文件是否存在并内容正常

目录权限问题

  1. ~权限设置为700
  2. ~/.ssh权限设置为700
  3. ~/.ssh/authorized_keys的权限设置为600

sudo chmod 700 ~

sudo chmod 700 ~/.ssh

sudo chmod 600 ~/.ssh/authorized_keys

设置完了记得重启ssh服务

完成免密和基础环境准备以后开始安装

3、安装JDK,Hadoop2.7需要JDK7,由于我的CentOS是最小化安装,所以没有OpenJDK,直接解压下载的JDK并配置变量即可
(1)下载“jdk-7u79-linux-x64.gz”,放到/home/java目录下
(2)解压,输入命令,tar
-zxvf jdk-7u79-linux-x64.gz
(3)编辑/etc/profile
export JAVA_HOME=/home/java/jdk1.7.0_79
export
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin 
(4)使配置生效,输入命令,source
/etc/profile
(5)输入命令,java
-version,完成

4、安装Hadoop2.7,只在Master服务器解压,再复制到Slave服务器
(1)下载“hadoop-2.7.0.tar.gz”,放到/home/hadoop目录下
(2)解压,输入命令,tar
-xzvf hadoop-2.7.0.tar.gz
(3)在/home/hadoop目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name

5、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的core-site.xml
 <configuration>
    <property>
        <name>fs.defaultFS</name>
       
<value>hdfs://192.168.20.161:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/hadoop/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
 </configuration>

6、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的hdfs-site.xml
 <configuration>
    <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>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>192.168.20.161:9001</value>
    </property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
 </configuration>

7、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的mapred-site.xml
 <configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
       
<name>mapreduce.jobhistory.address</name>
        <value>192.168.20.161:10020</value>
    </property>
    <property>
       
<name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.20.161:19888</value>
    </property>
 </configuration>

8、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的yarn-site.xml
 <configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
       
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
       
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
       
<name>yarn.resourcemanager.address</name>
        <value>192.168.20.161:8032</value>
    </property>
    <property>
       
<name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.20.161:8030</value>
    </property>
    <property>
       
<name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.20.161:8031</value>
    </property>
    <property>
       
<name>yarn.resourcemanager.admin.address</name>
        <value>192.168.20.161:8033</value>
    </property>
    <property>
       
<name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.20.161:8088</value>
    </property>
    <property>
       
<name>yarn.nodemanager.resource.memory-mb</name>
        <value>768</value>
    </property>
 </configuration>

9、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了,
export JAVA_HOME=/home/java/jdk1.7.0_79

10、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的slaves,删除默认的localhost,增加2个从节点,
192.168.20.162

192.168.20.163

11、将配置好的Hadoop复制到各个节点对应位置上,通过scp传送,
scp -r /home/hadoop 192.168.20.162:/home/
scp -r /home/hadoop 192.168.20.163:/home/

12、在Master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.7.0目录
(1)初始化,输入命令,bin/hdfs
namenode -format
(2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)停止的话,输入命令,sbin/stop-all.sh
(4)输入命令,jps,可以看到相关信息

13、Web访问,要先开放端口或者直接关闭防火墙
(1)输入命令,systemctl
stop firewalld.service
(2)浏览器打开http://
192.168.20.161:8088/
(3)浏览器打开http://
192.168.20.161:50070/

14、安装完成。这只是大数据应用的开始,之后的工作就是,结合自己的情况,编写程序调用Hadoop的接口,发挥hdfs、mapreduce的作用。

完成以后安装spark环境

安装Zookeeper


复制zookeeper的gz文件到 host01 机器

1. 解压

tar zxf zookeeper-3.4.11.tar.gz

2. 配置

cd conf

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

3. 设置serverid

进入data文件夹

cd /home/hadoop/zookeeper-3.4.11/data

机host01器

echo "1">myid

4. Copy至其他机器

scp -r /home/hadoop/zookeeper-3.4.11    hadoop@host01.xyy: /home/hadoop/zookeeper-3.4.11

5. 修改另外台机器的serverid

重复第3步,分别将id设置为配置文件中对应的id

cd /home/hadoop/zookeeper-3.4.11/data

host02

echo "2">myid

host03

echo "3">myid

安装Spark


Host01机器

1. 拷贝安装文件并解压

scala-2.11.7.tgz

spark-1.6.0-bin-hadoop2.6.tgz

hadoop-2.6.0.tar.gz

分别解压

2. 设置环境变量

vim ~/.bash_profile

export
JAVA_HOME=/home/peter/App/jdk1.8.0_66

export
PATH=$JAVA_HOME/bin:$PATH

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

export
SCALA_HOME=/home/peter/App/Spark/scala-2.11.7

export
SPARK_HOME=/home/peter/App/Spark/spark-1.6.0-bin-hadoop2.6

export
HADOOP_HOME=/home/peter/App/Spark/hadoop-2.6.0

export HADOOP_CONF_DIR=/home/peter/App/Spark/hadoop-2.6.0/etc/hadoop

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

source ~/.bash_profile

3. 设置Spark

cd /home/peter/App/Spark/spark-1.6.0-bin-hadoop2.6/conf

cp spark-env.sh.template spark-env.sh

export
SCALA_HOME=/home/peter/App/Spark/scala-2.11.7

export
SPARK_WORKER_MEMORY=1G

export
JAVA_HOME=/home/peter/App/jdk1.8.0_66

export
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=sm:2181,sd1:2181,sd2:2181
-Dspark.deploy.zookeeper.dir=/spark"

配置slaves

cp slaves.template slaves

vim slaves

4. 拷贝安装文件以及配置文件至其他机器

Java安装文件及配置文件

Hadoop

Spark

Scala

5. 启动Spark集群

每台机器启动ZK

/home/peter/App/Spark/zookeeper-3.4.7/bin/zkServer.sh
start

在SM机器启动Spark集群

cd
/home/peter/App/Spark/spark-1.6.0-bin-hadoop2.6

./sbin/start-all.sh

选中一台机器作为Standby Master,启动Master进程

./sbin/start-master.sh

启动后,可访问Spark Alive
Master的管理页面以及Standby Master的管理页面

http://192.168.20.161:4040

手工命令行 搭建 hadoop 和 spark 环境的更多相关文章

  1. 基于Eclipse搭建Hadoop源码环境

    Hadoop使用ant+ivy组织工程,无法直接导入Eclipse中.本文将介绍如何基于Eclipse搭建Hadoop源码环境. 准备工作 本文使用的操作系统为CentOS.需要的软件版本:hadoo ...

  2. 在搭建Hadoop集群环境时遇到的一些问题

    最近在学习搭建hadoop集群环境,在搭建的过程中遇到很多问题,在这里做一些记录.1. SSH相关的问题 问题一: ssh: connect to host localhost port 22: Co ...

  3. 在MacOs上配置Hadoop和Spark环境

    在MacOs上配置hadoop和spark环境 Setting up Hadoop with Spark on MacOs Instructions 准备环境 如果没有brew,先google怎样安装 ...

  4. Vue - 使用命令行搭建单页面应用

    使用命令行搭建单页面应用 我们来看一下最后完成的效果: 大纲 1. 下载 node, git, npm 2. 使用命令行安装一个项目 一. 下载工具 node , git  的下载大家可以去官网自行下 ...

  5. Spark集群环境搭建——Hadoop集群环境搭建

    Spark其实是Hadoop生态圈的一部分,需要用到Hadoop的HDFS.YARN等组件. 为了方便我们的使用,Spark官方已经为我们将Hadoop与scala组件集成到spark里的安装包,解压 ...

  6. 云主机CentOS 7新环境命令行搭建node工程步骤

    1.用Node官网提供的命令安装node https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-d ...

  7. AWS EC2 搭建 Hadoop 和 Spark 集群

    前言 本篇演示如何使用 AWS EC2 云服务搭建集群.当然在只有一台计算机的情况下搭建完全分布式集群,还有另外几种方法:一种是本地搭建多台虚拟机,好处是免费易操控,坏处是虚拟机对宿主机配置要求较高, ...

  8. H01-Linux系统中搭建Hadoop和Spark集群

    前言 1.操作系统:Centos7 2.安装时使用的是root用户.也可以用其他非root用户,非root的话要注意操作时的权限问题. 3.安装的Hadoop版本是2.6.5,Spark版本是2.2. ...

  9. 手把手教你搭建hadoop+hive测试环境(新手向)

    本文由  网易云发布. 作者:唐雕龙 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 面向新手的hadoop+hive学习环境搭建,加对我走过的坑总结,避免大家踩坑. 对于hive相关docke ...

随机推荐

  1. Running a jupyter notebook server

    你也许需要服务器运行jupyter notebook 阿里云: https://yq.aliyun.com/articles/98527 关于更安全的证书访问: http://jupyter-note ...

  2. 键值对操作 之 combineByKey

    combineByKey( createCombiner,mergeValue,mergeCombiners,partitioner) combineByKey() 是最为常用的基于键进行聚合的函数. ...

  3. 机器学习进阶-阈值与平滑-图像平滑操作(去噪操作) 1. cv2.blur(均值滤波) 2.cv2.boxfilter(方框滤波) 3. cv2.Guassiannblur(进行高斯滤波) 4. cv2.medianBlur(进行中值滤波)

    1.cv2.blur(img, (3, 3))  进行均值滤波 参数说明:img表示输入的图片, (3, 3) 表示进行均值滤波的方框大小 2. cv2.boxfilter(img, -1, (3, ...

  4. 塔式Server 服务器ESXI6.5安装

    参考文献: https://www.cnblogs.com/yufusec/p/9181422.html 第一步: esxi6.5.ios文件的下载 第二步: 通过UltraISO软件 制作启动盘或光 ...

  5. svn下载地址

    SVN svn服务器端下载: https://www.visualsvn.com/server/download/ svn eclipse插件地址(new soft install): http:// ...

  6. ABAP-串口通信-道闸设备

    最近SAP系统需要与道闸设备集成,通过串口通讯模式控制道闸栏杆升降,在此将开发过程中的思路及问题点做个备注. 一.相关设备 道闸设备型号:富士智能FJC-D618 串口模块:康耐德 C2000-A1- ...

  7. leetcode 题解: Gray Code

    第一眼看到就是枚举,回溯法. n位的ans就是在n-1的ans的基础上,每一个在首位加上1. 但是有个难点,要保证相邻两数之间只有一位在变化,怎么办? 首先 00 00 01 00 01 11 10 ...

  8. 【坑】tableView cell默认选中

    在tableView展示的过程时候,如果想一开始就有一些cell默认被选中,不能在cellForRowAtIndexPath中cell.selected=YES, 必须在willDisplayCell ...

  9. mysql 索引优化知识整理笔记

    http://blog.csdn.net/zhxp_870516/article/details/8434539 http://www.jb51.net/article/49346.htm https ...

  10. C#--构造函数的理解

    说白了构造函数就是用来初始化类的数据成员{因为C#语言具有类型安全的特质-->不能使用没有初始化的变量)} 在这里引用一下别人的总结,我觉得挺好的: 构造函数是一种特殊的成员函数,它主要用于为对 ...