机器学习与深度学习数据蛙数据分析每周作业

搭建Hadoop环境

2019-07-02  本文已影响32人  yimengtianya1

搭建Hadoop环境

参考资源:https://www.bilibili.com/video/av35160553/?spm_id_from=trigger_reload

准备实验环境

1、安装Linux
2、安装JDK(详见https://www.jianshu.com/p/23ce2f86ebf5)
3、配置主机名、免密码登录(暂时还没整明白,没配置只是搭建的时候需要手动输入密码三次)

一、 Hadoop的目录结构

图片.png

二、 Hadoop的本地模式

a) 特点:不具备HDFS,只能测试MapReduce程序

b) 安装:修改hadoop-env.sh

i. 修改JAVA_HOME文件目录至如下:

JAVA_HOME=/usr/local/jdk1.8
export JAVA_HOME=${JAVA_HOME}
图片.png

c) 演示demo:
先转至目录$HADOOP_HOME//share/Hadoop/mapreduce

在命令行输入:

hadoop jar Hadoop-mapreduce-examples-2.4.1.jar

将会打印jar包中所有的例子

现执行其中一个例子:wordcount

1、 先创建输入、输出文件夹

cd ~
mkdir –p /data/input

b) 在input下输入vi data.txt 然后再文档中输入文本用于后面的wordcount

mkdir –p /data/output

2、 转换到share/Hadoop/mapreduce文件下

3、 执行命令:

hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount ~/personal_file/hadoop/data/input/data.txt ~/personal_file/hadoop/data/output/wc

三、 Hadoop的伪分布式

a) 特点:具备Hadoop的所有功能,在单机上模拟一个分布式的环境

i. HDFS:主节点:NameNode,数据节点:DataName

ii. Yarn:容器,运行MapReduce程序

  1. 主节点:ResourceManager

  2. 从节点:NodeManager

图片.png

b) 配置步骤

i. hdfs-site.xml文件配置

<!—配置HDFS的冗余度-->
<property>
 <name>dfs.replication</name>
 <value>1</value>
</property>

<!—配置是否检查权限-->
<property>
 <name>dfs.permissions</name>
 <value>false</value>
</property>

ii. core-site.xml文件配置

<!—配置HDFS的NameNode-->
<property>
 <name>fs.defaultFS</name>
 <value>hdfs:// 10.249.42.174:9000</value>
</property>

注:10.249.42.174为本虚拟机的IP地址,不是本机的IP地址!!!

<!—配置DataNode保存数据的位置-->
<property>
 <name>Hadoop.tmp.dir</name>
 <value>/usr/local/hadoop/tmp</value>
</property>

注:/usr/local/hadoop/tmp必须事先创建好

iii. mapred-site.xml的yarn配置

<!—配置MapReduce的运行框架-->
<property>
 <name>mapreduce.framework.name</name>  
 <value>yarn</value>
</property>

iv. yarn-site.xml文件配置

<!—配置ResourceManager的地址-->
<property>
 <name>yarn.resourcemanager.hostname</name>
 <value>10.249.42.174</value>
</property>

注:10.249.42.174为本虚拟机的IP地址,不是本机的IP地址!!!

<!—配置NodeManager执行任务的方式-->
<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>

配置完毕后,还不能启动,需要先进行格式化

v. 格式化NameNode(是文件系统的管理员,需要先进行格式化才能使用)

如果看到日志:

Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted.

代表格式化成功

vi. 启动hadoop:

start-all.sh
  1. HDFS:存储数据

  2. Yarn:计算

vii. 尝试查看:jps

leslie@ubuntu:/usr/local/hadoop/etc/hadoop$ jps
9072 NodeManager
6277 DataNode
9174 Jps
6070 NameNode
8710 ResourceManager
6505 SecondaryNameNode

viii. 访问

  1. 命令行
  2. Java API
  3. Web console
    a) HDFS:http://192.168.88.11:50070
    b) YARN:http://192.168.88.11:8088

到此,hadoop的环境就算搭建完毕了,但是执行hadoop/share/hadoop/mapreduce下的hadoop-mapreduce-examples-2.6.5.jar时,还有一个问题,就是输入文件必须是HDFS下的文件,而不可以是虚拟机上的本地文件。详情请参考:https://www.jianshu.com/p/0cf9e931464a

上一篇 下一篇

猜你喜欢

热点阅读