Hadoop2.2.0伪分布式环境搭建教程
安装并运行Hadoop:(伪分布式安装步奏)
安装步奏:关闭防火墙、修改ip、修改hostname、设置ssh自动登录、安装jdk、安装Hadoop
Linux环境准备,建议使用VMware +CentOS:
1.1、点击VMware Workstation所在目录中,点击vmnetcf进行配置。建议选用VMnet1(仅主机模式),仅主机模式可以使在没有网络的情况下Windows和虚拟机之前进行通讯,VMnet0为桥接模式,VMnet8为NAT模式,两者模式都需要计算机连接到网络才可以。
选择VMnet1,将IP地址修改成如下图(可以根据具体情况修改IP地址):
然后点击网络连接,选择VWnet1的VMware Virtual Ethernet Adapter for VMnet1协议版本4中IP地址改成192.168.8.100
此IP地址是Windows的IP,以后Windows和VMware直接进行通讯使用的就是这个IP地址。
1.2、接下来修改Linux的IP地址:修改Linux的IP地址改成手动获取(Manual)192.168.8.88。IP地址可以自定义,但是一定要保证Linux和Windows的IP地址在同一个网段,但注意两者不能一模一样,因为两者要进行通讯,修改方式有多种,可以图形界面的形式进行修改
或者直接使用命令修改:vim /etc/sysconfig/network-scripts/ifcfg-eth0,注意将BOOTPROTO修改成static、IPADDR为192.158.1.88、NETMASK=“255.255.255.0”GATEWA为192.192.1.1
1.3、修改主机名和IP的映射关系
修改主机名:vim /etc/sysconfig/network、将localhost.localdomain修改成自己的主机名
修改主机名和IP的映射关系(相当于配置了一个本地的DNS):vim /etc/hosts 在文件最后一行换行加上192.168.88 longlong01(longlong01为上面自己去的主机名)
1.4、关闭防火墙
service iptables stop命令关闭防火墙、关闭之后可使用service iptables status当前防火墙的状态,如果成功关闭之后会提示Firewall is not running。
但需要注意的是,防火墙关闭之后,重启系统之后防火墙又会打开,需要用以下命令关闭开机自启动
chkconfig iptables off,关闭之后使用chkconfig iptables —list查看状态,显示都是off即可
1.5、重启Linux:reboot
重启之后需要检查环境是否成功,测试Windows和Linux之间是否能ping通。如果ping不通,可以查看VMware中使用的时候是仅主机模式,选择虚拟机,右键设置,选择网络适配器,再将本地连接关闭。
安装JDK:
下载Linux JDK6以上,注意:Hadoop要求jdk版本必须在1.6以上,将下载好的JDK导入到Linux系统中,有两种方式:
(1)设置Windows和Linux可以共享的文件夹(紧适用于虚拟机)
(2)通过软件FileZilla或者winscp传输
打开JDK所在的目录,解压JDK安装包,tar-xzvf jdk的名字 注意不同的后缀名要用不同的解压命令,现在Linux主流的是.tar.gz这种
为了方便管理,我们新建目录 mkdir/usr/java 然后将解压之后的文件移动到新建的文件夹中 mv指令
接下来要配置环境变量,vim /etc/profile,在文件末尾加入如下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_71
export PATH=$PATH:$JAVA_HOME/bin
最后刷新配置 source /etc/profile。此时在任意目录下输入java或者Java -version来检验安装结果。
此处要特别注意Linux和JDK的版本要一致
安装Hadoop:
3.1下载Hadoop: archive.apache.org/dist/ 挑Hadoop稳定版本下载,解压
3.2自己创建一个目录,将解压后的Hadoop移动到此目录下。
3.3配置Hadoop伪分布式(Hadoop2.0以后要修改5个文件)
(1)hadoop-evn.sh 修改Hadoop的环境变量
vim hadoop-env.sh 修改javahome的路径 export JAVA_HOME=/usr/java/jdk1.8….
(2)core-site.xml 添加以下1
2
3
4
5
6
7
8<property>
<name>fs.defaultFS</name>
<value>hdfs://longlong01:9000</value> 注:用来指定NameNode的地址
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/itcast/hadoop-2.2.0/tmp</value> 注:用来指定Hadoop运行时产生文件的存放地址
</property>
(3)hdfs-site.xml 指定hdfs保存数据副本的数量1
2
3
4 <property>
<name>dfs.replication</name>
<value>1</value>
</property>
(4)mapred-site.xm(需要文件名 mv mapred-site.xml.template mapred-site.xml)
用来告诉Hadoop以后mapreduce运行在yarn上1
2
3
4<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(5)yarn-site.xml1
2
3
4
5
6
7
8<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> 注:用来指定NodeManager获取数据的方式是shuffle
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>longlong01</value> 注:用来指定YARN的老大(resourcemanager)的地址
</property>
4、—————-到此Hadoop的安装和配置已经完成,但是Hadoop仍然不能正常运行,需要进行以下操作
4.1 将Hadoop添加到环境变量,这样可以在任何目录下都能运行Hadoop1
vim /etc/profile 添加HADOOP_HOME和PATH
export HADOOP_HOME=/itcast/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
刷新配置 source /etc/profile
4.2 初始化HDFS(格式化文件系统)
直接执行hdfs namenode -format 如果出现 /name has been successfully formatted说明格式化成功。
此时在hadoop目录下会多出一个tem文件夹
4.3启动HDFS和YARN
在sbin目录下有多个命令,执行 start-dfs.sh start-yarn.sh来启动,启动成功之后
可以通过浏览的方式进行验证:
http://192.168.8.88:50070(hdfs的管理界面)
http://192.168.8.88:8088(yarn的管理界面)
需要在Windows中添加Linux主机名和IP地址的映射关系,修改c:\Windows\System32\drivers\etc中的hosts
在最后添加 192.168.8.88 longlong01
4.4测试hdfs
上传文件到hdfs:hadoop fs -put /root/test hdfs://longlong01:9000/mytest
从hdfs下载文件:hadoop fs -gethdfs://longlong01:9000/mytest /root/test
4.5测试mapreduce
/itcast/hadoop-2.2.0/share/hadoop/mapreduce 中许多可以运行的小例子
5、—————-配置ssh免密码登陆
进入主目录 cd ~ 进入.ssh
执行ssh-keygen -t rsa 命令,一直回车生成一个公钥,一个私钥,两者采用非对称加密方式
将公钥拷贝到目录authorized_keys中:cp id_rsa.pub authorized_keys 即可,再启动HDFS和YARN时不需要输入密码