您的位置:首页 > 运维架构

Hadoop 2X伪分布式环境搭建

2017-11-08 21:31 288 查看
从0开始搭建一套伪分布式环境,然后跑一个程序验证一下环境是否搭建成功。
1.hostname
首先第一步查看自己的linux的houstname。
如果没有的请设置一下vi /etc/hosts



注意修改完host文件只后需要重启,然后也要改一下hostname 
hostname aliyeye
2.下载解压hadoop
我这里下载的是hadoop2.5最好是下载2.X左右的,然后上传到自己的linux文件夹里面
tar -zxf hadoop-2.5.0.tar.gz -C /opt/mudules/
没有下载JDK和配置环境变量的自己先去配置下
3.建议:删除rm -rf doc/   里面是英文文档,没有作用。然后ls查看一下文件目录



4.修改配置文件
这里要把配置文件一个一个的修改过来。配置文件都在etc/hadoop里面。
hadoop-env.sh、mapred、yarn指定Java的安装路径。打开文件我们发现里面有


这一行代码,这里给他指定路径,或者变量都可以。

slaves,指定从节点位置,包括datanode和nodemanager
这里直接输入自己的hostname名称就好 比如我的是aliyeye

core-site.xml,指定namenode所在机器位置及交互端口号,另外也是指定使用的是HDFS文件系统

<property>
<name>fs.defaultFS</name>
<value>hdfs://aliyeye:8020</value>
</property>注意了这里的aliyeye是我们刚才配置的hostname,后面也会用到,不是必须用hostname的,用ip也是可以的,但是最好使用hostname,因为hadoop底层代码中,有一些数据的访问获取什么的都是需要通过hostname的所以最好还是hostname。
hdfs-site.xml 指定副本数个数
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

core-site.xml,更改Hadoop默认的临时目录位置,用于存放块文件和元数据文件
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0/data/tmp</value>
</property>
mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services
</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-senior01.ibeifeng.com</value>
</property>

格式化一下
bin/hdfs namenode -format然后启动
sbin/start-all.sh
或者可以一个一个的启动
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start namenode
sbin/yarn-daemon.sh start resourcemanager
 sbin/yarn-daemon.sh start nodemanager

启动完成之后我们可以通过jps查看一下进程



然后在通过外网访问一下
输入自己的地址加上端口号:50020 可以看到下面这个界面



这个是HDFS的管理界面,再输入端口好8088可以看到yarn的管理界面。



wordcount
最后跑一个hadoop的经典入门级案例wordcount
先创建一个文件vi opt/datas/wc.input



这里我们需要统计一下每个单词出现的次数
创建完成之后我需要把这个文件上传到hdfs服务器里面让他能够进行处理,这里先打开管理界面然后找到browse



这里面都是我们hdfs的文件路径;我们可以创建一个路径表明这是我们放的原始数据
bin/hdfs dfs -mkdir -p /user/input

这个时候刷新我们的管理界面会发现创建了一个user文件夹,点进去里面还有一个input文件,接下来就把我们的文件上传到input里面。

bin/hdfs dfs -put /opt/datas/wc.input /user/input

再刷新一下我们的界面找到input.txt这个文件就正确了。



mapReduce有个特点是输出路径不能事先存在,所以我们不需要事先创建输出路径。
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar  
wordcount  
/user/input/  
/user/output

第一段表示执行mapreduce架包,第二段表示执行的是wordcount命令,第三段和第四段分别是输入和输出路径。
我们会发现他跑的比较慢在小数据处理小确实不需要用到。
这里我们进入到管理界面发现output生成了两个文件



第一个文件0KB,就表示成功而已,关键在于第二个文件,我们可以点击下载到我们windows电脑里面。
当然你可以执行linux查看命令bin/hdfs dfs -text /user/output/part-r-00000

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: