Hadoop--环境搭建(主机模式、伪分布模式、全分布模式)

准备工作

环境配置

安装linux

  1. RedHat 7.4,官网下载
  2. 关闭防火墙
systemctl stop firewalld services   //关闭防火墙
systemctl disable firewalld services  //禁止防火墙开机启动
  1. 配置主机名(一共三台虚拟机)
vi /etc/hosts
192.168.118.111 bigdata1
192.168.118.112 bigdata2
192.168.118.112 bigdata3

安装JDK

  1. 官网下载
  2. 解压到tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/tool/jdk/
  3. 配置环境变量
  • 打开配置文件vi ~/.bash_profile
JAVA_HOME = /root/tool/jdk/jdk1.8.0_144
export JAVA_HOME

PATH = $JAVA_HOME/bin:$PATH
export PATH
  • 生效环境变量source ~/.bash_profile

安装hadoop

  1. 下载 Hadoop-2.7.3
  2. 解压tar -zxvf hadoop-2.7.3.tar.gz -C ~/tool/hadoop/
  3. 配置环境变量
  • 打开配置文件vi ~/.bash_profile
HADOOP_HOME = /tool/hadoop/hadoop-2.7.3
export HADOOP_JAVAHOME

PATH = $HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
  1. 生效环境变量source ~/.bash_profile

主机模式

  1. 特点:没有HDFS。只能测试MapReduce程序(不运行在yarn中,做一个独立的java程序来运行)
  2. 配置相关文件:
  • hadoop配置文件都在~/tool/hadoop/hadoop-2.7.3/etc/hadoop/目录下
  • 修改hadoop-env.sh里面的JAVA_HOME参数,对应的值为你配置的JAVA_HOME环境变量的值,课使用echo $JAVA_HOME来获取
  1. 配置完成
  2. 注意主机模式下的路径都是本地Linux的路径,而伪分布和全分布模式的路径为HDFS的路径

伪分布模式

  1. 特点:在单机上,模拟一个分布式的环境,具备hadoop所有的功能
  2. 修改配置文件:
<!--数据节点的冗余度-->
<configuration>
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>

<!-权限,默认为true-->
<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>
</configuration>
  • core-site.xml
<configuration>
<!--配置HDFS主节点的地址-->
<!--9000为RPC的通信端口-->
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://bigdata1:9000</value>
</property>
<!-- HDFS数据块和元信息保存在操作系统的目录-->
<!--默认是linux的tmp目录,务必修改,因为tmp是临时存放,一旦关机,文件就会丢失-->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/root/tool/hadoop/hadoop-2.7.3/tmp</value>
</property>
</configuration>
  • mapred-site.xml
    默认没有这个文件,需要自己创建,复制一份mapred-site.xml.template并修改名字为mapred-site.xml
<configuration>
<!--MR程序运行的容器-->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
</configuration>
  • yarn-site.xml
<configuration>
<!--配置yarn主节点的地址-->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>bigdata1</value>
</property>
<!--nodemaneger执行MR程序的方式-->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce.shuffle</value>
</property>
</configuration>
  1. 格式化HDFS的namenode
    目录:/root/tool/hadoop/hadoop-2.7.3/tmp
    命令:hdfs namenode -format
    成功标志:出现如下日志
    Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
  2. 配置完成
  3. 启动/停止
    HDFS ----- start-dfs.sh / stop-dfs.sh
    Yarn ----- start-yarn.sh / stop-yarn.sh
    合并 ----- start-all.sh / stop-all.sh
    web console访问:
    hdfs ---- ip:50070
    yarn ---- ip:8088

全分布模式

  1. 三台linux
  2. 配置 JDK、hadoop、关闭防火墙、设置免密登录
获取密钥对:ssh-keygen -t rsa

ssh-copy-id -i .ssh-id_rsa.pub root@bigdata1
ssh-copy-id -i .ssh-id_rsa.pub root@bigdata2
ssh-copy-id -i .ssh-id_rsa.pub root@bigdata3
  1. 保证集群的时间同步
  • 时间同步服务器
  • 网络同步
  • date -s 20219-03-11
  1. 修改配置文件:
<configuration>
<!--数据块的冗余度-->
<property>
	<name>dfs.replication</name>
	<value>2</value>
</property>

<!-权限,默认为true-->
<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>
</configuration>
  • core-site.xml
<configuration>
<!--配置HDFS主节点的地址-->
<!--9000为RPC的通信端口-->
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://bigdata1:9000</value>
</property>
<!-- HDFS数据块和元信息保存在操作系统的目录-->
<!--默认是linux的tmp目录,务必修改,因为tmp是临时存放,一旦关机,文件就会丢失-->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/root/tool/hadoop/hadoop-2.7.3/tmp</value>
</property>
</configuration>
  • mapred-site.xml
    默认没有这个文件,需要自己创建,复制一份mapred-site.xml.template并修改名字为mapred-site.xml
<configuration>
<!--MR程序运行的容器-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
  • yarn-site.xml
<configuration>
<!--配置yarn主节点的地址-->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>bigdata1</value>
</property>
<!--nodemaneger执行MR程序的方式-->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce.shuffle</value>
</property>
</configuration>
  • slaves
// 将localhost删除
bigdata2
bigdata3
// 或者写ip地址
  1. 格式化HDFS的namenode
    目录:/root/tool/hadoop/hadoop-2.7.3/tmp
    命令:hdfs namenode -format
    成功标志:出现如下日志
    Storage directory /root/tool/hadoop/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
  2. 把bigdata1上安装好的目录复制到从节点上
scp -r hadoop-2.7.3/ root@bigdata2:/root/hadoop
scp -r hadoop-2.7.3/ root@bigdata3:/root/hadoop
  1. 启动/停止
    HDFS ----- start-dfs.sh / stop-dfs.sh
    Yarn ----- start-yarn.sh / stop-yarn.sh
    合并 ----- start-all.sh / stop-all.sh
    web console访问:
    hdfs ---- ip:50070
    yarn ---- ip:8088
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值