最近打算学习基于地理位置的大树据推荐,首先需要熟悉hadoop这些大树据框架。
在此把学习到过程记录下来。学习一个框架到第一步就所先要搭建该框架运行到环境。这里简单介绍一下。笔主搭建的是伪分布式环境。首先解释一下什么是伪分布式模式。伪分布模式是指在单机环境下模拟hadoop 集群,每一个hadoop daemon 都运行在独立的java 进程里。
敲入命令:sudo addgroup hadoop
敲入命令: sudo adduser -ingroup hadoop hadoop
敲入命令:sudo vim /etc/sudoers
按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。
在root all=(all:all) all下添加hadoop all=(all:all) all,
hadoop all=(all:all) all
敲入命令:su hadoop
ssh-keygen -t rsa -p ""
敲入命令:cd ~/.ssh
cat id_rsa.pub >> authorized_keys
输入命令:ssh localhost
输入命令:exit
第一个:hadoop-env.sh
vim hadoop-env.sh
#第27行
export java_home=/usr/java/jdk1.7.0_65
第二个:core-site.xml
<!-- 制定hdfs的老大(namenode)的地址 -->
<property>
<name>fs.defaultfs</name>
<value>hdfs://127.0.0.1</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<name>hadoop.tmp.dir</name>
<value>/itcast/hadoop-2.4.1/tmp</value>
</property>
第三个:hdfs-site.xml
<!-- 指定hdfs副本的数量 -->
<name>dfs.replication</name>
<value>1</value>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<name>mapreduce.framework.name</name>
<value>yarn</value>
第五个:yarn-site.xml
<!-- 指定yarn的老大(resourcemanager)的地址 -->
<name>yarn.resourcemanager.hostname</name>
<value>itcast01</value>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
vim /etc/proflie
export hadoop_home=/hadoop/hadoop-2.4.1
export path=$path:$java_home/bin:$hadoop_home/bin:$hadoop_home/sbin
source /etc/profile
hdfs namenode -format (hadoop namenode -format)
先启动hdfs
sbin/start-dfs.sh
再启动yarn
sbin/start-yarn.sh
使用jps命令验证
27408 namenode
28218 jps
27643 secondarynamenode
28066 nodemanager
27803 resourcemanager
27512 datanode
http://127.0.0.1:50070 (hdfs管理界面)
http://127.0.0.1:8088 (mr管理界面)