首页 > 代码库 > 原生态hadoop2.6平台搭建

原生态hadoop2.6平台搭建

 hadoop2.6平台搭建

一、条件准备

软件条件:

Ubuntu14.04 64位操作系统,jdk1.7 64位,Hadoop 2.6.0

硬件条件

1台主节点机器,配置:cpu 8个,内存32G,硬盘200G

5台从节点机器,配置均为:cpu 4个,内存16G,硬盘200G

各个节点IP如下

服务器名字

Ip地址

备注(为方便操作将hostname改为如下)

Hd-Name Node

192.168.0.10

master

Hd-Data Node 1

192.168.0.16

slave1

Hd-Data Node 2

192.168.0.12

slave2

Hd-Data Node 3

192.168.0.18

slave3

Hd-Data Node 4

192.168.0.13

slave4

Hd-Data Node 5

192.168.0.14

slave5

(1)以上机器的登录名密码均为:root  2015

  (2)由于只有一台集群外的机器绑定公网,所以通过它,才能访问这6个节点。公网ip10.120.21.116 用户名:root 密码:2015

二、搭建过程:

1》修改主机名字

通过xshell,远程登录主机10.120.21.116,输入用户名:root,密码2015.登录成功后。执行命令:ssh 192.168.0.10。进入Hd-Name Node机器。然后执行命令:

vi  /etc/hosts 进入文件编辑,加入以下内容:

192.168.0.10  master

192.168.0.16   slave1

192.168.0.12  slave2

192.168.0.18  slave3

192.168.0.13  slave4

192.168.0.14  slave5

然后保存退出。然后继续执行命令:

vi  /etc/hostname 编辑主机名字为:master

接着执行命令:hostname  master。

分别执行命令远程拷贝hosts文件到各个节点,覆盖掉本身的hosts文件。

scp  –r  /etc/hosts  root@192.168.0.16:/etc/

scp  –r  /etc/hosts  root@192.168.0.12:/etc/

scp  –r  /etc/hosts  root@192.168.0.18:/etc/

scp  –r  /etc/hosts  root@192.168.0.13:/etc/

scp  –r  /etc/hosts  root@192.168.0.14:/etc/

然后执行ssh 192.168.0.** 分别登录到各个子节点,修改他们的hostname。进入hostname文件。名字分别改成,slave1,slave2,slave3,slave4,slave5.保存退出。然后分别执行命令:hostname slave1 ,hostname slave2,…这样可以ssh master 这样登录了。

注意:1.如果ssh命令不能用,可能机器本身没有ssh,需要安装:执行命令:

apt-get install ssh。

2.确保各个节点能相互ping通,如果ping不通,查看下防火墙是否关闭。

2》设置节点间的远程无密码登录

 执行命令:ssh master 切换到主节点。执行命令:

  1. ssh-keygen –t rsa ,进入目录/root/.ssh/,发现多了三文件:authorized_keys,id_rsa,id_rsa.pub(copy rsa.pub,然后加入授权列表文件:authorized_keys,cat  rsa.pub >> auhorized.key)
  2. 执行命令cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys.
  3. 满足authorized_keys的权限要严格按照 权限 -rw-------
  4. 验证执行:ssh  localhost,查看本节点是否可以无密码登录。

将授权文件拷贝到其他节点,执行命令:

scp authorized_keys root@slave1:~/.ssh/

可选s

scp id_rsa root@slave1:~/.ssh/

scp id_rsa.pub root@slave1:~/.ssh/,同样其他节点也执行这样的操作。执行完毕后,测试一下。节点之间能否相互之间无密码登录。

 

3拷贝文件

通过WinSCP软件登录主机10.120.21.116,输入用户名:root,密码2015。实现本地机器与远程机器的文件共享。将本机下的:hadoop2.6和jdk 1.7复制到主机10.120.21.116机器的 /usr/local/目录下。

通过xshell,远程登录主机10.120.21.116,输入用户名:root,密码2015.登录成功后,执然后将10.120.21.116下/usr/local/下的文件:hadoop2.6和jdk1.7安装包复制到,master机器上:/usr/local目录下。

执行命令:scp  /usr/local/Hadoop-2.6.0-x64.tar.gz  root@192.168.0.10:/usr/local/

           scp  /usr/local/jdk-7u79-linux-x64.gz  root@192.168.0.10:/usr/local/

4》解压文件

 执行:ssh 192.168.0.10,登录到master机器。

切换到目录:cd /usr/local 。执行命令:盘

tar -xvzf hadoop-2.6.0-x64.tar.gz

tar –xvzf jdk-7u79-linux-x64.gz。将两个文件解压。执行重命名命令:

mv hadoop-2.6.0-x64 hadoop

mv jdk-7u79-linux-x64 jdk

/usr/local/hadoop下创建文件目

mkdir tmp

mkdir dfs/data

mkdir dfs/name

5》配置hadoop文件

进入目录:/usr/local/hadoop/etc/hadoop/

配置文件:hadoop-env.sh,打开它修改JAVA_HOME值为(export JAVA_HOME=/usr/local/jdk)

配置文件:yarn-env.sh,打开它修改JAVA_HOME值为(export JAVA_HOME=/usr/local/jdk)

配置文件:slaves,打开它写入内容:

slave1

slave2

slave3

slave4

slave5

配置文件:core-site.xml

<configuration>

       <property>

                <name>fs.defaultFS</name>

                <value>hdfs://master:8020</value>

       </property>

       <property>

                <name>io.file.buffer.size</name>

                <value>131072</value>

        </property>

       <property>

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

               <value>file:/usr/local/hadoop/tmp</value>

               <description>Abase for other temporary   directories.</description>

       </property>

        <property>

               <name>hadoop.proxyuser.root.hosts</name>

               <value>*</value>

       </property>

       <property>

               <name>hadoop.proxyuser.root.groups</name>

               <value>*</value>

       </property>

</configuration>

配置文件:hdfs-site.xml

<configuration>

       <property>

                <name>dfs.namenode.secondary.http-address</name>

               <value>master:9001</value>

       </property>

     <property>

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

             <value>file:/usr/local/hadoop/dfs/name</value>

       </property>

      <property>

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

              <value>file:/usr/local/hadoop/dfs/data</value>

       </property>

       <property>

               <name>dfs.replication</name>

               <value>3</value>

        </property>

        <property>

                 <name>dfs.webhdfs.enabled</name>

                  <value>true</value>

         </property>

</configuration>

配置文件:mapred-site.xml

<configuration>

          <property>                                                                 

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

                <value>yarn</value>

           </property>

          <property>

                  <name>mapreduce.jobhistory.address</name>

                  <value>master:10020</value>

          </property>

          <property>

                <name>mapreduce.jobhistory.webapp.address</name>

                <value>master:19888</value>

       </property>

</configuration>

配置文件:yarn-site.xml

<configuration>

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

        <property>

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

               <value>master:8032</value>

       </property>

       <property>

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

               <value>master:8030</value>

       </property>

       <property>

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

             <value>master:8031</value>

      </property>

      <property>

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

               <value>master:8033</value>

       </property>

       <property>

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

               <value>master:8088</value>

       </property>

</configuration>

注:红色部分需要自己根据实际情况修改

6hadoopjdk文件夹的复制

mater节点。/usr/local/hadoop和/usr/local/jdk文件目录远程复制到其他节点,执行命令:

scp –r /usr/local/hadoop  root@slave1:/usr/local/

scp –r /usr/local/jdk  root@slave1:/usr/local/

…其它节点同样复制。

7》配置环境变量

master,slave1slave2,slave3,slave4,slave5,配置环境变量。在/etc/profile目录下添加:

export PATH=$PATH:/usr/local/jdk/bin:/usr/local/jdk/jre/bin:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

保存退出,执行命令:source /etc/profile让其立即生效。

8》验证与运行ssh

执行命令:ssh master

格式化namenode节点,执行命令:hadoop namenode –format

启动hadoop,执行命令:start-all.sh

master节点和其他从节点下执行命令:jps。查看相关进程是否启动:

/usr/local/hadoop/share/hadoop/mapreduce目录下执行测试程序:

jadoop jar hadoop-mapreduce-exmaple-2.6.0.jar pi 2 19 ,观察测试结果。至此所有搭建过程完毕

 

 

 

 

 

 

 

 

 

 

 

 

原生态hadoop2.6平台搭建