继Hadoop入门第二篇之后,今天我们进行一下Hadoop运行环境的搭建
三、Hdoop运行环境搭建
1. 首先要虚拟机搭建
在创建Hadoop运行环境前我们先要有一台Linux,所以打开虚拟机创建一台Linux。
这里我选择了大小不到400M的CentOS-6.5-x86_64-minimal
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
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伪分布式、完全分布式搭建和测试(详细版)