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,slave1,slave2,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 ,观察测试结果。至此所有搭建过程完毕

最新文章

  1. mybatis调用存储过程 无参、带有输入输出参数,输出游标类型的 存储
  2. 表空间统计报告 Tablespace growth Report
  3. iOS 开发之使用safari对webview进行调试
  4. Java之数组了解
  5. [原创]C#引用C++编译的dll
  6. [Tomcat 源码分析系列] (一) : Tomcat 启动脚本-startup.bat
  7. MQTT和WebSocket
  8. easyUI datagrid editor扩展dialog
  9. -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable
  10. windows xp/7命令提示符强制结束指定进程
  11. HDU 查找最大元素 2025
  12. 删除主目录下的.ssh目录下文件对boot2docker启动影响
  13. 带计时器的做题器(gui
  14. javascript 数组的常用操作函数
  15. 在ASP.NET Core 2.0中使用MemoryCache
  16. PS如何批量生成缩略图(方法可以通用其他重复劳动)
  17. 动态规划 - 198. House Robber
  18. hdu1540 区间合并+询问某点的最大连续块
  19. container(容器),injection(注入)
  20. [ZJOI2019]语言

热门文章

  1. 面试题:测试给定的list,使用for,foreach,iterator删除元素的不同表现
  2. android获取USB设备的名称
  3. 选择性的使用 serialize() 进行序列化
  4. Node简单服务器开发
  5. 入参为json类型的接口测试示例
  6. 【spring】bean加载顺序
  7. networkX如何读取存储图的二进制.dat文件
  8. Python爬取招聘信息,并且存储到MySQL数据库中
  9. Jenkins持续集成企业实战系列之Jenkins手动构建-----04
  10. 二 ASP.NET MVC 第一个程序 hello world