码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop+spark集群搭建

时间:2020-02-23 18:34:33      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:shuff   temp   主机名   and   实验环境   文件拷贝   source   相关   ons   

hadoop+spark集群搭建

?

本次实验环境:两台hadoop+两台spark组成集群

?

环境准备:

?? ? ? ?1. 两个主机实现ssh无密钥认证,包括本机与本机的免密钥认证:

? ? ? ? ? ? ? ? ssh-keygren :生成一对密钥

? ? ? ? ? ? ? ? ssh-copy-id : 把公钥发给对方服务器

? ? ? ? ?2. 集群间需实现时间同步:

? ? ? ? ? ? ? ? ?ntpdate

? ? ? ? ?3. 配置主机名:? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?192.168.133.128 master
? ? ? ? ? ? ? ? ?192.168.133.129 node

? ? ? ? ?4. 下载hadoop-spark压缩包,解压,尽量两台服务器的hadoop-spark安装路径是一致的

? ?

? ? ? ? ?5. 配置安装JAVA环境并配置JAVA和hadoop环境变量:

export JAVA_HOME=/usr/java/jdk1.8.0_51/

export HADOOP_HOME=/opt/hadoop-spark/hadoop/hadoop-2.9.1

PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

安装hdoop集群:

?

? ? 在master主机上配置:

? ? ? ? cd $HADOOP_HOME/etc/hadoop/

? ? ? ? vi?core-site.xml

<configuration>

<!--配置HDFS的NameNode-->

????????????<property>

????????????  <name>fs.defaultFS</name>

????????????  <value>hdfs://master:9000</value>

????????????</property>

?

????????????<!--配置DataNode保存数据的位置-->

????????????<property>

????????????  <name>hadoop.tmp.dir</name>

????????????  <value>/opt/hadoop-spark/hadoop/hadoop-2.9.1/tmp</value>

????????????</property>

</configuration>

? ? ? ?

? ? ? ? ?vi hdfs-site.xml

<configuration>

<!--配置HDFS的冗余度-->

    <property>

        <name>dfs.replication</name>

????<value>1</value>

    </property>

<!--配置是否检查权限-->

    <property>

????<name>dfs.permissions</name>

????<value>false</value>

    </property>

<!--配置namenode存储路径-->

    <property>

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

????<value>file:///data/cluster_hadoop/hdfs/nn</value>

    </property>

<!--配置datanode存储路径-->

    <property>

????<name>dfs.datanode.data.dir</name>

????<value>file:///data/cluster_hadoop/hdfs/dn</value>

    </property>

<!--配置second namenode的映像存储路径-->

    <property>

????<name>fs.checkpoint.dir</name>

????<value>file:///data/cluster_hadoop/hdfs/snn</value>

    </property>

<!--配置second namenode合并元数据时的临时编辑存储路径-->

    <property>

????<name>fs.checkpoint.edits.dir</name>

????<value>file:///data/cluster_hadoop/hdfs/snn</value>

    </property>

?

</configuration>

如果namenode,second namenode, datanode没有设置存储路径,则默认存储到$(hadoop.tmp.dir)路径下

? ?

? ? ? ? ? vi?yarn-site.xml:

<configuration>

<!--配置resourcemanager监听地址及端口-->

    <property>

        <name>yarn.resourcemanager.address</name>

        <value>master:8032</value>

    </property>

<!--配置resourcemanager的调度器监听地址及端口,默认0.0.0.0:8030-->

    <property>

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

        <value>master:8030</value>

    </property>

    <property>

<!--NodeManager通过该地址向RM汇报心跳,领取任务等,默认0.0.0.0:8031-->

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

        <value>master:8031</value>

    </property>

<!--管理员的访问ResourceManager的地址端口,默认0.0.0.0:8033-->

    <property>

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

        <value>master:8033</value>

    </property>

<!--配置resourcemanagerweb接口地址及端口,默认0.0.0.0:8088-->

    <property>

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

        <value>master:8088</value>

    </property>

    <property>

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

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.nodemanager.auxservices.mapreduce_shuffle.class</name>

        <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.class</name>

        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>

    </property>

</configuration>

? ? ? ? ? ?注意:yarn-site.xml里面的配置指明的是master的地址,没有解析域名的可以用IP

?

vi?mapred-site.xml

<configuration>

<!--配置MR运行的框架-->

        <property>

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

                <value>yarn</value>

        </property>

</configuration>

此文件默认没有,但是在该目录下有个模板文件为mapred-site.xml.template,可以复制一份为mapred-site.xml

? ? ?

? ? ? vi slaves

master

node

? ? ? ? 此配置文件用来指明数据节点的,本次使用master服务器既是master节点也是node节点

?

? ? ? ? 新建hadoop存储路径:

? ? ? ? mkdir -p /data/cluster_hadoop/hdfs/nn

? ? ? ? mkdir -p /data/cluster_hadoop/hdfs/snn

? ? ? ? mkdir -p /data/cluster_hadoop/hdfs/dn

?

? ? 配置slave节点:

? ? ? ? slave节点的配置与master节点的配置相同,只是启动的服务不同,把以上编辑的文件拷贝到slave节点相同的位置就可以了

? ? ? ? 配置存储路径:

? ? ? ? mkdir -p /data/cluster_hadoop/hdfs/nn

? ? ? ? mkdir -p /data/cluster_hadoop/hdfs/snn

? ? ? ? mkdir -p /data/cluster_hadoop/hdfs/dn

?

格式化hdfs:

? ? ? ? hdfs namenode -format

? ? ? ? ?其输出结果会有大量的信息,如显示类似‘INFO commmon.Storage:Storage dirctory /PATH/TO/NN has been successfully formatted‘的结果表示格式化操作已经完成

启动Hadoop进程:

? ? ? ? (1)分别启动,分别手动启动master的服务以及slave服务;

? ? ? ? ? 主要用到两个脚本:hadoop-daemon.sh和yarn-daemons.sh。

? ? ? ? (2)master自动启动自身的服务以及slave的服务(需要配置master与slave能进行免密钥认证)

? ? ? ? ?这里用第二种方法:

? ? ? ? ? ./sbin/start-dfs.sh

? ? ? ? ??./sbin/start-yarn.sh

master会启动进程:

[root@accur sbin]# jps

23137 ResourceManager

17224 DataNode

23753 NodeManager

20942 NameNode

17518 SecondaryNameNode

slave会启动进程:

[root@accur sbin]# jps

7089 DataNode

9999 NodeManager

hadoop相关web接口:

http://master:50070/

http://master:8088/? #8088端口冲突了会自动+1,或者编辑start-master.sh修改端口

?

spark集群安装:

? ? ? ? ?在两台机器上spark环境变量:

? ? ? ? ? ? ? ? ?vi conf/spark-env.sh? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? export SPARK_DIST_CLASSPATH=$(/opt/hadoop-spark/hadoop/hadoop-2.9.1/bin/hadoop classpath)
? ? ? ? ? ? ? ? ? ? ? ? ? export JAVA_HOME=/usr/java/jdk1.8.0_51/
? ? ? ? ? ? ? ? ? ? ? ? ? export SPARK_MASTER_HOST=master
? ? ? ? ? ? ? ? ? ? ? ? ? export SPARK_MASTER_IP=master
? ? ? ? ? ? ? ? ? ? ? ? ? export SPARK_MASTER_PORT=7077
? ? ? ? ? ? ? ? ? ? ? ? ? export MASTER=spark://master:7077

? ? ? ?? ?

? ? ? ?配置worker节点:

? ? ? ? ? ? ? vi conf/slaves:

? ? ? ? ? ? ? ? ? ? ? ?master? #此时master也作为slaves节点

? ? ? ? ? ? ? ? ? ? ? ?node

?

? ? ? ?运行master节点:

? ? ? ? ? ??./sbin/start-master.sh

? ? ? ? ?

? ? ? ?运行worker节点

? ? ? ? ? ??./sbin/start-slave.sh?spark://master:7077

?

? ? ? 测试worker节点能否与master通信:

? ? ? ? ? ? ?/bin/spark-shell --master??spark://master:7077

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

hadoop+spark集群搭建

标签:shuff   temp   主机名   and   实验环境   文件拷贝   source   相关   ons   

原文地址:https://www.cnblogs.com/hel7512/p/12350583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!