说明:主节点IP:192.168.35.134   主机名:master

从节点slave1 IP: 192.168.35.135   主机名:slave1

从节点slave2 IP: 192.168.35.136   主机名:slave2

1、检查环境,安装JDK:

Linux系统:用root用户登陆到系统,用如下命令查看当前安装jdk情况:

rpm -qa|grep jdk

显示:java version "1.8.0_131"  若版本过低,用如下命令卸载jdk:

 rpm -e  --nodeps  jdk1.8.0_131

下载好jdk安装包,使用WinSCP工具将安装包上传到主节点目录下。切换至用户模式:su - 用户名(如test)。

新建用户组:

groupadd hadoop

新建用户:

useradd hadoop

新建jdk安装目录:

mkdir /home/java;

执行命令:

tar -zxvf jdk-8u131-linux-x64.tar.gz -C /home/java

将jdk安装在指定目录/home/java下。等待安装,安装完后配置jdk环境变量,配置在/home/test/.bash_profile。

执行命令:

vim /home/test/.bash_profile

键盘按“i”,进入编辑模式,在下方新增如下内容:

export JAVA_HOME=/home/java/jdk1.8.0_131
export CLASSPATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

键盘按“:wq!”保存更改的配置项。终端输入:

source /home/test/.bash_profile

检查jdk是否安装成功,终端输入:

java -version

显示:则表明安装成功。

2、配置主机名(root身份):

vim /etc/sysconfig/network

修改如下信息:

NETWORKING=yes
HOSTNAME=master

检查是否成功:

hostname

显示:master。则表示配置成功。其他从节点主机名均修改成相应的主机名。

3、配置host列表(root身份):

vim /etc/hosts

将下面内容添加至文件中:

192.168.35.134 master
192.168.35.135 slave1
192.168.35.136 slave2

住:若不知道本机ip地址,可使用命令:ipconfig或 ip addr show查看。

3、配置时钟同步(root身份),请参考这篇文章:

4、关闭防火墙(root身份):

查看防火墙状态,如下命令,若iptables已开启,需关闭防火墙。

 service iptables status

关闭防火墙命令:

chkconfig iptables off

5、各服务器节点之间配置SSH免密登录(用户身份登录):

终端输入:

ssh-keygen -t rsa

在各节点分别进入/home/hadoop/.ssh目录,在三个节点中分别把公钥id_rsa.pub命名为authorized_keys_master、authorized_keys_slave1和authorized_keys_slave2,使用命令如下:

cd /home/hadoop/.ssh
cp id_rsa.pub authorized_keys_hadoop1

把两个从节点(slave1、slave2)的公钥使用scp命令传送到master节点的/home/hadoop/.ssh文件夹中;

scp authorized_keys_slave1 hadoop@master:/home/hadoop/.ssh--在slave1节点上执行该条命令;
scp authorized_keys_slave2 hadoop@master:/home/hadoop/.ssh--在slave2节点上执行该条命令;

在主节点上把三个节点的公钥信息保存到authorized_keys文件中,主节点终端输入如下命令:

cat authorized_keys_master >> authorized_keys
cat authorized_keys_slave1 >> authorized_keys
cat authorized_keys_slave2 >> authorized_keys

把authorized_keys文件分发到其他两个从节点上,使用如下命令:

scp authorized_keys hadoop@slave1:/home/hadoop/.ssh
scp authorized_keys hadoop@slave2:/home/hadoop/.ssh

在三台机器中使用如下设置authorized_keys读写权限

chmod 400 authorized_keys

测试ssh免密码登录是否生效:

ssh slave1
ssh slave2

能跳转至其他节点,则表明免密已生效,exit命令退出。

6、安装hadoop:

同样使用WinSCP工具将hadoop安装包上传到主节点目录下,新建hadoop安装目录:

mkdir /home/hadoop

执行命令:

tar -zxvf hadoop-2.8.2.tar.gz -C /home/hadoop

等待安装,安装后,配置环境变量。

6.1 配置hadoop-env.sh环境变量,执行命令:

vim /home/hadoop/hadoop-2.8.2/etc/hadoop/hadoop-env.sh

找到如下一行代码:

export JAVA_HOME=${JAVA_HOME}

将其改为:

export JAVA_HOME=/home/java/jdk1.8.0_131

保存即可。

6.2 配置yarn-env.sh环境变量

6.3 配置组件core-site.xml

6.4 配置文件系统hdfs-site.xml

6.5 配置文件系统yarn-site.xml

6.6 配置计算框架mapred-site.xml

6.7 配置从节点文件slaves

6.8 将上述安装好的hadoop复制到slave1和slave2节点。

6.9 配置hadoop系统环境变量

6.10 创建数据目录

6.11 格式化文件系统

6.12 启动hadoop集群

7、安装spark

8、问题及解决方法

问题一:hadoop的集群无法正常启动,其中jps命令错误。

分析原因:可能是.bash_profile文档需要重新source。Source的功能就是通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。(说明白点就是让修改过的文档重新生效)

解决方案:source下.bash_profile文件。

问题二:Spark提交Pi应用报错,日志显示:ERROR yarn.ApplicationMaster: Uncaught exception: java.lang.ClassNotFoundException: org.apache.spark.examples.SparkPi

分析原因:是jar包有问题

解决方案:换一个好的jar包再执行正确。

问题三:hadoop运行pi任务失败,日志显示:

ERROR client.TransportClient: Failed to send RPC 6920585401247025097 to /192.168.42.162:60956: java.nio.channels.ClosedChannelException

java.nio.channels.ClosedChannelException

at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)

分析原因:内存溢出

解决方案:在yarn-site.xml中增加两个配置项:

<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
说明:yarn.nodemanager.vmem-check-enabled是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
问题四:启动hadoop后,Spark提交Pi应用报错,日志显示:
pplication application_1511319158710_0002 failed 2 times due to AM Container for appattempt_1511319158710_0002_000002 exited with  exitCode: 10
Failing this attempt.Diagnostics: Exception from container-launch.
Container id: container_1511319158710_0002_02_000001
Exit code: 10

分析原因:yarn-site.xml中value配置有空格

解决方案:yarn-site.xml中value配置不能有空格;

 
 

												

HADOOP及SPARK安装步骤及问题解决的更多相关文章

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

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

  2. linux hadoop 集群安装步骤

    http://blog.csdn.net/xjavasunjava/article/details/12013677 1,时间同步hadoop集群的每台机器的时间不能相差太大. 安装集群前最好进行一下 ...

  3. Spark学习之Spark安装

    Spark安装 spark运行环境 spark是Scala写的,运行在jvm上,运行环境为java7+ 如果使用Python的API ,需要使用Python2.6+或者Python3.4+ Spark ...

  4. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...

  5. hadoop入门学习教程--DKHadoop完整安装步骤

    使用hadoop版本是DKH标准三节点发行版,DKHadoop版本的易用性比较好,环境部署要简单的多,参考此篇安装前请先下载DKHadoop版本,网盘链接:https://pan.baidu.com/ ...

  6. Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 ).HA的集 ...

  7. Apache Hadoop集群安装(NameNode HA + YARN HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 192.16 ...

  8. spark,hadoop集群安装注意

    安装步骤严格参看厦门大学数据实验室教程 Spark 2.0分布式集群环境搭建(Python版) 安装Hadoop并搭建好Hadoop集群环境 遇到的问题 1.ubuntu 安装后升级.python是3 ...

  9. 最新hadoop+hbase+spark+zookeeper环境安装(vmmare下)

    说明:我这里安装的版本是hadoop2.7.3,hbase1.2.4,spark2.0.2,zookeeper3.4.9 (安装包:链接:http://pan.baidu.com/s/1c25hI4g ...

随机推荐

  1. 继承(extends), 多态 , 抽象(abstract)接口() 易混难点解析

    特性 java是单继承的,一个类直接继承的父类只能有唯一的一个 java中父类可以有多个子类 Object是所有类的父类,一个类没有父类则默认继承Object; 继承中的重写 子类重写方法访问权限不能 ...

  2. 阿里云服务器安装Docker并部署nginx、jdk、redis、mysql

    阿里云服务器安装Docker并部署nginx.jdk.redis.mysql 一.安装Docker 1.安装Docker的依赖库 yum install -y yum-utils device-map ...

  3. 在命令行模式下查看Python帮助文档---dir、help、__doc__

    在命令行模式下查看Python帮助文档---dir.help.__doc__   1.dir函数式可以查看对象的属性,使用方法很简单,举str类型为例,在Python命令窗口输入 dir(str) 即 ...

  4. The Superego 实验四 团队作业1:软件研发团队组建

    项目 内容 课程班级博客链接 班级博客链接 这个作业要求链接 作业要求链接 团队名称 The Superego 团队的课程学习目标 (1)组建团队,建设团队文化,申请开通团队博客 (2)团队之间相互协 ...

  5. JAVA并发(5)-并发队列LinkedBlockingQueue的分析

    本文介绍LinkedBlockingQueue,这个队列在线程池中常用到.(请结合源码,看本文) 1. 介绍 LinkedBlockingQueue, 不支持null,基于单向链表的可选有界阻塞队列. ...

  6. NVIDIA GPU自动调度神经网络

    NVIDIA GPU自动调度神经网络 对特定设备和工作负载进行自动调整对于获得最佳性能至关重要.这是有关如何使用自动调度器为NVIDIA GPU调整整个神经网络. 为了自动调整神经网络,将网络划分为小 ...

  7. 3D Cube计算引擎加速运算

    3D Cube计算引擎加速运算 华为达芬奇架构的AI芯片Ascend910,同时与之配套的新一代AI开源计算框架MindSpore. 为什么要做达芬奇架构? AI将作为一项通用技术极大地提高生产力,改 ...

  8. HiCar技术概述

    HiCar技术概述 HUAWEI HiCar(以下简称 HiCar)是华为提供的人-车-家全场景智慧互联(HUAWEI HiCar Smart Connection)解决方案,具备如下特点: 安全交互 ...

  9. Tesla T4视频编码性能分析

    Tesla T4视频编码性能分析 从开普勒开始的所有 NVIDIA GPUs 都支持完全加速的硬件视频编码: GPUs 支持完全加速的硬件视频解码.最近发布的图灵硬件提供了张量核心和更好的机器学习性能 ...

  10. mybatis设置自动提交事务

    我们想要mybatis帮助我们自动提交事务其实很简单,只需要在SqlSessionFactory对象的openSession方法中设置参数为true就可以了,mybatis工具类如下: public ...