虚拟机搭建Hadoop
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机搭建Hadoop相关的知识,希望对你有一定的参考价值。
最近学习搭建hadoop,通过边查资料边搭建,花了半天也搭建好了,借此写下搭建总结,在这里感谢博友【数据放大镜】的文章,很不错,就是按照他的步骤搭建下来的,在这里,自己完善了一下,不说了,直接开搞:Ps:由于自己的本本配置略差,所以只装了3个虚拟机
1:工具列表
Linux 这里使用的是:CentOS 6.5
Hadoop 这里使用的是:hadoop-1.2.1-bin.tar.gz
JDK 这里使用的是:jdk-8u172-linux-x64.tar.gz
2:通过VMware装3个Linux系统的虚拟机,这里就不做介绍了(这里使用的是CentOS 6.5版本)
装好系统以后,下面的步骤建议在root用户下操作
3 :配置网络
将3台机器的IP配置成固定IP, 网络设置成NET方式
配置固定IP
cd /etc/sysconfig/network-scripts; vi ifcfg-eth0
DEVICE="eth7"
BOOTPROTO="static" #这里是设置固定IP模式的: static固定, DHCP自动获取#
HWADDR="00:0C:29:2A:0E:89"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="8ffaa06d-8057-43a1-bb93-1302400da0b9"
IPADDR=192.168.183.130 #这里是设置IP
GATEWAY=192.168.183.2 #网关
我这里设置的是192.168.183.130(父)
其他两个环境分别设置成: 192.168.183.128(子)
192.168.183.129(子)
设置虚拟机登录方式:(这里我个人设置的NET连接方式,其他的应该也可以,可以尝试一下)
NET联网设置
虚拟机(编辑----.>虚拟网络编辑器),选择NET模式 下面的子网IP 设置成 192.168.183.0 进入NET设置,里面将网关设置成192.168.183.2
然后进入自己本机的网络设置页面: 打开网络与共享中心----->更改适配器设置------> 进入VMware Network Adapter VMnet8的属性IPv4设置
默认网关设置成192.168.183.2
然后重启虚拟机的网络连接(虚拟机右下角的电脑图标,断开连接,再重新连接)
虚拟机的设置里面 设置--->硬件-----> 网络适配器-----> 网络连接(选择自定义,复选VMnet8(NET模式))
重启虚拟机
4:配置hostname 和 免密互相访问
配置hostname
cd /etc; vi hosts
在文件内容下面追加
192.168.183.130 blue
192.168.183.129 blue2
192.168.183.128 blue3
注: 要对3个环境分别修改操作
配置network文件
cd /etc/sysconfig ; vi network
编辑network的值,分别修改成blue blue2 blue3
重启虚拟机,执行hostname 命令,会发现hostname修改成功了
设置免密互相访问
生成秘钥key
首先建立目录: mkdir /root/.ssh
执行命令 ssh-keygen (过程中出现需要确认情况,直接回车跳过----这些确认步骤是提示设置密码的)
执行结束后会在 /root/.ssh 目录下生成2个文件 id_rsa id_rsa.pub
不通的机器生成的文件内容不同:
比如:
192.168.183.130环境生成的 id_rsa.pub:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxxuQrPBqE09NVjfHbquem5abgu7htljA7bNddQsAP/7wuko7dy6JC5lc1+oant4TrDSu+QTEEMt4anIyp3dk2FAP1FrSlyZvioC0oPhcAfXlVUe/WOLaoVsXvXc7BaRx/DVeWBoadYoVN/zb/jrgBiVSN0mklawrZou+GkNs0I2EtOL8URx6ZGO5H5pyfy8tZeebCoE2BgMw7nZBHccnL1InCc38Hpn90cyu5vA9xNT0Akp1npCGKmLYMkoWnCdSqPwwM69ZkRHAo4gL/0ZeyAkPzSa6cyFAQa40wTxq5ye8M2eCGBmjhKhauRgyo8SdN7A9sJ63FXMGCJkzI48aIw== [email protected]
192.168.183.128环境生成的 id_rsa.pub:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAucpajUU3o6XCk6V6JxPT7fgUDJ7Cw/tItDEFB9EMDSoCfua+tARPUdickq6qdqcrzE0JS2sB1Clil4p8nO7DL0HPQwK4ER3CEzXUDB9uoUeuDKNDpRHJFZvvDHs1Lqo+OPMZ6hbWVGh1DE+yFLOKBQ3DtbfGYZhePXryqhh/W2FrI/3LjT1DLSTckGa7ZgqaPh5t4YmktpLGzue3KjWzRAb2BPdKqgK5f67w5RSv4s3ttZbAMOGebg/PNdl9M77oSX7HsMIDkvbkogIZDHV+2LWIyHpaCAvBNDzHQd/67+XlRH1GJummFQjFrl3wJ1epJFl2rPhZjmT+37CCnMUbAQ== [email protected]
192.168.183.129环境生成的 id_rsa.pub:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzkKeSoDQx9AnAKkBoygiWLH25Pp6GlwjaqqG9LnbCwif5LcUX4N2mfWyXrgpJ3C5PB0r4xq7T776U1Q+VUj43/JEBmlFzpzIiQt0k0yB10mzDVdJwHSWspjQGNkCsiCF9gnuUpcxU5QO0J9gCvJhgfoK6mbVM+xBjF3B5pBaIdnSLZJTqlAlG62SH+kOQQWjkhiFzrxJdfViAcq4Leyg5WP+rBs7tKXysmwnFtpbn6Tok4V+p3VGFqg9/p8OB2HwWokHPV/ZISGbo4G6UpEtYp2hfcLJyo8JjJ1LCDszMyyvIrAZwo/wm6HCNuQU5kG4glghpUrhIEwPqivTeKq4eQ== [email protected]
将id_rsa.pub写入authorized_keys
在父节点执行命令: cat id_rsa.pub > authorized_keys
然后将子节点的id_rsa.pub 文件追加到authorized_keys,最后追加后的内容的root 改成blue. 最终的authorized_keys文件内容为:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxxuQrPBqE09NVjfHbquem5abgu7htljA7bNddQsAP/7wuko7dy6JC5lc1+oant4TrDSu+QTEEMt4anIyp3dk2FAP1FrSlyZvioC0oPhcAfXlVUe/WOLaoVsXvXc7BaRx/DVeWBoadYoVN/zb/jrgBiVSN0mklawrZou+GkNs0I2EtOL8URx6ZGO5H5pyfy8tZeebCoE2BgMw7nZBHccnL1InCc38Hpn90cyu5vA9xNT0Akp1npCGKmLYMkoWnCdSqPwwM69ZkRHAo4gL/0ZeyAkPzSa6cyFAQa40wTxq5ye8M2eCGBmjhKhauRgyo8SdN7A9sJ63FXMGCJkzI48aIw== [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzkKeSoDQx9AnAKkBoygiWLH25Pp6GlwjaqqG9LnbCwif5LcUX4N2mfWyXrgpJ3C5PB0r4xq7T776U1Q+VUj43/JEBmlFzpzIiQt0k0yB10mzDVdJwHSWspjQGNkCsiCF9gnuUpcxU5QO0J9gCvJhgfoK6mbVM+xBjF3B5pBaIdnSLZJTqlAlG62SH+kOQQWjkhiFzrxJdfViAcq4Leyg5WP+rBs7tKXysmwnFtpbn6Tok4V+p3VGFqg9/p8OB2HwWokHPV/ZISGbo4G6UpEtYp2hfcLJyo8JjJ1LCDszMyyvIrAZwo/wm6HCNuQU5kG4glghpUrhIEwPqivTeKq4eQ== [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAucpajUU3o6XCk6V6JxPT7fgUDJ7Cw/tItDEFB9EMDSoCfua+tARPUdickq6qdqcrzE0JS2sB1Clil4p8nO7DL0HPQwK4ER3CEzXUDB9uoUeuDKNDpRHJFZvvDHs1Lqo+OPMZ6hbWVGh1DE+yFLOKBQ3DtbfGYZhePXryqhh/W2FrI/3LjT1DLSTckGa7ZgqaPh5t4YmktpLGzue3KjWzRAb2BPdKqgK5f67w5RSv4s3ttZbAMOGebg/PNdl9M77oSX7HsMIDkvbkogIZDHV+2LWIyHpaCAvBNDzHQd/67+XlRH1GJummFQjFrl3wJ1epJFl2rPhZjmT+37CCnMUbAQ== [email protected]
将authorized_keys 文件分发到2个子节点:
在父节点执行命令:
scp –r authorized_keys 192.168.183.128:~/.ssh
scp –r authorized_keys 192.168.183.129:~/.ssh
该步骤结束后,会发现三个环境可以可以免密互相访问了
5: 配置安装Hadoop (中间需要安装JDK,配置环境变量)
首先对环境进项配置:
关闭3个环境的防火墙
命令: service iptables stop
查看状态: service iptables status
出现这种提示:iptables: Firewall is not running. 表明防火墙已经关闭
或者执行 iptables -L
出现下面的这种提示,也表明防火墙已经关闭
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
安装JDK(我这里使用的是jdk-8u172-linux-x64.tar.gz):将下载好的软件包解压到指定目录: (这里的目录是 安装部署目录为 /usr/local/src)
tar -zxvf jdk-8u172-linux-x64.tar.gz
解压后当前目录下生成 jdk1.8.0_172目录
配置环境变量:
vi /root/.bashrc
在文件中追加内容:
#set java path
export JAVA_HOME=/usr/local/src/jdk1.8.0_172
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin/:$PATH
然后让环境变量生效
source .bashrc
执行命令: java 可以查看环境变量是否生效。
按照相同的方法在其他两个环境中分别安装JDK,配置环境变量。
********************************************************************************************************************************************************************************************
安装Hadoop软件(我这里使用的是hadoop-1.2.1-bin.tar.gz): 将下载好的软件包解压到指定目录:(这里的目录是 安装部署目录为 /usr/local/src)
解压包
tar -zxvf hadoop-1.2.1-bin.tar.gz
对解压后的目录 hadoop-1.2.1 进行修改 mv hadoop-1.2.1 hadoop (也可以不修改,只要保证这个目录名跟下面的配置文件的目录名保持一致就OK,只是笔者有强迫症)
修改Hadoop工具配置文件:
cd /usr/local/src/hadoop/conf;
修改的配置文件有6个
分别为
masters
slaves
core-site.xml
mapred-site.xml
hdfs-site.xml
hadoop-env.sh
开始配置:
vi masters
将内容修改成:
blue
vi slaves
将内容修改成
blue2
blue3
vi core-site.xml
补充configuration内的内容
修改后的文件内容
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.183.130:9000</value>
</property>
</configuration>
vi mapred-site.xml
补充configuration内的内容
修改后的文件内容
以上是关于虚拟机搭建Hadoop的主要内容,如果未能解决你的问题,请参考以下文章