HADOOP及SPARK安装步骤及问题解决
说明:主节点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安装步骤及问题解决的更多相关文章
- Hadoop伪分布式安装步骤(hadoop0.20.2版本)
最近在学习hadoop,自己下了个视频教程,他的教学版本是hadoop0.20.2版本,现在的最新版本都到了3.0了,版本虽然有点老,但是还是学了一下,觉得有借鉴的价值. 不废话了,开始介绍: 先说一 ...
- linux hadoop 集群安装步骤
http://blog.csdn.net/xjavasunjava/article/details/12013677 1,时间同步hadoop集群的每台机器的时间不能相差太大. 安装集群前最好进行一下 ...
- Spark学习之Spark安装
Spark安装 spark运行环境 spark是Scala写的,运行在jvm上,运行环境为java7+ 如果使用Python的API ,需要使用Python2.6+或者Python3.4+ Spark ...
- 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)
所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...
- hadoop入门学习教程--DKHadoop完整安装步骤
使用hadoop版本是DKH标准三节点发行版,DKHadoop版本的易用性比较好,环境部署要简单的多,参考此篇安装前请先下载DKHadoop版本,网盘链接:https://pan.baidu.com/ ...
- Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)
1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 ).HA的集 ...
- 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 ...
- spark,hadoop集群安装注意
安装步骤严格参看厦门大学数据实验室教程 Spark 2.0分布式集群环境搭建(Python版) 安装Hadoop并搭建好Hadoop集群环境 遇到的问题 1.ubuntu 安装后升级.python是3 ...
- 最新hadoop+hbase+spark+zookeeper环境安装(vmmare下)
说明:我这里安装的版本是hadoop2.7.3,hbase1.2.4,spark2.0.2,zookeeper3.4.9 (安装包:链接:http://pan.baidu.com/s/1c25hI4g ...
随机推荐
- Chrome版本与chromedriver版本映射表
chromedriver版本 支持的Chrome版本 v2.36 v64-66 v2.35 v62-64 v2.34 v61-63 v2.33 v60-62 v2.32 v59-61 v2.31 v5 ...
- Java并发:ThreadLocal的简单介绍
作者:汤圆 个人博客:javalover.cc 前言 前面在线程的安全性中介绍过全局变量(成员变量)和局部变量(方法或代码块内的变量),前者在多线程中是不安全的,需要加锁等机制来确保安全,后者是线程安 ...
- xxl-job使用遇到的问题(二)
xxl-job使用遇到的问题(二) 关联阅读 xxl-job使用遇到的问题(一) 1.问题现象 最近有个老定时任务迁移到xxl-job的时候,遇到一个小问题.虽然很快解决,但是还是有必要记录一下~ j ...
- Navicat Premium 15 linux 安装与激活 ArchLinux 2021
查看了很多教程花了半小时才弄好可真不容易 参考https://github.com/orginly/navicat-keygen 下载地址 http://www.navicat.com.cn/down ...
- Redis 内存大小限制+键值淘汰策略配置
限制最大内存 windows 的 maxmemory-policy 策略可能会少一些 # 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试 ...
- GO学习-(8) Go语言基础之数组
Go语言基础之数组 Array(数组) 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化. 基本语法: // 定义一个长度为3元素类型为 ...
- Keras神经网络集成技术
Keras神经网络集成技术 create_keras_neuropod 将Keras模型打包为神经网络集成包.目前,上文已经支持TensorFlow后端. create_keras_neuropod( ...
- 编译器设计-RunTime运行时环境
编译器设计-RunTime运行时环境 Compiler Design - Run-Time Environment 作为源代码的程序仅仅是文本(代码.语句等)的集合,要使其活动,它需要在目标计算机上执 ...
- 『居善地』接口测试 — 12、Moco框架介绍
目录 1.Mock功能介绍 2.Moco框架介绍 3.Moco框架在接口测试中的作用 4.Moco框架的优点 5.Moco框架的下载与启动 (1)Moco框架的下载 (2)Moco框架的启动 1.Mo ...
- 【NX二次开发】属性操作相关函数的使用方法
内容包括:1.属性创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性效果: 源码: #include <stdlib.h> # ...