概述
分布式搭建
下载所需的安装包,建立相应的文件夹,将安装包发送到对应的安装包中去。
安装JDK
1. 解压安装包
2. cd 进入解压后的文件夹,pwd获取JAVA_HOME路径
/home/pangying/java/jdk1.8.0_151
3. 配置环境变量
4. 使配置生效
5. 检查是否配置成功
安装Hadoop
1. 解压安装包
2. cd进入解压后的文件夹,pwd获取hadoop路径
3. 配置hadoop环境变量
4. 使配置生效
5. 配置hadoop的配置文件
6. 修改hadoop-env.sh将原来的JAVA_HOME配置替换掉
7. 修改core-site.xml文件
8. 修改hdfs-site.xml
9. 修改mapred-site.xml,先复制一份mapred-site.xml.template模板,并重命名为mapred-site.xml
10. 配置yarn-site.xml
11. 配置集群中的datanode节点:
12. 格式化文件系统:
检查是否安装成功的一个较为简单但是不完全可靠的方法是,访问浏览器master对应IP的8088和50070端口,查看活跃节点是否对应你所配的节点数。
安装Spark
1. 解压安装包
2. 进入解压后的安装包,pwd获取安装路径
/home/pangying/spark/scala-2.12.4
3. 解压spark的安装包,同样获取其安装路径:
/home/pangying/spark/spark-2.1.0-bin-hadoop2.7
4. 配置环境变量:
5. 使配置生效
6. 进入spark的conf文件夹下配置spark-env.sh文件
7. 复制模板并重命名
8. 配置spark-defaults.conf
9. 配置slaves
同样的,最简单但是不可靠的检测是否安装成功的方式是浏览器访问master节点对应IP的8085端口(如果你在spark-env.sh配了这个端口的话)
注意:上述所有的安装与配置在所有节点中的操作都是一样的!
说明:本文省略了ssh免密登录配置,和hostname主机名的配置,有需要的话可以参考[大数据]-hadoop2.8和spark2.1完全分布式搭建这篇文章,写的很详细,我最初也是参考着它做的。
问题与解决方案
问题1: Unable to load native-hadoop library for yourplatform... using builtin-java
解决方案:
网上很多解决方法都是说hadoop编译的版本和Java编辑的版本或者系统位数不相符,应该自己去编译的一个64位的hadoop库,可是我直觉并检查我的版本没有问题,都是64位的,于是我使用个下述方法解决了这个问题:
在文件hadoop-env.sh中增加:
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
问题2:inator stopped!
18/01/03 17:47:13 INFO spark.SparkContext: Successfully stopped SparkContext
Exception in thread "main" java.net.ConnectException: Call From master/192.168.217.128 to master:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:792)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:732)
at org.apache.hadoop.ipc.Client.call(Client.java:1479)
at org.apache.hadoop.ipc.Client.call(Client.java:1412)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
at com.sun.proxy.$Proxy13.getFileInfo(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:771)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
at com.sun.proxy.$Proxy14.getFileInfo(Unknown Source)
at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2108)
at org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
at org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1317)
at org.apache.spark.scheduler.EventLoggingListener.start(EventLoggingListener.scala:93)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:531)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2313)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860)
at org.apache.spark.examples.SparkPi$.main(SparkPi.scala:31)
at org.apache.spark.examples.SparkPi.main(SparkPi.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:738)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:495)
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:614)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:712)
at org.apache.hadoop.ipc.Client$Connection.access$2900(Client.java:375)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1528)
at org.apache.hadoop.ipc.Client.call(Client.java:1451)
... 34 more
解决方案:
将spark-default.conf文件中的spark.eventLog.enabled 改成false
问题3:焦头烂额,解决中。。。
参考文献:提交spark sample作业失败
最后
以上就是机智雪糕为你收集整理的Hadoop 2.8.2 和 Spark 2.1.0 分布式搭建及遇到的一些小问题分布式搭建问题与解决方案的全部内容,希望文章能够帮你解决Hadoop 2.8.2 和 Spark 2.1.0 分布式搭建及遇到的一些小问题分布式搭建问题与解决方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复