hadoop伪分布式一般用于学习和测试.生产环境一般不使用.(如有错误,欢迎批评指正)
1.安装环境
在windows系统上安装linux系统,以CenOS为例.hadoop版本是hadoop1.1.2
2.配置linux虚拟机
2.1确保window的上的网卡WMnet1和Linux虚拟机的网卡在同一网段(ping一下试试,确保可以ping通即可)
2.2修改主机名
最好修改一下(统一管理,方便好记).指令:vim /etc/sysconfig/network
2.3修改ip
对linux指令不熟悉的同学最好使用图形化界面来改(建议)
指令:vim /etc/sysconfig/network-scripts/ifcfg-eth0(每个人机器不同, 虚拟机上的网卡有可能不一样,改成自己机器上网卡)
修改ipaddress,netmask,gateway.
2.4修改主机名与ip的映射关系
指令:vim /etc/hosts
2.5关闭防火墙(关闭开机启动)
指令:chkconfig iptables off
2.6重启linux
指令:reboot
3.安装jdk
3.1上传jdk
3.2添加执行权限
指令:chmod u+x jdk(自己上传的jdk)
3.3解压
解压到指定目录(请所有的文件统一管理)
指令:tar -zxvf jdk(自己上传的jdk) -C 指定目录
3.4添加环境变量
指令:vim /etc/profile
3.5刷新(使配置的环境变量生效)
指令:source /etc/profile
4.安装hadoop伪分布式
4.1上传hadoop
4.2确保有执行权限,并解压(再次强调,文件最好统一管理)
指令:tar -zxvf hadoop(上传的hadoop版本) -C 指定目录
4.3配置hadoop(修改4个配置文件),进入到hadoop-1.1.2/conf目录下
如果对指令不熟悉(请使用工具修改,例如:Notepad++等)
4.31hadoop-env.sh
在第九行,去掉注释,配置JAVA_HOME
4.32core-site.xml
<configuration>
<!-- 指定HDFS的namenode的地址 -->
<property>
<name>fs.default.name</name>
<value>hdfs://配置的主机名:9000</value>
</property>
<!-- 指定hadoop运行时产生的文件的目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/../hadoop-1.1.2/tmp</value>
</property>
4.33hdfs-site.xml
<!-- 设置hdfs副本的数量 -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<!--分布式默认是3,但是我们是为了测试学习,1就够了-->
</property>
</configuration>
4.34mapred-site.xml
<!-- 指定mapreduce的jobtracker的地址 -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>配置的主机名:9001</value>
</property>
</configuration>
4.4添加hadoop环境变量
指令:vim /etc/profile
4.5格式化hadoop的hdfs
指令:hadoop namenode -format
4.6启动hadoop
指令:start-all.sh
4.7验证hadoop是否启动成功
指令:jps
成功了会出现下面五个
NameNode
SecondaryNameNode
DataNode
JobTracker
TaskTracker
还可以通过浏览器验证
http://linux的ip:50070(hdfs管理界面)
http://linux的ip:50030(mapreduce管理界面)
但是必须先在windows系统下C:\Windows\System32\drivers\etc 添加linux主机名和ip的映射关系
5.配置ssh免登陆
ssh是secure shell
生成ssh密钥指令:ssh-keygen -t rsa连续按回车(4次)即可
在/root下有隐藏文件.ssh, 进入到/root/.ssh/下,多了2个文件(id_rsa id_rsa.pub)私钥和公钥,执行以下指令即可:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
hello hadoop,大功告成.可以开发了!