准备的资源
前提:已经安装好虚拟机和Linux系统,这里Linux系统版本用的是Centos
1.hadoop2.2.0压缩包(必须)
链接: https://pan.baidu.com/s/17IhGntG1xeK1JY7rwy8o3w 密码: gxu6
2.jdk(必须)
链接: https://pan.baidu.com/s/1MBmvAtm91CUgzmFvzAzueg 密码: f8mu
3.SecureCRT(必要)
挺好用的一个远程连接软件,也可上传宿主机文件到虚拟机的Linux系统中
链接: https://pan.baidu.com/s/1apvjWOOCv0Wk620tYgRzdw 密码: ei3t
4.WinSCP(可选)
链接: https://pan.baidu.com/s/19wvJxSPvYd6aCCbMvE-M_A 密码: i3dt
1.准备Linux环境
1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.8.0 子网掩码:255.255.255.0 -> apply -> ok
回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.8.100 子网掩码:255.255.255.0 -> 点击确定
在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok
1.1修改主机名
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=itcast01 ###
1.2修改IP
两种方式:
第一种:通过Linux图形界面进行修改(强烈推荐)
进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.8.118 子网掩码:255.255.255.0 网关:192.168.8.1 -> apply
第二种:修改配置文件方式
vim /etc/sysconfig/network-scripts/ifcfg-eth0
```
DEVICE="eth0" ###
BOOTPROTO="static" ###
HWADDR="00:0C:29:3C:BF:E7" ###
IPV6INIT="yes" ###
NM_CONTROLLED="yes" ###
ONBOOT="yes" ###
TYPE="Ethernet" ###
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c" ###
IPADDR="192.168.8.118" ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.8.1" ###
```
1.5修改主机名和IP的映射关系
vim /etc/hosts
192.168.8.118 itcast01
1.4关闭防火墙
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
1.5重启Linux
reboot
2.安装JDK
2.1上传jdk(将Windows下的jdk压缩包上传到linux系统中,可用上述的SecureCRT或者WinSCP,SecureCRT默认上传在: ~(家) 目录下)
2.2解压jdk
#创建文件夹
mkdir /usr/java
#解压
tar -zxvf jdk-7u65-linux-i586.tar.gz -C /usr/java/
2.3将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/usr/java/jdk1.7.0_60
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
3.安装hadoop2.2.0
3.1上传hadoop2.2.0压缩包(将Windows下的jdk压缩包上传到linux系统中,可用上述的SecureCRT或者WinSCP,SecureCRT默认上传在: ~(家) 目录下)
3.2解压
#创建文件夹
mkdir /usr/hadoop
#解压
tar -zxvf hadoop-2.2.0.tar.gz -C /usr/hadoop/
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改5个配置文件,配置文件位置 /usr/hadoop2.2.0/etc/hadoop路径下
3.3配置hadoop
第一个:hadoop-env.sh
vim hadoop-env.sh
#第27行
export JAVA_HOME=/usr/java/jdk1.7.0_60
第二个:core-site.xml
<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://itcast01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop-2.2.0/tmp</value>
</property>
第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)先用用括号的命令
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>itcast01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
https://blog.csdn.net/mr_leehy/article/details/77049800(四个配置文件的简单介绍)
3.4将hadoop添加到环境变量
vim /etc/proflie
export JAVA_HOME=/usr/java/jdk1.7.0_60 #jdk解压的位置
export HADOOP_HOME=/usr/hadoop-2.2.0 #hadoop解压的位置
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#刷新配置
source /etc/profile
3.5格式化namenode(是对namenode进行初始化)(hadoop namenode -format)
hdfs namenode -format
3.6启动hadoop(注意:在/usr/hadoop2.2.0/etc/hadoop路径下使用下面两个命令)
先启动HDFS
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
3.7验证是否启动成功
使用jps命令验证(出现以下项目)
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
3.8配置Windows的hosts文件
hosts文件位置:C:\Windows\System32\Drivers\etc
#在文件最后一行添加
192.168.8.118 itcast01
3.9在Windows下的浏览器输入如下地址,检查
http://192.168.8.118:50070 (HDFS管理界面)
http://192.168.8.118:8088 (MR管理界面)
4.配置ssh免登陆(可选) ##
#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
ssh-copy-id localhost