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
发表评论