hadoop学习第一天

   

hadoop学习第一天

环境搭建

基础环境版本

software edition
OS CentOS_7_64
JDK jdk1.8.0_261
HADOOP 2.7.3
IP 192.168.13.130

关闭firewalld防火墙

systemctl stop firewalld
systemctl disable firewalld

修改主机名

hostname
hostnamectl set-hostname bigdata1

建立文件存放目录

#新建压缩包存放目录
mkdir -p /data/software
#新建解压后存放目录
mkdir -p /data/module

配置JDK

tar -zxvf jdk-8u261-linux-x64.tar.gz -C /data/module
pwd
#/data/module/jdk1.8.0_261
vim /etc/profile
...
export JAVA_HOME=/data/module/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin
...
source /etc/profile
java -version
#java version "1.8.0_261"
#Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
#Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

安装Hadoop

tar -zxvf hadoop-2.7.3.tar.gz -C /data/module
vi /etc/profile
...
export HADOOP_HOME=/data/module/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
...
source /etc/profile

伪分布式搭建

root免密登录

生成密钥

cd /root/.ssh
ssh-keygen -t rsa

将公钥添加到自己的信任列表

cp id_rsa.pub authorized_keys

伪分布式配置启动

hadoop.env.sh文件配置

cd /data/module/hadoop-2.7.3/etc/hadoop/
vi hadoop-env.sh
...
export JAVA_HOME=/data/module/jdk1.8.0_261
...

core-site.xml 文件配置

vim core-site.xml
...
<!-- 指定 HDFS 中 NameNode 的地址 低版本是8020端口-->
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://bigdata1:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/data/module/hadoop-2.7.3/tmp</value>
</property>
...
hdfs-site.xml 文件配置
vim hdfs-site.xml 
...
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<!--关闭权限检查-->
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
...

mapred-site.xml文件配置

vim mapred-site.xml
...
<!-- 指定 mr 运行在 yarn 上-->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
...

yarn-site.xml 文件配置

vim yarn-site.xml
...
<!-- reducer 获取数据的方式 -->
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>bigdata1</value>
</property>
...

格式化HDFS

hdfs namenode -format

启动Hadoop

#方式一:先启动dfs,然后启动yarn
start-dfs.sh
start-yarn.sh
#方式二:一次性启动全部
start-all.sh
jps
2149 DataNode
2055 NameNode
2504 ResourceManager
2778 NodeManager
2300 SecondaryNameNode
2893 Jps

浏览器访问

默认访问端口:50070,可以看到HDFS文件存储情况及可视化操作HDFS的文件
访问MapReduce管理界面,默认端口:8088,可以知道系统在执行第一个任务时启动了多少个job,以及监听每个job的运行资源情况,还可以查看job的历史、哪些job运行成功、哪些job运行失败。

关闭Hadoop

#方式一:先关闭dfs,然后关闭yarn
stop-dfs.sh
stop-yarn.sh
#方式二:关闭所有
stop-all.sh

伪分布式测试

HDFS文件上传、下载测试

hadoop fs -put /data/software/jdk-8u261-linux-x64.tar.gz /jdk

查看HDFS的根目录

hadoop fs -ls /

通过浏览器访问HDFS的Web管理界面,ip:50070

MapReduce测试

创建文件

touch testinput.txt
vim testinput.txt
this is a test log

上传到HDFS中去

hadoop fs -mkdir /sample
hadoop fs -put /data/software/testinput.txt /sample

进入Hadoop的jar包所在目录,然后执行单词统计指令

cd /data/module/hadoop-2.7.3/share/hadoop/mapreduce

执行指令统计单词次数

hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /sample/testinput.txt /sample/output

结果,单词出现次数

a    1 
is 1 
log 1 
test 1 
this 1

发表评论