手记

大数据技术之Hadoop入门:伪分布式和完全分布式的搭建

继Hadoop入门第二篇之后,今天我们进行一下Hadoop运行环境的搭建

三、Hdoop运行环境搭建

1. 首先要虚拟机搭建

在创建Hadoop运行环境前我们先要有一台Linux,所以打开虚拟机创建一台Linux。

这里我选择了大小不到400M的CentOS-6.5-x86_64-minimal

如果你准备入坑大数据开发,可以关注gongzhonghaoID:IT资讯科技    会有最前沿的学习资讯


作者:小强学开发
链接:https://www.imooc.com/article/290112
来源:慕课网

2、 设置虚拟机网络模式

2.1 查看自己的网络IP子网掩码等信息

这里我们主要更改三个主要文件就好

第一个就是 /etc/hosts 配置网络映射

[root&node1 ~]# vi /etc/hosts

1

在这里面最后面追加上你的网络地址,以及主机名。192.168.***.*** node1

第二个就是 /etc/sysconfig/network 配置主机名

[root&node1 ~]# vi /etc/sysconfig/network
1

HOSTNAME=node1

第三个就是 /etc/sysconfig/network-scripts/ifcfg-eth0

[root&node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
1

首先

把里面 BOOTPROTO=dhcp

改为 BOOTPROTO=static

把里面 ONBOOT=no

改为 ONBOOT=yes

其次

追加下面的信息

IPADDR=这里写入你的IP地址

GATEWAY=这里输入你的网关IP

NETMASK=这里输入你的子网掩码

DNS1=这里输入你的网关IP

DNS2=8.8.8.8(或者114.114.114.114)

最后

将你的防火墙关闭然后为了方便起见最好永久关闭。

service iptables stop

1

chkconfig iptables off

1

然后reboot重启下和或者重启下网卡 ping一下 查看网络是否畅通。

3、伪分布式搭建

要求:一台正常的虚拟机,默认关闭防火墙,网络正常,配置计算机名称

首先要上传jdk包和hadoop的包

1)使用命令rz-----yum install lrzsz -y

[root@node01 opt]# rz 选择要上传的jdk和hadoop包

2)上传完成之后解压 tar -zxvf jdk

3)配置环境变量

[root@node01 opt]#vi /etc/profile

1

然后把里面的JAVA_HOME更改一下然后追加一个path

export JAVA_HOME=${JAVA-HOME} 改为export JAVA_HOME=jdk路径

export PATH=$PATH:$JAVA_HOME/bin

修改完成之后记得生效一下文件然后查看下是否安装成功

[root@node01 ~]# source /etc/profile

[root@node01 ~]# java -version

1

2

这样JDK就安装完成了

下面安装Hadoop包

同上,上传完成之后进行解压

tar -zxvf hadoop-2.6.5.tar.gz

1

这里需要知道下

bin—系统的操作命令(文件的增删改查)

sbin–系统的管理命令(集群的启动、关闭)

然后进入 etc/hadoop下面进行配置文件的更改

[root@node01 hadoop-2.6.5]# cd etc/hadoop/

1

**切记这里etc前面不要加 / **

下面进行配置信息的修改

1、slaves—节点(DN)

[root@node01 hadoop] vi slaves

1

里面写成你的地址后跟主机名

2、hdfs-site.xml

[root@node01 hadoop] vi hdfs-site.xml

1

<property>

<name>dfs.replication</name>    //设置备份个数

<value>1</value>

</property>

<property>   

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

//这是secondaryNamenode

<value>node01:50090</value>

</property>

1

2

3

4

5

6

7

8

9

3、core-site.xml

<property>

<name>fs.defaultFS</name>            //namenode

<value>hdfs://node01:9000</value>   

</property>

<property>

<name>hadoop.tmp.dir</name>          //namenode启动后产生的信息

<value>/var/abc/hadoop/local</value>

</property>

1

2

3

4

5

6

7

8

4、

把 *-env.sh的文件内部所有的java路径改为绝对路径

格式化

进入到 etc下的bin目录然后进行格式化,使文件生效

[root@node01 bin]# ./hdfs namenode -format-----让所有文件生效

1

免密登录

下面为了方便节点之间沟通和传输文件我们配置下免密登录

(1)配置免密登录 node01->node01

运行下面这个命令然后一路回车,这一步是为了得到节点的私钥和公钥

ssh-keygen -t rsa

然后运行下面的这条命令来登陆下到其他节点上来验证成功,由于是伪分布式所以我登录的是我的node01节点

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01

启动操作

启动操作之前要做一个格式化,格式化是为了让所有文件生效。

进入hadoop下的bin目录然后进行格式化,格式化之后进入sbin目录启动

[root@node01 ~]# cd /opt/software/hadoop-2.6.5/bin

[root@node01 bin]# ./hdfs namenode -format

[root@node01 sbin]# ./start-dfs.sh

1

2

3

最后在网页上查看

输入你的IP地址:50070

然后页面进行跳转到下面图片这样之后即为成功。

为了方便起见我们可以配置环境变量

export JAVA_HOME=/opt/software/jdk1.8.0_121 export

PATH=$PATH:$JAVA_HOME/bin

配置完信息后记得source下 /etc/profile,是我们的profile文件生效

这样我们就可以在任何位置启动我们的伪分布式了

[root@node01 ~] start-dfs.sh

1

4、完全分布式搭建

完全分布式的搭建和伪分布式的搭建相似

4.1首先是虚拟机的准备

可以克隆上文中搭建好的伪分布式虚拟机。

4.2 主机名设置

打开 /etc/hosts

vim /etc/hosts

1

4.3 创建一个主节点

主节点的创建类似伪分布式的创建,所以可以仿照伪分布式来创建。

4.4修改配置文件信息

可以按照伪分布式的搭建进行搭建hadoop中 etc的配置文件

1、slaves---节点(DN)

配置多个节点的网络映射

192.168.79.***  node01

192.168.79.***  node02

192.168.79.***  node03

192.168.79.***  node04

2、hdfs-site.xml

<property>

<name>dfs.replication</name>    //设置备份个数

<value>3</value>  //注意要小于节点数

</property>

<property>   

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

//这是secondaryNamenode

<value>node02:50090</value>

//设置第二个节点为副节点SecondaryNameNode

</property>

3、core-site.xml

<property>

<name>fs.defaultFS</name>            //namenode

<value>hdfs://node01:9000</value>   

</property>

<property>

<name>hadoop.tmp.dir</name>          //namenode启动后产生的信息

<value>/var/abc/hadoop/local/cluster</value>

</property>

4、把*-env.sh的文件内部所有的java路径改为绝对路径

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

4.5 SSH无密登录

每一个节点运行下面代码,生成节点的公私钥。

ssh-keygen -t rsa

1

然后将公钥拷贝到要免密登录的目标机器上

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node04

4.6 scp

1)scp可以实现服务器与服务器之间的数据拷贝。

2)将node01服务器上的/etc/profile文件拷贝到node02、node03和node04上。

3)将node01中/opt/software/目录拷贝到node02的/opt目录上。

这样的话就将主节点上的配置信息一并发送给了其他节点,这样其他节点就不用在配置配置信息了。

scp -r hadoop-cluster root@node02:/opt/software

1

最后环节

1)格式化,让配置文件生效

可以参考伪分布式的格式化

2)为了方便起见我们可以配置环境变量

export JAVA_HOME=/opt/software/jdk1.8.0_121 export

PATH=$PATH:$JAVA_HOME/bin

3)启动集群

配置完信息后记得source下 /etc/profile,是我们的profile文件生效

这样我们就可以在任何位置启动我们的完全分布式了

4)检测是否成功

使用我们的主节点ip:50070

页面进行跳转到下面图片这样之后即为成功。

以上就是伪分布式和完全分布式的搭建

Hadoop伪分布式、完全分布式搭建和测试(详细版)

推荐阅读:大数据学习线路:https://www.imooc.com/article/259721


0人推荐
随时随地看视频
慕课网APP