继Hadoop入门第二篇之后,今天我们进行一下Hadoop运行环境的搭建
1. 首先要虚拟机搭建
在创建Hadoop运行环境前我们先要有一台Linux,所以打开虚拟机创建一台Linux。
这里我选择了大小不到400M的CentOS-6.5-x86_64-minimal
2、 设置虚拟机网络模式
- 第一个就是 /etc/hosts 配置网络映射
[root&node1 ~]# vi /etc/hosts
在这里面最后面追加上你的网络地址,以及主机名。192.168.***.*** node1
- 第二个就是 /etc/sysconfig/network 配置主机名
[root&node1 ~]# vi /etc/sysconfig/network
HOSTNAME=node1
- 第三个就是 /etc/sysconfig/network-scripts/ifcfg-eth0
[root&node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
首先
把里面 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
chkconfig iptables off
然后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
然后把里面的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
这样JDK就安装完成了
下面安装Hadoop包
同上,上传完成之后进行解压
tar -zxvf hadoop-2.6.5.tar.gz
这里需要知道下
[root@node01 hadoop-2.6.5]# cd etc/hadoop/
**切记这里etc前面不要加 / **
下面进行配置信息的修改
1、slaves—节点(DN)
[root@node01 hadoop] vi slaves
里面写成你的地址后跟主机名
2、hdfs-site.xml
[root@node01 hadoop] vi hdfs-site.xml
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
4、
把 *-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
4、完全分布式搭建
完全分布式的搭建和伪分布式的搭建相似
vim /etc/hosts
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路径改为绝对路径
ssh-keygen -t rsa
然后将公钥拷贝到要免密登录的目标机器上
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
scp -r hadoop-cluster root@node02:/opt/software
最后环节
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
页面进行跳转到下面图片这样之后即为成功。
以上就是伪分布式和完全分布式的搭建