概述
ubuntu16.04
hadoop
hadoop3.1.0
前言
本文尝试源码安装部署hadoop3.1.0
系统为ubuntu16.04
需要具有一定基础,一些基本操作只是简略带过
我主要把各个部署方案的配置文件综合了起来,把一些常用的配置以及说明都写了上来
适合快速部署hadoop的朋友
1 服务器概览
序号 | 主机名 | IP | 配置 | 功能 | 备注 |
---|---|---|---|---|---|
1 | master | 192.168.136.148 | 内存:4G CPU:2vCores | 主节点 namenode resourcemanager | |
2 | standby | 192.168.136 | 内存:4G CPU:2vCores | 备用主节点 secondaryNameNode | 默认在master上 |
3 | slave1 | 192.168.136.149 | 内存:2G CPU:1vCores | 从节点 DataNode NodeManager | |
4 | slave2 | 192.168.136.150 | 内存:2G CPU:1vCores | 从节点 DataNode NodeManager |
2 部署
2.1 配置hosts文件,设置静态IP与主机名
root@master:~# cat /etc/hosts
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.136.148 master
192.168.136.149 slave1
192.168.136.150 slave2
2.2 配置时间同步
2.3 关闭防火墙(centos关闭selinux)
2.4 配置master免密登录其它节点
2.5 JDK安装
源码安装或者apt安装
环境变量(apt安装不需要配置环境变量)
export JAVA_HOME=/opt/java/jdk1.8.0_172 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
2.6 安装hadoop
下载hadoop,将其解压至/opt/目录下
[root@node1 opt]# cd /opt/ & mkdir hadoop && cd hadoop
#解压hadoop-3.1.0.tar.gz
[root@node1 hadoop]# tar -zxvf hadoop-3.1.0.tar.gz
#修改环境变量
[root@node1 hadoop]# vim /etc/profile
# 在最后下添加
export HADOOP_HOME=/opt/hadoop/hadoop-3.1.0
export PATH=$PATH:$HADOOP_HOME/bin
source /etc/profile
2.7 编辑配置文件
修改配置文件
> 共需要配置/opt/hadoop/hadoop-3.1.0/etc/hadoop/下的六个个文件,分别是
>
> hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、workers
2.7.1 hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/opt/java/jdk1.8.0_172/
export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"
2.7.2 core-site.xml
<configuration>
<!-- 指定HDFS老大(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/data/tmp</value>
</property>
<!-- 指定hadoop流文件的缓冲区,单位为K -->
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
2.7.3 hdfs-site.xml
<configuration>
<!-- 设置namenode的http通讯地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<!-- 设置secondarynamenode的http通讯地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>standby:50090</value>
</property>
<!-- 设置dfs块大小,单位K,默认128Mb -->
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count </name>
<value>100</value>
</property>
<!-- 设置namenode存放的路径 (最好指定多个路径,包括NFS,用逗号分隔,便于容灾)-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/name</value>
</property>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 设置datanode存放的路径(可以指定多个路径,多个路径最好分别为不同的磁盘,提高效率) -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
2.7.4 mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/opt/hadoop/hadoop-3.1.0/etc/hadoop,
/opt/hadoop/hadoop-3.1.0/share/hadoop/common/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/common/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/hdfs/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/hdfs/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/yarn/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
2.7.5 yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!-- 配置外网只需要替换外网ip为真实ip,否则默认为 localhost:8088 -->
<!-- <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>外网ip:8088</value>
</property> -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8040</value>
</property>
</configuration>
2.7.6 masters
新建一个masters的文件,这里指定的是secondary namenode 的主机
[root@node1 hadoop]# touch /opt/hadoop/hadoop-3.1.0/etc/hadoop/masters
[root@node1 hadoop]# vim /opt/hadoop/hadoop-3.1.0/etc/hadoop/masters
#添加
standby
2.7.7 workers
在workers文件中添加slave节点
[root@node1 hadoop]# vim /opt/hadoop/hadoop-3.1.0/etc/hadoop/workers
#添加
slave1
slave2
2.7.8 创建文件夹
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/tmp
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/name
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/datanode
2.7.9 复制到其他主机
[root@node1 opt]# scp -r /opt/hadoop spark.node2:/opt/
[root@node1 opt]# scp -r /opt/hadoop spark.node3:/opt/
2.7.10 格式化 第一次启动得格式化
[root@node1 opt]# /opt/hadoop/hadoop-3.1.0/bin/hdfs namenode -format
2.7.11 启动
/opt/hadoop/hadoop-3.1.0/sbin/start-dfs.sh
/opt/hadoop/hadoop-3.1.0/sbin/start-yarn.sh
2.7.12 查看
jps
3 关闭 【只在master上操作】
/opt/hadoop/hadoop-3.1.0/sbin/stop-dfs.sh
/opt/hadoop/hadoop-3.1.0/sbin/stop-yarn.sh
4 删除(谨慎操作,只在master上操作)
重置hadoop环境 [移除hadoop hdfs log文件]
rm -rf /opt/hadoop/hadoop-3.1.0/logs/*
rm -rf /opt/hadoop/data
写在后面
这是本人的个人博客,欢迎关注:
CSDN:弓昭的技术博客
简书:弓昭的简书
如果有问题可以Email或留言与我交流:
gongzhao1@foxmail.com
PS: 每篇博文都有PDF版本,想要的朋友可以email我
参考链接:
最后
以上就是美好哑铃为你收集整理的Ubuntu16.04-hadoop3.1.0安装与配置的全部内容,希望文章能够帮你解决Ubuntu16.04-hadoop3.1.0安装与配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复