Hadoop与Spark的安装

来源:互联网 发布:印度红色走廊 知乎 编辑:程序博客网 时间:2024/04/29 23:48

                                                                                                    Hadoop +spark安装

 

由于hadoopmapreduce离线处理的高延迟性,并不适合所有`数据处理的场景,所以越来越多的数据处理框架应运而生,sparkstorm的是基于内存计算的框架,它们的低延迟性很好的弥补了mapreduce的不足,为了满足需求,很多框架都可以共同布置在同一资源管理器上,从而处理各种需求,最为典型的资源管理器有mesoshadoopyarn

下面是在yarn下布置的spark框架:

 

Centos6.5linux操作系统下:

Hadoop2.6+scala2.11.6+spark1.2.1

Spark1.2.1(官方文档要求hadoop2.4+scala2.11.X+java 8)

 

Yarnhadoop的第二代mapreduce,所以要使用较新版本的hadoopspark为了与HDFS交互,所以对HDFS的版本有要求,同时spark同时也依赖于JVM所以也需要安装java环境,spark还需要依赖于scala(与之对应的版本)。

 

Yarn:统一资源管理器;

Spark:适合于低延迟交互与工作迭代的数据处理框架(spark程序可以用scalajavapython编写)

Scala:一种函数式的静态语言,与java相似但更难上手,spark就是使用scala所编写的,所以用scala编写spark程序最为合适。

 

 

 

Hadoop的安装:

 

192.168.1.2  192.168.1.3  192.168.1.4

1,使用静态ip,修改IP

Vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改完后要重启网络连接服务

/etc/init.d/network  restart

 

2,修改主机名:

Vim /etc/sysconfig/network

在里面修改hostname=master,其他不变;

 

3hosts文件的修改:

Vim /etc/hosts

在里面添加集群里面的每一台IP,格式如下:

192.168.1.2     master

192.168.1.3     slaver1

192.168.1.4     slaver2

这样的目地可以直接ping 主机名(或者连接其他主机名),这一步是必须的;

Ping 主机名(这一步也是必须的,必须ping得到响应后才重启)

接着重启

 

4,每台linux机器的默认开启防火墙,必须关了,还有selinux的文件修改。

 

5ssh远程控制协议,关键,集群之间的控制要求五密码登录。

hadoop产生密钥而不能用root产生,密钥的权限很重要,

.ssh的权限要为700

而里面的authorized_key的权限要为644

把密钥传输到其他集群:

Scp ~/.ssh/id_rsa.pub  hadoop@192.168.1.2:~

做好后就可以无密码直接登录:ssh 192.168.1.2

还有ssh登录自身很重要,这也要配置,,,,,,,,修改方法:

/etc/ssh/sshd_config

 

7,这部可有可有,(HBase的使用)

/etc/security/limits.conf)

Echo hadoop - nofile 32768

Echo hadoop soft/hard npron 32000

/etc/pam.d/login

Echo session required pam_limits.so

 

6,接着是java环境的搭建,

直接解压java包,配置/etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_25

PATH=$JAVA_HOME/bin:$PATR

 

7,hadoop2.6.0的安装,解压,配置/etc/profile

HADOOP_HOME=/usr/hadoop/hadoop0.2

PATH=$PATH:$HADOOP_HOME/bin

接着以下五个文件

     Hadoop-env.sh  追加JAVA-HOME=/usr/java/jdk1.8.0_25

     Core-site.xml

     Hdfs-site.xml

     Mapred-site.xml

     Slaver

     Master

Hadoop2.6比较以前版本有区别,都配置好后,

 

启动验证:

Hadoop namenode -formatbin/hadoop namenode -format

Start-all.sh

格式化不能是多次,因为namenode的数据会格式化,但datanode的不会,格式化多次的解决办法,进入datanode/tmp/hadoop/dfs/data...这是默认的数据临时路径,删除所产生的文件,如果不是临时目录就到实际目录删除。

 

查看命令:jps  

网页查看端口:50070  

 

7.1/tmp  这个临时目录每次开机被清空,,默认的。。

7.2,数据存放的三个点

Namenodehadoop2.6/dfs

Secondnamenode /tmp/

Datanode/tmp

 

8,,注意hadoop文件夹的权限,,要使用者为spark 

 

 

以下是4个配置文件;

Slaver这个文件配置就不给了

Core-siteXml

  <configuration>

     <property>

      <name>fs.defaultFS</name>

  <value>hdfs://192.168.1.2:9000</value>

   <final>true</final>

  </property>

 

</configuration>

 

 

 

Hdfs-siteXml

 

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/usr/hadoop2.6/hdfs/name</value>

<final>true</final>

</property>

 

<property>

<name>dfs.dataname.data.dir</name>

<value>/usr/hadoop2.6/hdfs/data</value>

<final>true</final>

</property>

 

 

</configuration>

 

 

 

 

Yarn-siteXml

 

<property>

<name>Yarn.resourcemanager.address</name>

<value>192.168.1.2:8032</value>

</property>

<property>

<name>Yarn.resourcemanager.scheduler.address</name>

<value>192.168.1.2:8030</value>

</property>

<property>

<name>Yarn.resourcemanager.webapp.address</name>

<value>192.168.1.2:8088</value>

</property>

<property>

<name>Yarn.resourcemanager.resource-tracker.address</name>

<value>192.168.1.2:8031</value>

</property>

<property>

<name>Yarn.resourcemanager.webapp.https.address</name>

<value>192.168.1.2:8090</value>

</property>

<property>

<name>Yarn.resourcemanager.admin.address</name>

<value>192.168.1.2:8033</value>

</property>

<property>

<name>Yarn.nodemanager.aux-services</name>

<value>mapreduce.shuffle</value>

</property>

 

</configuration>

 

 

 

Mapreduce-siteXml

 

<configuration>

    <property>

    <name>mapreduce.framework.name</name>

    <value>Yarn</value>

    </property>

 

</configuration>

 

 

 

相关参考:

http://f.dataguru.cn/forum.php?mod=viewthread&tid=492116&highlight=hadoop  

 

 

 

 

 

 

Chown +R spark:spark spark

+R循环把文件权改变

0 0
原创粉丝点击