Hadoop 分布式配置及Spark on yarn部署

配置Hadoop

Hadoop的集群部署模式需要修改Hadoop文件夹中/etc/hadoop/中的配置文件,更多设置项可见官方说明,这里只设置了常见的设置项:hadoop-env.shyarn-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves。

  1. 在hadoop-env.sh中配置JAVA_HOME
    # The java implementation to use.
    export JAVA_HOME=/usr/local/jdk1.7
  2. yarn-env.sh中配置JAVA_HOME
    # some Java parameters
    export JAVA_HOME=/usr/local/jdk1.7
  3. core-site.xml为全局配置文件,修改core-site.xml
    复制代码
    <configuration>
    <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/home/hadoop/tmp</value>
            <description>Abase for other temporary directories.</description>
        </property>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
    <property>
        <name>dfs.http.address</name>
        <value>50070</value>
    </property>
    </configuration>
    复制代码
  4. hdfs-site.xml为HDFS的配置文件,修改hdfs-site.xml
    复制代码
    <configuration>
      <property>
        <name>dfs.namenode.secondary.http-address</name> 
        <value>master:50090</value>
      </property>
      <property>
        <name>dfs.replication</name>
        <value>2</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/tmp/dfs/name</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/tmp/dfs/data</value>
      </property>
      <property>
         <name>dfs.permissions</name>
         <value>false</value>
       </property>
    </configuration>
    复制代码
  5. mapred-site.xml为MapReduce的配置文件,修改mapred-site.xml
    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
    </configuration>
  6. yarn-site.xml为YARN资源管理器的配置文件,修改yarn-site.xml
    复制代码
    <configuration>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    </configuration>
    复制代码
  7. slaves文件配置从节点,配置slaves
    slave1
    slave2

将配置好的Hadoop文件夹分发给slaves

scp -r /opt/hadoop-2.6.0 hadoop@slave1:/opt/
scp -r /opt/hadoop-2.6.0 hadoop@slave2:/opt/

验证Hadoop是否安装成功

启动Hadoop,只需要在master进行下列操作即可

cd /opt/hadoop-2.6.0                           #进入Hadoop目录
sudo bin/hadoop namenode –format              #格式化namenode
sbin/start-dfs.sh                              #启动HDFS
sbin/start-yarn.sh                             #启动资源管理器

用jps查看机器上的进程,是否包含以下的进程:

master上的进程:

11164 SecondaryNameNode
17405 Jps
10535 ResourceManager
10949 NameNode

slave上的进程:

2164 DataNode
6440 Jps
1979 NodeManager

进入Hadoop的Web管理页面:http://master:50070/

image

注意:各个节点的时间一定要同步!!!!

六、Spark安装

下载Spark

进入官方网站下载最新Spark,下载地址,这里我下载的是spark-1.6.1-bin-hadoop2.6.tgz,能够在Hadoop2.6及更高版本上运行。
下载后,进行解压

sudo tar -zxvf spark-1.6.1-bin-hadoop2.6.tgz -C /opt/
sudo mv spark-1.6.1-bin-hadoop2.6/ spark-1.6.1 #重命名文件

配置Spark

cd /opt/spark-1.6.1/conf/
cp spark-env.sh.template spark-env.sh
sudo vi spark-env.sh

在Spark-env.sh文件尾部添加以下配置:

export JAVA_HOME=/usr/local/jdk1.7   #Java环境变量
export SCALA_HOME=/usr/local/scala-2.10.6 #SCALA环境变量
export SPARK_WORKING_MEMORY=1g  #每一个worker节点上可用的最大内存
export SPARK_MASTER_IP=master   #驱动器节点IP
export HADOOP_HOME=/opt/hadoop  #Hadoop路径
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop #Hadoop配置目录

配置slave主机

$ cp slaves.template slaves
$ sudo vim slaves

添加slave主机

slave1
slave2

将配置好的Spark分发给所有的slave

scp -r /opt/spark-1.6.1 hadoop@slave1:~/opt/

验证Spark是否安装成功

使用下面的命令,运行Spark
sbin/start-all.sh

用jps查看机器上的进程,是否包含以下的进程:
master上的进程:
3f891092-d25b-4e26-8134-29a55e4f2084
slave上的进程:
a979c70b-90ad-411d-9ad5-3189a7a9acdf
进入Spark的Web管理页面:http://master:8080
9f81e9e7-2a56-45dc-b061-2dc1ee7a34c2

运行简单示例

当需要运行Spark终端,必须将Spark的bin目录加入到系统路径。
export SPARK_HOME=/opt/spark-1.6.1
export PATH=$PATH:${SPARK_HOM}/bin

添加Spark的bin目录路径后,运行

spark-shell

查看是否出现欢迎界面,并可以运行scala脚本

image

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值