伪分布式配置hadoop2.6和spark1.4.1

本文详细记录了在研究生阶段使用伪分布式方式配置Hadoop2.6和Spark1.4.1的过程。内容包括硬件环境(16核、10.6G内存的CentOS 7服务器)、软件环境的搭建(如安装JDK、SSH无密码登录、Hadoop、Scala和Spark),以及启动这两个框架的步骤。在安装过程中可能会遇到的问题也进行了说明。
摘要由CSDN通过智能技术生成

伪分布式安装hadoop2.6和spark1.4.1

研究生生活即将开始,以写博客的方式来记录在实验室的点滴。


因为实验室是做大数据计算的,要用hadoop和spark框架,所以本篇主要记录hadoop和spark的搭建。


一、搭建环境软硬件

1、硬件环境

服务器一台(暂时用一台服务器做实验,以后会加入剩下的几台搭建完全分布式):16核、10.6G内存

2、软件环境

  • centos 7 64位
  • hadoop2.6
  • spark-1.4.1-bin-hadoop2.6
  • scala-2.11.7
  • jdk-7u67-linux-x64

二、安装

  • 安装之前首先创建自己的用户:useradd paul
  • 之后创建密码:passwd paul
  • 然后用root用户在 /etc/sudoers中加入:paul ALL=(ALL)       ALL

1、安装jdk

(1)、下载jdk,解压到相应目录。
(2)、设置环境:
[paul@localhost hadoop]$ vim ~/.bashrc
#set jdk environmet
export JAVA_HOME=/home/paul/Modules/java/jdk
export CLASSPATH=.:$JAVA_HOME/lib.tools.jar
export PATH=$PATH:$JAVA_HOME/bin
 
 
加入如上设置,让配置文件立即生效:source  ~/.bashrc
    note that: 如果是jdk1.8,那么就如下配置。  
      export JAVA_HOME=/home/paul/Modules/java
      export JRE_HOME=$JAVA_HOME/jre
      export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_JRE/lib 
      export PATH=$PATH:$JAVA_HOME/bin

(3)、检验
[paul@localhost hadoop]$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
证明安装成功!
 

2、ssh无密码登录

hadoop是通过ssh服务连接各个节点,所以必须设置ssh免密码登录。
(1)、修改ip地址映射(方便以后直接输入名字,免输入ip地址)
[paul@localhost ~]$ vim /etc/hosts
192.168.1.106 master
(2)、输入命令:
[paul@localhost ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[paul@localhost ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
(3)、检验:
[paul@localhost ~]$ ssh master
Last login: Sun Aug 16 08:57:49 2015 from master
证明免密码登录成功     

3、安装hadoop

(1)、下载hadoop,解压到相应目录
(2)、配置hadoop文件

进入hadoop的配置文件etc中配置如下文件:

core.site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/paul/Modules/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
注意更改相应的ip地址(master),我这里用的master对应的ip地址

hdfs.site.xml
<configuration>
    <property>
         <name>dfs.replication</name>
         <value>1</value>
    </property>
    <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:/home/paul/Modules/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:/home/paul/Modules/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>
注意配置自己的namenode 和datanode 目录

hadoop-env.sh
#set java environment
export JAVA_HOME=/home/paul/Modules/java/jdk
加入java环境到hadoop.env.sh

slaves
master
因为是伪分布式,slave就是自己的本身

(3)配置环境
进入当前用户的环境:
[paul@localhost hadoop]$ vim ~/.bashrc
增加如下设置:
#set hadoop environmetr
export HADOOP_HOME=/home/paul/Modules/hadoop 
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

4、安装scala

因为spark是基于scala的,所以首先安装scala,类似安装jdk,很简单

(1)、下载scala,解压到相应目录

(2)、配置环境

[paul@localhost hadoop]$ vim ~/.bashrc

#set scala and spark environment
export SPARK_HOME=/home/paul/Modules/spark
export SCALA_HOME=/home/paul/Modules/scala
export PATH=$PATH:$SPARK_HOME/bin:$SCALA_HOME/bin

配置立即生效:

[paul@localhost hadoop]$ source ~/.bashrc

(3)、验证:
[paul@localhost hadoop]$ scala
Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_67).
Type in expressions to have them evaluated.
Type :help for more information.

scala> 
则成功!

5、安装spark

(1)、下载spark,解压到相应目录
(2)、配置spark文件
进入spark的conf,找到spark-env.sh,加入
export SPARK_HOME=/home/paul/Modules/spark
export SCALA_HOME=/home/paul/Modules/scala
export JAVA_HOME=/home/paul/Modules/java/jdk
export SPARK_MASTER=master
export SPARK_LOCAL_IP=master
export HADOOP_HOME=/home/paul/Modules/hadoop
export SPARK_HOME=/home/paul/Modules/spark
export SPARK_LIBARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin
(3)、配置.bashrc
     
#set scala and spark environment
export SPARK_HOME=/home/paul/Modules/spark
export SCALA_HOME=/home/paul/Modules/scala
export PATH=$PATH:$SPARK_HOME/bin:$SCALA_HOME/bin

(4)、环境立即生效
[paul@localhost conf]$ source ~/.bashrc

三、启动hadoop和spark

1、启动hadoop

      进入 hadoop目录中的sbin目录下:
[paul@localhost conf]$ hadoop namenode -format
[paul@localhost conf]$ start-all.sh 
[paul@localhost .ssh]$ jps
6895 NameNode
8945 NodeManager
7187 ResourceManager
8539 DataNode
9069 Jps
8713 SecondaryNameNode

2、启动spark

进入spark的sbin目录
[paul@localhost .ssh]$ cd ~/usr/spark/sbin/
[paul@localhost sbin]$ ./start-all.sh 
[paul@localhost sbin]$ jps
9161 Master
6895 NameNode
8945 NodeManager
7187 ResourceManager
9476 Jps
8539 DataNode
9373 Worker
8713 SecondaryNameNode
存在worker 和 master证明安装成功!

四、安装过程中的异常

1、ssh无密码登录那一块可能不成功
系统自带的ssh版本太低造成的,重新安装即可。

2、/home/paul/usr/spark/sbin/spark-daemon.sh:行140: rsync: 未找到命令
系统自带的rsync(是类unix系统下的数据镜像备份工具)版本过低,重新安装最新的即可

3、15/08/31 07:32:33 WARN hdfs.DFSClient: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /data/data.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 1 datanode(s) running and no node(s) are excluded in this operation.
是说没有找到可用的datanode节点,查看web页面下存在livenode,说明datanode已经启动,则说明是namenode和datanode没有连接好,datanode脱离namenode的管理
解决方案:
清除namenode下的临时文件(就是core-site.xml中的 hadoop.tmp.dir和hdfs-site.xml中的namenode和datanode对应的目录),重新格式化namenode,重启hadoop。


































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值