彩运网网址-彩运网网上登录

彩运网网址Hadoop-2.3.0-cdh5.1.0完全分布式搭建(基

1.Hadoop介绍 

先参考:《Hadoop-2.3.0-cdh5.1.0伪分布安装(基于CentOS)》 http://www.linuxidc.com/Linux/2014-09/106372.htm

Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。

注:本例使用root用户搭建

对于Hadoop的集群来讲,可以分成两大类角色:Master和Salve。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的DataNode管理存储的数据。MapReduce框架是由一个单独运行在主节点上的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个Job被提交时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。

一、环境

从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务。

操作系统:CentOS 6.5 64位操作系统

1.2环境说明

注:Hadoop2.0以上采用的是jdk环境是1.7,Linux自带的jdk卸载掉,重新安装

master    192.168.0.201

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

slave    192.168.0.220

软件版本:hadoop-2.3.0-cdh5.1.0.tar.gz, zookeeper-3.4.5-cdh5.1.0.tar.gz

两个节点都是CentOS 7

下载地址:http://archive.cloudera.com/cdh5/cdh/5/

1.3环境准备

c1:192.168.58.11

永久关闭防火墙和selinux

c2:192.168.58.12

systemctl  disable firewalld
systemctl  stop    firewalld
setenforce  0

c3:192.168.58.13

1.4网络配置

二、安装JDK(略)见上面的参考文章

两台修改主机名:master/salve

三、配置环境变量 (配置jdk和hadoop的环境变量)

设置hosts,能互相解析

四、系统配置

1.5配置ssh互信

1关闭防火墙

 master
  yum  -y install  sshpass
  ssh-keygen 一路回车
  ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.220
slave
  yum  -y install  sshpass
  ssh-keygen 一路回车
  ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.201
测试ssh对方主机,不提示输入密码则OK

chkconfig iptables off(永久性关闭)

2.安装JDK

配置主机名和hosts文件

两台机器都装

2、SSH无密码验证配置

tar zxvf jdk-8u65-linux-x64.tar.gz
mv jdk1.8.0_65  /usr/jdk

因为Hadoop运行过程需要远程管理Hadoop的守护进程,NameNode节点需要通过SSH(Secure Shell)链接各个DataNode节点,停止或启动他们的进程,所以SSH必须是没有密码的,所以我们要把NameNode节点和DataNode节点配制成无秘密通信,同理DataNode也需要配置无密码链接NameNode节点。

2.1设置环境变量

在每一台机器上配置:

两台机器都设置

vi /etc/ssh/sshd_config打开

export JAVA_HOME=/usr/jdk
export JRE_HOME=/usr/jdk/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
执行 source  /etc/profile

RSAAuthentication yes # 启用 RSA 认证,PubkeyAuthentication yes # 启用公钥私钥配对认证方式

3.测试JDK

Master01:运行:ssh-keygen –t rsa –P ''  不输入密码直接enter

java -version

默认存放在 /root/.ssh目录下,

3.1安装Hadoop

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

官方网站下载CDH-2.6-hadoop:archive.cloudera.com/cdh5

[root@master01 .ssh]# ls

tar zxvf hadoop-2.6.0-cdh5.4.8.tar.gz
mv hadoop-2.6.0-cdh5.4.8  /usr/hadoop
cd  /usr/hadoop
mkdir -p dfs/name
mkdir -p dfs/data
mkdir -p tmp

authorized_keys  id_rsa  id_rsa.pub  known_hosts

3.2添加slave

远程copy:

cd /usr/hadoop/etc/hadoop
 vim slaves
  192.168.0.220  #添加slaveIP

scp authorized_keys c2:~/.ssh/

3.3修改hadoop-env.sh和yarn.env.sh

scp authorized_keys c3:~/.ssh/

vim hadoop-env.sh / vim yarn-env.sh
export export JAVA_HOME=/usr/jdk  #加入java变量

五、配置几个文件(各个节点一样)

3.4修改core-site.xml

5.1.  hadoop/etc/hadoop/hadoop-env.sh 添加:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://192.168.0.201:9000</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131702</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/hadoop/tmp</value>
        </property>
        <property>
                <name>hadoop.proxyuser.hadoop.hosts</name>
                <value>*</value>
        </property>
        <property>
                <name>hadoop.proxyuser.hadoop.groups</name>
                <value>*</value>
        </property>
</configuration>

# set to the root ofyour Java installation 
  export JAVA_HOME=/usr/java/latest 
 
  # Assuming your installation directory is/usr/local/hadoop 
  export HADOOP_PREFIX=/usr/local/hadoop 

3.5修改hdfs-site.xml

5.2. etc/hadoop/core-site.xml

<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>:/usr/hadoopdfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>:/sur/hadoop/dfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>192.168.0.201:9001</value>
        </property>
        <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
        </property>
</configuration>

<configuration> 
    <property> 
        <name>fs.defaultFS</name> 
        <value>hdfs://c1:9000</value> 
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/cdh/hadoop/data/tmp</value>
  </property> 
</configuration>

3.6修改mapred-site.xml

5.3. etc/hadoop/hdfs-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>192.168.0.201:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>192.168.0.201:19888</value>
        </property>
</configuration>

<configuration> 
 <property> 
    <!--开启web hdfs--> 
    <name>dfs.webhdfs.enabled</name> 
    <value>true</value> 
 </property> 
 <property> 
  <name>dfs.replication</name> 
  <value>2</value> 
 </property> 
 <property> 
    <name>dfs.namenode.name.dir</name> 
    <value>/usr/local/cdh/hadoop/data/dfs/name</value> 
    <description> namenode 存放name table(fsimage)本地目录(需要修改)</description> 
 </property> 
 <property> 
    <name>dfs.namenode.edits.dir</name> 
    <value>${dfs.namenode.name.dir}</value> 
    <description>namenode粗放 transactionfile(edits)本地目录(需要修改)</description> 
  </property> 
  <property> 
      <name>dfs.datanode.data.dir</name> 
      <value>/usr/local/cdh/hadoop/data/dfs/data</value> 
      <description>datanode存放block本地目录(需要修改)</description> 
  </property>
  <property>
    <name>dfs.permissions</name>
    <value>false</value>
  </property>
<property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
</property>
</configuration>

3.7修改yarn-site.xml

5.4 etc/hadoop/mapred-site.xml

 <configuration>
        <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.address</name>
                <value>192.168.0.201:8032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>192.168.0.201:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>192.168.0.201:8031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>192.168.0.201:8033</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>192.168.0.201:8088</value>
        </property>
        <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>768</value>
        </property>
</configuration>

<configuration> 
    <property> 
        <name>mapreduce.framework.name</name> 
        <value>yarn</value> 
    </property> 
</configuration>

本文由彩运网网址发布于网络安全,转载请注明出处:彩运网网址Hadoop-2.3.0-cdh5.1.0完全分布式搭建(基

相关阅读