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 ...
随机推荐
- 《Java架构师的最佳实践》生产环境JVM调优之空间担保失败引起的FullGC
1 问题现象 应用prod-xxx-k8s,在内存足够的情况下,仍然会产生偶发FullGC的问题. JVM配置如下: -Xmx8192m -Dhsf.server.max.poolsize=2500 ...
- IDEA 快速上手指南(全配置)(Day_23)
Idea快速入门指南 1.安装 1.1.安装 我们使用的是2017.3.4版本: 双击打开, 选择一个目录,最好不要中文和空格: 然后选择桌面快捷方式,请选择64位: 然后选择安装: 开始安装: 然后 ...
- java基础之8种基本数据类型
简单往往是最重要的,在刚刚学java的时候老师会给我们先讲这8种基本数据类型,今天再来做一个温习,[本文大部分参考了 https://zhuanlan.zhihu.com/p/25439066,在上面 ...
- docker中ubuntu源更新慢加速 换为国内源 Debian10源
本来以为是Ubuntu打包的镜像,换了阿里源老是报错100公钥不可用,结果发现是Debian的操作系统,换位Debian的操作系统打包的,换位Debian的源即可 #源如果使用错误也会报错,没有Deb ...
- CyclicBarrier分析
简介 CyclicBarrier 是什么? CyclicBarrier 使用 CyclicBarrier 源码解析 CyclicBarrier 简单实现 barrierAction 是由哪个线程执行的 ...
- 如何设计 API 接口,实现统一格式返回?
文章目录: 目录 前后端接口交互 接口返回值约定 返回值规范 正确返回 错误返回 统一定义错误码 错误码规范 Controller 层如何用? 正确返回 错误返回 详细代码实现 错误码 Control ...
- tomcat---starup.bat点击窗口自动关闭
- GO学习-(31) Go语言操作Elasticsearch
Elasticsearch 本文简单介绍了ES.Kibana和Go语言操作ES. Elasticsearch 介绍 Elasticsearch(ES)是一个基于Lucene构建的开源.分布式.REST ...
- 原子层沉积(ALD)和化学气相沉积(CVD)微电子制造铜金属化的研究进展
原子层沉积(ALD)和化学气相沉积(CVD)微电子制造铜金属化的研究进展 Atomic Layer Deposition (ALD) and Chemical Vapor Deposition (CV ...
- TensorFlow+TVM优化NMT神经机器翻译
TensorFlow+TVM优化NMT神经机器翻译 背景 神经机器翻译(NMT)是一种自动化的端到端方法,具有克服传统基于短语的翻译系统中的弱点的潜力.本文为全球电子商务部署NMT服务. 目前,将Tr ...