Hadoop-2.3.0-cdh5.1.0完全分布式搭建(基于CentOS)

注:本例使用root用户搭建

一、环境

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

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

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

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

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

c1:192.168.58.11

c2:192.168.58.12

c3:192.168.58.13

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

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

四、系统配置

1关闭防火墙

chkconfig iptables off(永久性关闭)

配置主机名和hosts文件

2、SSH无密码验证配置

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

在每一台机器上配置:

vi /etc/ssh/sshd_config打开

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

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

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

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

[root@master01 .ssh]# ls

authorized_keys  id_rsa  id_rsa.pub  known_hosts

远程copy:

scp authorized_keys c2:~/.ssh/

scp authorized_keys c3:~/.ssh/

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

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

# 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 

5.2. etc/hadoop/core-site.xml

<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>

5.3. etc/hadoop/hdfs-site.xml

<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>

5.4 etc/hadoop/mapred-site.xml

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

5.5 etc/hadoop/yarn-env.sh

# some Java parameters
export JAVA_HOME=/usr/local/java/jdk1.7.0_67

5.6 etc/hadoop/yarn-site.xml

<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>c1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>c1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>c1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>c1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>c1:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

5.7. etc/hadoop/slaves

c2
c3

六:启动及验证安装是否成功

格式化:要先格式化HDFS:

 bin/hdfs namenode -format 

启动:


  sbin/start-dfs.sh
  sbin/start-yarn.sh

 [root@c1 hadoop]# jps
 3250 Jps
 2491 ResourceManager
 2343 SecondaryNameNode
 2170 NameNode

 datanode节点:


[root@c2 ~]# jps
 4196 Jps
 2061 DataNode
 2153 NodeManager

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

1.  打开浏览器

NameNode - http://localhost:50070/

2.  创建文件夹

3.    $bin/hdfs dfs -mkdir /user

$ bin/hdfs dfs -mkdir /user/<username>

4.  Copy 文件

$ bin/hdfs dfs -put etc/hadoop input

5.  运行作业

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0-cdh5.1.0.jar grep input output 'dfs[a-z.]+'

6.  查看输出

$ bin/hdfs dfs -get output output

$ cat output/*

Hadoop-2.3.0-cdh5.1.0完全分布式搭建(基于CentOS)Hadoop-2.3.0-cdh5.1.0完全分布式搭建(基于CentOS)

相关推荐