Hadoop2.2_集群搭建

Hadoop集群搭建

目录结构

1. Centos安装之后基本配置

2. 安装和配置JDK

3. 集群网络环境介绍及快速部署

4. ssh免密码登录

5. 规划系统目录.

6. Hadoop集群配置

7. Hadoop集群启动

1. Centos安装之后基本配置

Ø 同步时间

root登陆

$ su -

$ ntpdate cn.pool.ntp.org

Ø 永久关闭防火墙(非常重要,一定要确认)

$ chkconfig iptables off (永久生效)

$ service iptables stop (临时有效)

Ø 关闭SELINUX,设置SELINUX=disabled

$vim /etc/selinux/config

Ø 检查机器名

$ hostname

Ø 修改机器名

root用户登陆,修改命令如下

$ vim /etc/sysconfig/network

Ø 修改/etc/hosts

$ vim /etc/hosts

2. 安装和配置JDK

Ø 下载解压JDK

在windows端下载jdk1.7,然后使用scp或者ftp软件传到Centos系统中/opt/下

下载到的文件是:jdk-7u65-linux-x64.tar.gz

切换到opt目录下,解压jdk-7u65-linux-x64.tar.gz

$ cd /opt/

$ tar -zxvf jdk-7u65-linux-x64.tar.gz

重命名jdk1.7.0_65为jdk1.7

$ mv jdk1.7.0_65/ jdk1.7

Ø Java环境变量配置

root用户登陆,命令行中执行命令”vim /etc/profile”,并加入以下内容,配置环境变量(注意/etc/profile这个文件很重要,后面Hadoop的配置还会用到)。


1

2

3

4

5

6

7

8

9

10


<
font
size
=
"3"
>#set java environment

export JAVA_HOME=/opt/jdk1.7

export JRE_HOME=/opt/jdk1.7/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

</
font
>

保存并退出,执行以下命令使配置生效

$ chmod +x /etc/profile

$ source /etc/profile

配置完毕,在命令行中使用命令“java -version”可以判断是否成功。在hadoop用户下测试java -version,一样成功。

3. ssh免密码登录

Ø 生成rsa密钥对

所有节点用hadoop用户登陆,并执行以下命令:

$ ssh-keygen -t rsa

这将在/home/hadoop/.ssh/目录下生成一个私钥id_rsa和一个公钥id_rsa.pub。

$ su hadoop

$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/ hadoop /.ssh/id_rsa): 默认路径

Enter passphrase (empty for no passphrase): 回车,空密码

Enter same passphrase again:

Your identification has been saved in /home/ hadoop /.ssh/id_rsa.

Your public key has been saved in /home/ hadoop /.ssh/id_rsa.pub.

这将在/home/hd_space/.ssh/目录下生成一个私钥id_rsa和一个公钥id_rsa.pub。

Ø 生成authorized_keys

$ cd /home/hadoop/.ssh/

$ cat id_rsa.pub >> authorized_keys

$ chmod 644 authorized_keys

Ø 将authorized_keys复制到datanode

使用SSH协议将namenode的公钥信息authorized_keys复制到所有DataNode的.ssh目录下。

$ scp authorized_keys data节点ip地址:/home/hd_space/.ssh

$ scp authorized_keys [email protected]:/home/hadoop/.ssh/authorized_keys

$ scp authorized_keys [email protected]:/home/hadoop/.ssh/authorized_keys

Ø 使用ssh命令测试是否成功

配置完毕,在namenode上执行“ssh NameNode,所有数据节点”命令,因为ssh执行一次之后将不会再询问。在各个DataNode上也进行“ssh NameNode,所有数据节点”命令。

4. 规划系统目录

安装目录和数据目录分开,且数据目录和hadoop的用户目录分开,如果需要重新格式化,则可以直接删除所有的数据目录,然后重建数据目录。

如果数据目录和安装目录或者用户目录放置在一起,则对数据目录操作时,存在误删除程序或者用户文件的风险。


完整路径


说明


/opt/hadoop


hadoop的程序安装主目录


/home/hadoop/hd_space/tmp


临时目录


/home/hadoop/hd_space/hdfs/name


namenode上存储hdfs名字空间元数据


/home/hadoop/hd_space/hdfs/data


datanode上数据块的物理存储位置


/home/hadoop/hd_space/mapred/local


tasktracker上执行mapreduce程序时的本地目录


/home/hadoop/hd_space/mapred/system


这个是hdfs中的目录,存储执行mr程序时的共享文件

Ø 开始建立目录

在NameNode下,root用户

$ rm -rf /home/hd_space

$ mkdir -p /home/hadoop/hd_space/tmp

$ mkdir -p /home/hadoop/hd_space/dfs/name

$ mkdir -p /home/hadoop/hd_space/dfs/data

$ mkdir -p /home/hadoop/hd_space/mapred/local

$ mkdir -p /home/hadoop/hd_space/mapred/system

$ chown -R hadoop:hadoop /home/hadoop/hd_space/

Ø 修改拥有着

修改目录/home/hadoop的拥有者(因为该目录用于安装hadoop,用户对其必须有rwx权限。)

$ chown -R hadoop:hadoop /home/hadoop

5. Hadoop集群配置

Hadoop用户登录。

下载hadoop-2.2.0(已编译好的64位的hadoop 2.2,可以加QQ群: 261039241,从群共享里下载),将其解压到/opt目录下.

Ø 配置/etc/profile


1

2

3

4

5

6

7

8

9

10


<
font
size
=
"3"
>#set hadoop

export HADOOP_HOME=/opt/hadoop-2.2.0

export HADOOP_CONF_DIR=/opt/hadoop-2.2.0/etc/hadoop

export YARN_CONF_DIR=/opt/hadoop-2.2.0/etc/hadoop

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

</
font
>

$ source /etc/profile

Ø 配置hadoop-env.sh

$ vim $HADOOP_CONF_DIR/hadoop-env.sh

加入:

export JAVA_HOME=/opt/jdk1.7

Ø yarn-env.sh

$ vim $HADOOP_CONF_DIR/yarn-env.sh

加入:

export JAVA_HOME=/opt/jdk1.7

Ø core-site.xml

$ vim $HADOOP_CONF_DIR/core-site.xml


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16


<
font
size
=
"3"
><
property
>

  
<
name
>fs.defaultFS</
name
>

  
<
value
>hdfs://namenode:9000</
value
>

</
property
>

<
property
>

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

  
<
value
>/home/hadoop/hd_space/tmp</
value
>

</
property
>

</
font
>

Ø hdfs-site.xml

$ vim $HADOOP_CONF_DIR/hdfs-site.xml


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28


<
font
size
=
"3"
><
configuration
>

  

  
<
property
>

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

    
<
value
>/home/hadoop/hd_space/hdfs/name</
value
>

  
</
property
>

  
<
property
>

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

    
<
value
>/home/hadoop/hd_space/hdfs/data</
value
>

  
</
property
>

  
<
property
>

    
<
name
>dfs.replication</
name
>

    
<
value
>3</
value
>

  
</
property
>

</
configuration
>

</
font
>

Ø mapred-site.xml

$ vim $HADOOP_CONF_DIR/mapred-site.xml


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72


<
font
size
=
"3"
><?
xml
version
=
"1.0"
?>

<?
xml-stylesheet
type
=
"text/xsl"
href
=
"configuration.xsl"
?>

<!--

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License. See accompanying LICENSE file.

-->

<!-- Put site-specific property overrides in this file. -->

<
configuration
>

  
<
property
>

    
<
name
>mapreduce.cluster.local.dir</
name
>

    
<
value
>/home/hadoop/hd_space/mapred/local</
value
>

  
</
property
>

  
<
property
>

    
<
name
>mapreduce.cluster.system.dir</
name
>

    
<
value
>/home/hadoop/hd_space/mapred/system</
value
>

  
</
property
>

  
<
property
>

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

    
<
value
>yarn</
value
>

  
</
property
>

  
<
property
>

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

    
<
value
>namenode:10020</
value
>

  
</
property
>

  
<
property
>

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

    
<
value
> namenode:19888</
value
>

  
</
property
>

</
configuration
>

</
font
>

Ø hdfs-site.xml


1

2

3

4

5

6

7

8


<
font
size
=
"3"
><
property
>

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

  
<
value
>namenode:9001</
value
>

</
property
>

</
font
>

Ø 配置slaves文件

删除localhost,加入所有datanode的主机名


datanode1

datanode2


6. 集群网络环境介绍及快速部署

集群包含三个节点:1个namenode,2个datanode,节点之间局域网连接,可以相互ping通。

所有节点均是Centos 6.5 64位系统,防火墙均禁用,sshd服务均开启并设置为开机启动。

Ø 拷贝虚拟机文件夹

关闭NameNode虚拟机,把NameNode文件夹,拷贝2份,并命名为DataNode1,,DataNode2。

Ø 设置虚拟机名称

用VMware打开每个DateNode,设置其虚拟机的名字

打开操作系统,当弹出对话框时,选择“I copy it”

Ø 修改hostname

$ vim /etc/sysconfig/network

分别修改为datanode1、datanode2

Ø Centos克隆后网卡问题

由于克隆原因,克隆出来的虚拟机默认连接eth1网卡,所以需要动手改为eth0

1)修改/etc/udev/rules.d/70-persistent-net.rules

拷贝eth1的硬件地址到eth0

删除eth1信息

2)配置/etc/sysconfig/network-scripts/ifcfg-eth0

将/etc/udev/rules.d/70-persistent-net.rules 中的ATTR地址拷贝到本文件的HWADDR中

DEVICE=”eth0″

BOOTPROTO=”static”

HWADDR=”00:0C:29:91:42:2C”

MTU=”1500″

NM_CONTROLLED=”yes”

ONBOOT=”yes”

IPADDR=192.168.152.101

NETMASK=255.255.255.0

GATEWAY=192.168.152.2

3)reboot

7. Hadoop集群启动

Ø 格式化

$ hadoop namenode -format

—–因为配置了环境变量,此处不需要输入hadoop命令的全路径/hadoop/bin/hadoop

执行后的结果中会提示“dfs/namehas been successfully formatted”。否则格式化失败。

Ø 启动hadoop

$ start-dfs.sh

$ start-yarn.sh

启动成功后,分别在namenode和datanode所在机器上使用jps 命令查看,会在namenode所在机器上看到namenode,secondaryNamenode, ResourceManager

[[email protected] hadoop]$ jps

9097 Jps

8662 SecondaryNameNode

8836 ResourceManager

8459 NameNode

会在datanode1所在机器上看到datanode,tasktracker.否则启动失败,检查配置是否有问题。

[[email protected] .ssh]# jps

4885 Jps

4623 DataNode

4736 NodeManager

datanode1所在机器上看到datanode,NodeManager.

Ø 查看集群状态

$ hdfs dfsadmin -report

停止hadoop

$ ./sbin/stop-dfs.sh

$ ./sbin/stop-yarn.sh

查看HDFS

http://192.168.1.150:50070/dfshealth.jsp

Hadoop2.2_集群搭建

时间: 2024-11-13 05:06:52

Hadoop2.2_集群搭建的相关文章

大数据学习——hadoop2.x集群搭建

1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=itcast ### 1.2修改IP 两种方式: 第一种:通过Linux图形界面进行修改(强烈推荐) 进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 ->

Ubuntu14.04下Hadoop2.2.0集群搭建

系统版本: master: Ubuntu 14.04  salve1: Ubuntu 14.04 hadoop: hadoop 2.2.0 1.系统配置以及安装SSH无密码登陆环境(master&slaves): 修改本机(master)和子节点(slaveN)机器名:打开/etc/hostname文件 sudo gedit /etc/hostname (修改后需重启才能生效) 修改host文件(映射各个节点IP): sudo gedit /etc/hosts 在后面添加内容为: 172.22.

vmware10上三台虚拟机的Hadoop2.5.1集群搭建

? 由于官方版本的Hadoop是32位,若在64位Linux上安装,则必须先重新在64位环境下编译Hadoop源代码.本环境采用编译后的hadoop2.5.1 . 安装参考博客: 1 http://www.micmiu.com/bigdata/hadoop/hadoop2x-cluster-setup/ 2 http://f.dataguru.cn/thread-18125-1-1.html 3 http://blog.sina.com.cn/s/blog_611317b40100t5od.ht

Hadoop2.0集群、Hbase集群、Zookeeper集群、Hive工具、Sqoop工具、Flume工具搭建总结

实验开发环境所用软件: [[email protected] local]# ll total 320576 -rw-r--r-- 1 root root 52550402 Mar 6 10:34 apache-flume-1.6.0-bin.tar.gz drwxr-xr-x 7 root root 4096 Jul 15 10:46 flume drwxr-xr-x. 11 root root 4096 Jul 10 21:04 hadoop -rw-r--r--. 1 root root

Hadoop2.6集群环境搭建

Hadoop2.6集群环境搭建(HDFS HA+YARN)原来4G内存也能任性一次. 准备工作: 1.笔记本4G内存 ,操作系统WIN7 (屌丝的配置) 2.工具VMware Workstation 3.虚拟机:CentOS6.4共四台 虚拟机设置: 每台机器:内存512M,硬盘40G,网络适配器:NAT模式 选择高级,新生成虚机Mac地址(克隆虚拟机,Mac地址不会改变,每次最后手动重新生成) 编辑虚拟机网络: 点击NAT设置,查看虚机网关IP,并记住它,该IP在虚机的网络设置中非常重要. N

Hadoop2.6集群环境搭建(HDFS HA+YARN)

Hadoop2.6集群环境搭建(HDFS HA+YARN)原来4G内存也能任性一次. 准备工作: 1.笔记本4G内存 ,操作系统WIN7 (屌丝的配置) 2.工具VMware Workstation 3.虚拟机:CentOS6.4共四台 虚拟机设置: 每台机器:内存512M,硬盘40G,网络适配器:NAT模式 选择高级,新生成虚机Mac地址(克隆虚拟机,Mac地址不会改变,每次最后手动重新生成) 编辑虚拟机网络: 点击NAT设置,查看虚机网关IP,并记住它,该IP在虚机的网络设置中非常重要. N

Hadoop2.7.2安装与集群搭建

1.环境准备 jdk需要1.7以上版本64位. 创建hadoop用户. 在hadoop用户目录下解压安装包hadoop-2.7.2.tar.gz 2.配置免密码登录 各节点分别执行 生成公钥和私钥:ssh-keygen -t rsa 四次enter. 将公钥添加进公钥库:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 修改authorized_keys权限:chmod 600 ~/.ssh/authorized_keys 验证:ssh local

Hadoop-2.8.5的HA集群搭建

一.Hadoop HA 机制的学习 1.1.Hadoop 2.X 的架构图 2.x版本中,HDFS架构解决了单点故障问题,即引入双NameNode架构,同时借助共享存储系统来进行元数据的同步,共享存储系统类型一般有几类,如:Shared NAS+NFS.BookKeeper.BackupNode 和 Quorum Journal Manager(QJM),上图中用的是QJM作为共享存储组件,通过搭建奇数结点的JournalNode实现主备NameNode元数据操作信息同步. 1.2.QJM原理

Hadoop2.6.5分布式集群搭建和测试

vmware虚拟机环境:                 192.168.60.128    master                 192.168.60.129    node129                 192.168.60.130    node130 1.修改每台虚拟机的/etc/sysconfig/network和/etc/hosts #修改hostname:vim /etc/sysconfig/network #修改hosts内容如下:vim /etc/hosts