1. 获取linux环境,目前使用VMware中虚拟机CentOS64。
安装虚拟机CentOS系统的方法网上有很多,此处忽略
2. 配置主机无密码登录,
配制方法如下:
[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): & 按回车默认路径 &
Created directory '/root/.ssh'. &创建/root/.ssh目录&
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
通过以上命令将在/root/.ssh/ 目录下生成id_rsa私钥和id_rsa.pub公钥。
进入/root/.ssh目录在namenode节点下做如下配置:
[root@master .ssh]# cat id_rsa.pub > authorized_keys
将id_rsa.pub写入authorized_keys,配置完毕,
可通过ssh 本机IP 测试是否需要密码登录:ssh localhost
3. 注:CentOS下 ssh: connect to host localhost port 22: Connection refused的解决方法
《1》重新启动SSH服务,命令为:/etc/init.d/sshd restart
《2》验证SSH服务状态,命令为:/etc/init.d/sshd status
4. 在虚拟主机安装jdk,测试中使用了jdk1.8,配置环境变量
在CentOS上配置环境变量、
Vim /etc/profile
注意修改完后需要 source /etc/profile
5. 上传主机hadoop安装包,解压,测试中使用的是hadoop-1.0.4-bin.tar.gz
6. 配置hadoop
(1) hadoop-env.sh 将java_home按本机环境变量对应配置
(2) core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<!—配置hadoop工作目录-->
<name>hadoop.tmp.dir</name>
<value>/hadoop</value>
</property>
<property>
<!—hadoop所有元数据的目录-->
<name>dfs.name.dir</name>
<value>/hadoop/name</value>
</property>
<property>
<!—配置hadoop的namenode该如何访问-->
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(3) hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<!—配置hdfs数据的存放目录 -- >
<name>dfs.data.dir</name>
<value>/hadoop/data</value>
</property>
<!-- <property>
<name>dfs.replication</name>
<value>1</value>
</property>
-->
</configuration>
(4) mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<!—配置任务调度器的访问地址-->
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
7. 设置hadoop_home环境变量
8. 打开hadoop/bin目录下格式化namenode
Hadoop namenode -format
9. 没问题后执行start-all.sh
10. 成功后输入jps查看当前java进程,如果存在JobTracker/Jps/DataNode/TaskTracker/NameNode/SecondaryNameNode这些进程的话,那就说明正常启动
11. 此时可以使用命令hadoop fs –ls / 查看hadoop目录下有哪些文件
12. 测试wordcount单词计数程序
由于hadoop-1.0.4自带了一个单词计数的测试程序,即对某个目录下所有文件中单词计数,原理:先打开所有文本,对文本中所有单词进行map任务切词,然后再对所有单词进行reduce任务互换统计,最后将写过写入hdfs的指定目录下。
测试命令: hadoop jar hadoop-examples-1.0.4.jar wordcount input/ output/
前提需要在hdfs目录input下新建一些文本文件,输入测试单词
执行后查看output目录,结果已经写入
截图:
结果:
安装成功后可以使用hadoop自带的web管理工具查看hdfs文件系统
启动方式:http:<IP地址>:50070/
截图如下:
点Browse the filesystem,就是查看hdfs文件系统
备注:
测试时的环境变量配置如下截图: