一、hadoop发展由来、历史、子项目
二、讲解HDFS(namenode和datanode),实现机制和优点
三、讲解MapReduce离线计算、Storm(流式计算,基于磁盘)、Spark(内存迭代计算,基于内存)
四、安装一台linux系统,版本为CentOS7
安装jdk1.8 并配置环境变量
五、宿主机和虚拟机可以相互ping通,并在虚拟机设置静态IP
六、创建用户,并赋权限
七、SSH免密登录
八、下载hadoop3.2.0
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
九、将hadoop包上传至 /home/software
10、解压至/home/app
tar -zxvf hadoop3.2.0 -C /home/app/
11、进入hadoop3.2.0/etc/hadoop
12、修改配置文件
1)core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/app/hadoop-3.2.0/tmp/</value>
</property>
</configuration>
2)hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3)mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4)yarn-site.xml:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 执行hadoop classpath命令查看hadoop路径 -->
<property>
<name>yarn.application.classpath</name>
<value>/home/app/hadoop-3.2.0/etc/hadoop:/home/app/hadoop-3.2.0/share/hadoop/common/lib/*:/home/app/hadoop-3.2.0/share/hadoop/common/*:/home/app/hadoop-3.2.0/share/hadoop/hdfs:/home/app/hadoop-3.2.0/share/hadoop/hdfs/lib/*:/home/app/hadoop-3.2.0/share/hadoop/hdfs/*:/home/app/hadoop-3.2.0/share/hadoop/mapreduce/lib/*:/home/app/hadoop-3.2.0/share/hadoop/mapreduce/*:/home/app/hadoop-3.2.0/share/hadoop/yarn:/home/app/hadoop-3.2.0/share/hadoop/yarn/lib/*:/home/app/hadoop-3.2.0/share/hadoop/yarn/*</value>
</property>
</configuration>
13、配置hadoop环境变量
export HADOOP_HOME=/home/app/hadoop-3.2.0
export JAVA_HOME=/home/app/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin:$PATH
14、格式化namenode
hadoop namenode -format
15、启动hdfs: 在hadoop/sbin目录下
start-dfs.sh
16、启动yarn:start-yarn.sh
查看进程
jps netstat -nltp
17、hdfs操作
查看目录文件:hadoop fs -ls /
存放文件:hadoop fs -put 文件 /目录
获取文件:hadoop fs -get /文件名 /目录
18、进入cd share/hadoop/mapreduce/
创建一个测试文件后缀为.data
19、在hdfs上创建文件
hadoop fs -mkdir /wc
hadoop fs -mkdir /wc/srcdata
20、将测试文件上传到srcdata目录
hadoop fs -put test.data /wc/srcdata
查看 hadoop fs -ls /wc/srcdata
21、执行MapReduce中wordcount算法:
hadoop jar hadoop-mapreduce-examples-3.2.0.jar wordcount /wc/srcdata /wc/output
22、查看结果
hadoop fs -cat /wc/output/part-r-00000
23、通过浏览器可以访问hdfs文件系统
需要先开放namenode节点9870端口号
访问网址为:http://linux系统IP地址:9870
点击Utilities ---- Browse the file system
24、开放linux防火墙端口,hadoop3.x以上namenode web 端口改为9870 原端口号为50070
firewall-cmd --zone=public --add-port=9870/tcp --permanent
改完需要reload firewall-cmd --reload
25、退出安全模式
hadoop dfsadmin -safemode leave
26、关闭防火墙
service iptables stop
chkconfig iptables off
systemctl stop firewalld