前言
好久没有更新博客了,主要是懒得放论文笔记。
最近比较想玩一下分布式系统,就装了一个hadoop+spark的集群(1个master、1个slaver,没有多余的主机,所以只用了两个)。
耗时快一天,简单记录一下部署过程中遇到的问题。
主要安装流程:
- 搭建与测试hadoop分布式集群环境
- 搭建与预测spark环境
hadoop 分布式集群部署
master 192.168.1.112
slaver 192.168.1.101
安装参考教程进行逐步安装
遇到的主要问题:
- 主机之间ssh连接报错
ssh本机失败(ssh: connect to host localhost port 22: Connection refused)
解决方法:重新安装open-sshserver
- namenode节点无法启动: 原因是自己把主机host名称中带有"_",注意:主机hostname不能带有"-"或者_
- Hadoop集群启动后,data节点上的主机无法使用jps命令,即无法查看java进程;
The program 'jps' can be found in the following packages:
- openjdk-7-jdk
- openjdk-6-jdk
Try: apt-get install <selected package>
解决方法:重新安装jdk,安装完整版本的jdk后即可相似解决方案
-
- datanode节点无法启动:no datanode
- 原因:hafs-site.xml配置文件有语法错误,通过查看日志才发现(大家如遇各种奇怪问题,还是第一步先去看看logs日志里面的报错信息)
- 注: hadf-site.xml指明了name和data节点的存储位置,可以明确配置一下:
hdfs-site.xml配置
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
- hadoop 8088网页无法打开: 主要原因:没有对该端口做设置,在yarn-site.xml配置中添加如下:
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>localhost:8088</value>
</property>
8088页面
50070页面
上面显示有一个namenode,一个Live Node(datanode),说明环境初步配置完成
hadoop运行测试: wordcount示例
wordcount运行截图以上过程说明hadoop已经成功部署,并能使用。
Spark集群部署
参考教程
我们为了利用hadoop的HDFS系统,因此在spark平台的配置前部署hadoop集群。在上步工作完成后,spark的配置就比较简单了,按照教程进行逐步操作即可。
主要遇到的一个问题也是自己疏忽导致的,没有指定spark的集群的slaves,导致worker节点无法启动。
pyspark-spell spark 8088页面
总结
整个配置过程中,过程相对比较简单,但特别需要主要hadoop和spark的配置文件设置,大部分问题都是由于配置文件的设置不当引起的。
网友评论