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

三、Hdoop运行环境搭建

1. 首先要虚拟机搭建

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

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



hadoop在哪个路径下配置slaves文件_hadoop


2、 设置虚拟机网络模式

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


hadoop在哪个路径下配置slaves文件_伪分布式_02


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

第一个就是 /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
DK就安装完成了

下面安装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
dfs.replication //设置备份个数
1
dfs.namenode.secondary.http-address
//这是secondaryNamenode
node01:50090
3、core-site.xml
fs.defaultFS //namenode
hdfs://node01:9000
hadoop.tmp.dir //namenode启动后产生的信息
/var/abc/hadoop/local

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

格式化

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

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

免密登录

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

(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

最后在网页上查看

输入你的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
dfs.replication //设置备份个数
3 //注意要小于节点数
dfs.namenode.secondary.http-address
//这是secondaryNamenode
node02:50090
//设置第二个节点为副节点SecondaryNameNode
3、core-site.xml
fs.defaultFS //namenode
hdfs://node01:9000
hadoop.tmp.dir //namenode启动后产生的信息
/var/abc/hadoop/local/cluster

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


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伪分布式、完全分布式搭建和测试(详细版)