基于Centos7伪分布式和完全分布式搭建

本文详细介绍了如何在Centos 7上安装Hadoop 2.8.4,包括环境配置、JDK安装、伪分布式和完全分布式的步骤。内容涵盖SSH无密码登录、集群部署规划、配置文件设置(如core-site.xml, hdfs-site.xml等)以及启动和停止Hadoop服务。通过此指南,读者可以成功搭建Hadoop环境。" 124337668,880985,IDEA配置提交代码至多个GitLab仓库,"['git', 'github', 'gitlab', '代码管理', 'intellij-idea']

Centos 7 hadoop2.8.4搭建

在多搭建了几遍之后发现还是挺简单的,如果仅仅搭建hadoop的话,虚拟机用VMware创建。本文中所有操作均使用root用户,并未创建hadoop用户

一 环境配置

1. 首先我们要将Ip设置好
```
  # 每个系统上的文件名可能不一致,不过都是ifcfg-en开头的注意一下就行
  vi /etc/sysconfig/network-scripts/ifcfg-ens33
  # DHCP 动态分配改为static 静态
  BOOTPROTO=static
  ONBOOT=yes
  # IPADDR中X是自己网络的,记得修改,可以在适配器中net8网卡中设置,第4位可以再1-244中任选,并不一定要求是51
  IPADDR=192.168.52.51
  GATEWAY=192.168.52.2
  DNS1=8.8.8.8
  DNS2=8.8.4.4
  NETMASK=255.255.255.0

  vi /etc/resolv.conf
    nameserver 8.8.8.8
    nameserver 8.8.4.4

  service network restart
```
2. 修改主机名,这里我设置的是centos
```
  # hostnamectl set-hostname centos
  hostnamectl set-hostname 主机名
```
3. 修改IP与主机名关系映射
  linux:(虚拟机)
```
  vi /etc/hosts
  192.168.52.51 centos
  192.168.52.52 centos-node1
  192.168.52.53 centos-node2
  # 后面两行是为了搭建完全分布式准备的,如果只准备搭建伪分布式可不添加
```
  windows:(宿主机)
  在C:\Windows\System32\drivers\etc路径下找到hosts并添加
  192.168.52.51 centos
  192.168.52.52 centos-node1
  192.168.52.53 centos-node2
  同样后面两行是为了搭建完全分布式准备的,如果只准备搭建伪分布式可不添加
4. 关闭防火墙(没连上的话时候多看看,很可能就是防火墙没关)
    - 关闭防火墙:systemctl stop firewalld.service
    - 禁用防火墙:systemctl disable firewalld.service
    - 查看防火墙:systemctl status firewalld.service
    -
    - 关闭Selinux:vi /etc/selinux	/config
    - 将SELINUX=enforcing改为SELINUX=disabled

二 安装JDK

1. 卸载现有jdk
    查询是否安装java软件:
    rpm -qa|grep java
2. 如果安装的版本低于1.7,卸载该jdk:
    rpm -e --nodeps 软件包名字
    例如:rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
3. 在/opt目录下创建一个子文件
    mkdir /opt/module
4. 解压jdk到/opt/module目录下
    tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
5. 配置jdk环境变量
  ```
    vi /etc/profile
    export JAVA_HOME=/opt/module/jdk1.8.0_144
    export PATH=$PATH:$JAVA_HOME/bin
    source /etc/profile
  ```
6. 测试jdk安装,出现对应的版本号就成功了
  ```
    java -version
  ```

三伪分布式部署

一 SSH无密码登录

1. 生成公钥和私钥   ssh-keygen -t rsa
2. 拷贝到免密登录的目标机器(也可以写ip地址)
    + ssh-copy-id centos
    + ssh-copy-id centos-node1
    + ssh-copy-id centos-node2
3. 完全分布式:一共执行9遍,每台主机各执行三遍
4. 伪分布式:只需要执行第一个就可以了
5. 测试登录 ssh 主机名(第一次登录的时候需要登录)

二 集群部署规划:

centoscentos-node1centos-node2
NameNode
HDFSSecondaryNameNode
DataNodeDataNodeDataNode
YARNResourceManager
NodeManagerNodeManagerNodeManager

三 配置文件

文件目录 /opt/module/hadoop-2.8.4/etc/hadoop/
配置文件中所有主机名1均为主节点主机名称(centos),若没有配置地址映射hosts可用ip代替

core-site.xml
  <!-- 指定HDFS中NameNode的地址 -->
	<property>
	  <name>fs.defaultFS</name>
      <value>hdfs://主机名1:9000</value>
	</property>

	<!-- 指定hadoop运行时产生文件的存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-2.8.4/data/tmp</value>
	</property>
hdfs-site.xml
  <!--数据冗余数,备份数-->
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
    <!--secondary的地址-->
	<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>主机名1:50090</value>
  </property>
  <!--关闭权限-->
  <property>
     <name>dfs.permissions</name>
     <value>false</value>
  </property>
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>主机名1</value>
	</property>
    	<!-- 日志聚集功能使能 -->
	<property>
	  <name>yarn.log-aggregation-enable</name>
	  <value>true</value>
	</property>
	<!-- 日志保留时间设置7天(秒) -->
	<property>
	  <name>yarn.log-aggregation.retain-seconds</name>
	  <value>604800</value>
	</property>
mapred-site.xml
  <!-- 指定mr运行在yarn上-->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
    <!--历史服务器的地址-->
	<property>
	  <name>mapreduce.jobhistory.address</name>
	  <value>主机名1:10020</value>
	</property>
    <!--历史服务器页面的地址-->
	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>主机名1:19888</value>
	</property>
JAVA_HOME配置

hadoop-env.shyarn-env.shmapred-env.sh(分别在这些的文件中添加下面的路径)

export JAVA_HOME=/opt/module/jdk1.8.0_144(注:是自己安装的路径,与/etc/profile中JAVA_HOME一致)

HADOOP_HOME配置
vi /etc/profile
export HADOOP_HOME=/opt/module/hadoop-2.8.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

四 启动hadoop

到这里伪分布式就完成了
hdfs namenode -format
启动所有start-all.sh
关闭所有stop-all.sh
以下命令都在$HADOOP_HOME/sbin下,如果直接使用,记得配置环境变量

名称命令
启动/停止历史服务器mr-jobhistory-daemon.sh start/stop historyserver
启动/停止总资源管理器yarn-daemon.sh start/stop resourcemanager
启动/停止节点管理器yarn-daemon.sh start/stop nodemanager
启动/停止NN 和 DNstart/stop-dfs.sh
启动/停止 RN 和 NMstart/stop-yarn.sh
启动/停止 NN、DN、RN、NMstart/stop-all.sh
启动/停止 NNhadoop-daemon.sh start/stop namenode
启动/停止 DNhadoop-daemon.sh start/stop datanode

二 完全分布式

1. 通过VMware克隆两台
2. 配置各自主机IP    /etc/sysconfig/network-scripts/ifcfg-ens33
3. 修改主机名       hostnamectl set-hostname 主机名
4. SSH无密码登录    9遍ssh-copy-id 主机名
5. 配置三台主机slaves文件
	vi etc/hadoop/slaves
	将三台主机名都加进去,加入centos,centos-node1,centos-node2
6. 删除所有主机目录下data与logs文件
    cd /opt/module/hadoop-2.8.4
    rm -rf data/* logs/*
7. 在centos主节点主机上格式化
    hdfs namenode -format
8. 主节点上启动hadoop
    start-all.sh

三 安装检测

打开Google浏览器输入
http://centos:50070
或者
http://192.168.52.51:50070

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值