一、安装虚拟机
安装过程可以在网上查找。
二、安装Linux系统
系统可以Redhat、CentOS。这里用的是CentOS。安装过程可以网上查看。
三、伪分布式安装
3.1准备Linux环境
★辅助工具
PieTTY、WinSCP FileZilla、secureCRT
★连通Linux(客户机)和Windows(宿主机)使它们能够进行通信
在windows系统下,打开 “控制面板” --->打开“网络和共享中心”--->“更改适配器设置”--->点击“VMnet1”,右键选择“属性”--->点击“Internet协议版本4”--->点击右下角"属性"--->选择“使用下面的IP地址”,在IP地址栏里写入一个IP,比如192.168.80.1,要保证Linux的IP也处在相同的网段,子网掩码写入255.255.255.0--->选择“使用下面的DNS服务器地址”,在首选DNS服务器栏里写入192.168.80.1--->点击“确定”,退出
在Linux系统下,
☞将虚拟机的网络连接模式改为host-only模式。在虚拟软件上 --->My Computer ---> 选中虚拟机 ---> 右键 ---> settings ---> network adapter -> host only
☞修改主机名。
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop1 ###
☞修改IP。有两种方式:
(1)通过Linux图形界面进行修改(强烈推荐)
进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.80.100 子网掩码:255.255.255.0 网关:192.168.80.1 -> apply
(2)修改配置文件方式(屌丝程序猿专用)
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.80.100" ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.80.1" ###
☞修改主机名与IP的映射关系
vim /etc/hosts
192.168.80.100 hadoop1
☞关闭防火墙
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
☞重启Linux使配置生效
reboot
★安装jdk
☞使用FileZilla将下载好的jdk上传到Linux中,这里用的是32位1.7版本的
☞解压jdk
#创建文件夹
mkdir /usr/java
#解压
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/
☞将jdk添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/usr/java/jdk1.7.0_55
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
★安装hadoop2.2.0
☞使用FileZilla将下载好的hadoop2.2.0上传到Linux中
☞解压hadoop安装包
mkdir /cloud
#解压到/cloud/目录下
tar -zxvf hadoop-2.2.0.tar.gz -C /cloud/
☞修改配置文件(5个)
先进入cd /cloud/hadoop-2.2.0/etc/hadoop/
(1)
vim hadoop-env.sh
#在27行修改
export JAVA_HOME=/usr/java/jdk1.7.0_55
(2)
vim core-site.xml
<configuration>
<!-- 指定HDFS老大(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://itcast01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/cloud/hadoop-2.2.0/tmp</value>
</property>
</configuration>
(3)
vim hdfs-site.xml
<configuration>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(4)
先 重命名: mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)
vim yarn-site.xml
<configuration>
<!-- reducer取数据的方式是mapreduce_shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
☞将hadoop2.2.0添加到环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_55
export HADOOP_HOME=/cloud/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
source /etc/profile
☞格式化HDFS(namenode)第一次使用时要格式化
hadoop namenode -format
☞启动hadoop
先启动HDFS
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
☞验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
★配置ssh免密码登录
生成ssh免登陆密钥
cd ~,进入到我的home目录
cd .ssh/
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
或
ssh-copy-id -i localhost