最近打算学习基于地理位置的大树据推荐,首先需要熟悉hadoop这些大树据框架。
在此把学习到过程记录下来。学习一个框架到第一步就所先要搭建该框架运行到环境。这里简单介绍一下。笔主搭建的是伪分布式环境。首先解释一下什么是伪分布式模式。伪分布模式是指在单机环境下模拟Hadoop 集群,每一个hadoop daemon 都运行在独立的Java 进程里。
一、创建用户组
1.创建hadoop用户组
敲入命令:sudo addgroup hadoop
2.创建hadoop用户
敲入命令: sudo adduser -ingroup hadoop hadoop
3.给hadoop用户添加权限
敲入命令:sudo vim /etc/sudoers
按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。
在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL,
hadoop ALL=(ALL:ALL) ALL
二、安装jdk并配置相应到环境
三、安装ssh服务
1.建立ssh无密码登录本机
敲入命令:su hadoop
ssh-keygen -t rsa -P ""
2.进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的:
敲入命令:cd ~/.ssh
cat id_rsa.pub >> authorized_keys
3.登录localhost
输入命令:ssh localhost
4.退出
输入命令:exit
四、安装hadoop
1.从archive.apache.org下载stable版本到hadoop
2.解压
3.配置hadoop
第一个: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运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/itcast/hadoop-2.4.1/tmp</value>
</property>
第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个: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上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>itcast01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
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运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/itcast/hadoop-2.4.1/tmp</value>
</property>
第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个: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上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>itcast01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
5.将hadoop添加到环境变量
vim /etc/proflie
export JAVA_HOME=/usr/java/jdk1.7.0_65
export HADOOP_HOME=/hadoop/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
6格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format)7.启动hadoop
先启动HDFSsbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
8.验证是否启动成功
使用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管理界面)