hadoop学习三-安装启动

下载hadoop解压
在这里插入图片描述

1 本地启动

运行官方案例,统计单词出现次数。输入路径:LICENSE.txt,输出路径:output/wordcount

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount LICENSE.txt output/wordcount

然后再输出目录查看结果
在这里插入图片描述

2 伪分布式启动

2.1 修改配置文件

(1)core-site.xml:

<property>
<name>fs.defaultFS</name>
<value>hdfs://server:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop-2.9.2/data/tmp</value>
</property>

(2)hdfs-site.xml

<!-- 指定 HDFS 副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

2.2 启动集群

(a)格式化 namenode(第一次启动时格式化,以后就不要总格式化)
[root@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format
(b)启动 namenode
[root@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode
(c)启动 datanode
[root@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

2.3 常用命令

  • 创建文件夹:hdfs dfs -mkdir -p /var/hadoop/input
  • 上传文件:hdfs dfs -put input/* /var/hadoop/input
  • 查看文件[目录]:hdfs dfs -cat[ls] /var/hadoop/input
  • 运行mapreduce程序:hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /var/hadoop/input/ /var/hadoop/output
  • 下载文件:hadoop fs -get /var/hadoop/output/part-r-00000 ./
  • 删除文件:hdfs dfs -rm -r /var/hadoop/output

2.4 yarn上运行mr

(1)修改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>server</value>
</property>

(2)修改mapred-env.sh
export JAVA_HOME=/opt/software/jdk1.8.0

(3)修改yarn-env.sh
export JAVA_HOME=/opt/software/jdk1.8.0

(4)修改mapred-site.xml
对 mapred-site.xml.template 重新命名为mapred-site.xml

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

(5)启动集群
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager

重启resourcemanager,nodemanager, historymanager

3 完全分布式启动

3.1 ssh免密登录配置

以node1为例
进入home目录执行:ssh-keygen -t rsa,然后三个回车即可
执行:
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
node2和node3执行同样的操作

3.2 集群部署规划

NameNodeDataNodeSecondaryNameNodeResourceManagerNodeManager
node1111
node2111
node3111

3.3 集群配置文件

node1:
修改core-site.xml

<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop-2.9.2/data/tmp</value>
</property>

修改hdfs-site.xml

<!-- 指定 HDFS 副本的数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定secondarynamenode -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node3:50090</value>
</property>

修改slaves,配置namenode
node1
node2
node3

修改yarn-env.sh
export JAVA_HOME=/opt/software/jdk1.8.0

修改mapred-env.sh
export JAVA_HOME=/opt/software/jdk1.8.0

修改hadoop-env.sh
export JAVA_HOME=/opt/software/jdk1.8.0

修改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>node2</value>
</property>

修改mapred-site.xml
对 mapred-site.xml.template 重新命名为mapred-site.xml

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

3.4 编写集群分发脚本 xsync

在/usr/local/bin 这个目录下存放的脚本,可以在系统任何地方直接执行
vim /usr/local/bin/xsync

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=2; host<4; host++)); do
#echo $pdir/$fname $user@node$host:$pdir
echo --------------- node$host ----------------
rsync -rvl $pdir/$fname $user@node$host:$pdir
done

执行xsync etc/hadoop/ 进行文件同步

3.5 启动、停止集群

(1)namenode节点格式化namenode
hdfs namenode -format
(2)启动集群
node1执行:start-dfs.sh
node2执行:start-yarn.sh
(3)停止集群
node1执行:stop-dfs.sh
node2执行:stop-yarn.sh

3.6 集群时间同步

这里让node2和node3跟node1同步
node2安装ntp服务:
yum install ntp -y
修改文件 /etc/ntp.conf,一共修改三处内容:
(1)restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap前面注释去掉
(2)将以下4个server进行#注释掉
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
(3)最后添加两句话
server 127.127.1.0 #local clock
fudge 127.127.1.0 stratum 10
编辑etc/sysconfig/ntpd文件
SYNC_HWCLOCK=yes
OPTIONS=“-u ntp:ntp -p /var/run/ntpd.pid -g”

启动ntpd服务,并且设置开机启动
systemctl start ntpd.service
systemctl enable ntpd.service

子节点安装ntp,这里一定不能启动
设置调度任务:crontab -e
*/10 * * * * /usr/sbin/ntpdate node1
每10min从服务器同步一次时间

4 管理页面

hadoop管理页面:http://192.168.220.129:50070/dfshealth.html#tab-overview 即可进入管理页面
查看上传文件:
在这里插入图片描述
yarn管理页面:http://192.168.220.129:8088

5 配置历史服务器

配置 mapred-site.xml

<property>
<name>mapreduce.jobhistory.address</name>
<value>server:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>server:19888</value>
</property>

启动历史服务器:sbin/mr-jobhistory-daemon.sh start historyserver
然后再执行一个任务,会发现yarn管理页面上有历史任务,点击history查看即可
在这里插入图片描述

6 配置日志的聚集

配置 yarn-site.xml

<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

重新执行一个任务,查看日志信息
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值