按照官网的说明进行部署
官网说明:http://hadoop.apache.org/docs/r3.0.3/hadoop-project-dist/hadoop-common/SingleCluster.html
实验环境
主机(IP) | 功能 |
---|---|
server1(172.25.11.1) | name node ,nfs |
server2(172.25.11.2) | data node ,nfs |
server3(172.25.11.3) | data nod,nfs |
真机(172.25.11.250) | 浏览器测试 |
部署过程如下:
server1(nn)
- 官网获取jdk和hadoop的安装包,出于安全考虑,一般用特定用户来运行hadoop的守护进程,所以我们新建hadoop用户并将安装包移至hadoop用户的家目录下。
- 解压两个安装包,并做软连接方便我们查看。
- 将java的二进制可执行命令添加到环境变量中,方便我们后续调用。
- 修改hadoop-env.sh文件,添加java环境变量。
- 新建input目录,将所有以.xml结尾的文件拷到input目录下方便后续测试,执行命令:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar grep input output 'dfs[a-z.]+'
,执行成功后进入output目录下查看结果。
伪分布式的实现
- 对server1本机进行免密操作,首先要给hadoop用户一个密码。
- 免密登陆测试。
- 修改workers目录下为本机ip。
- 按照官网的说明修改两个配置文件,下图的1表示1份副本。
- 修改,写入本机的ip以及端口。
- 格式化namenode节点
- 格式化成功,在/tmp目录下生成了与hadoop有关的临时文件和目录。
- 查看开启的进程,有3个下图的进程才表示成功。
- 开启dfs服务,并通过命令查看此时的节点分配,可以看到此时namenode,datanode,secondarynamenode节点都在本机。
- 在浏览器中访问本机的9870端口查看详细信息。
- 日志信息
- 也可以通过执行report命令查询此时节点的详细信息:
- 新建目录并上传文件(将input目录下的所有.xml文件上传)。
- 在浏览器中查询我们上传的文件。
- 上传成功,且所有文件的副本数都为1,与我们前面在配置文件里的设置一致。
- 如果我们在浏览器中直接删除文件会报错。
- 删除input与output目录继续测试。
- cat,查看hdfs文件系统中output目录下的内容。
- get,将hdfs文件系统中output下载至本地。