hadoop

Centos搭建Hadoop2.8.5完全分布式集群部署

一、基础环境设置

1、准备4台客户机(VMware虚拟机)

结点配置

192.168.5.128 Master
192.168.5.129 Slaver-1
192.168.5.129 Slaver-2
192.168.5.129 Slaver-3

2、配置hosts文件,使4台客户机能够以主机名相互访问

vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.208.128 Master
192.168.208.129 Slaver-1
192.168.208.130 Slaver-2
192.168.208.131 Slaver-3

将hosts文件传送给其他3台客户机

scp -r /etc/hosts root@Slaver-1:/etc
scp -r /etc/hosts root@Slaver-2:/etc
scp -r /etc/hosts root@Slaver-3:/etc

3、为4台客户机配置jdk环境

这里选择版本:jdk-8u321-linux-x64.tar.gz

  • 下载jdk,上传到/root/software目录下

  • 解压

    tar -zxvf jdk-8u321-linux-x64.tar.gz
    
  • 创建jdk存放目录

    mkdir /opt/java
    
  • 重命名解压后的文件

    mv jdk1.8.0_321 jdk
    
  • 将jdk移动到存放目录

    mv jdk /opt/java/
    
  • 配置jdk环境

    vim /etc/profile
    

    在文件末尾添加如下内容

    # 注意,要与刚刚所创建的目录匹配
    export JAVA_HOME=/opt/java/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
  • 使jdk配置文件生效

    source /etc/profile
    
  • 测试jdk环境配置是否成功

    java -version
    

4、关闭防火墙,SELinux

  • iptables

    • 临时关闭

      service iptables stop
      
    • 禁止开机启动

      chkconfig iptables off
      
  • firewalld: CentOS7版本后防火墙默认使用firewalld,默认是没有iptables的

    • 临时关闭

      systemctl stop firewalld
      
    • 禁止开机启动

      systemctl disable firewalld
      
  • 关闭SELinux

    • 永久关闭

      vi /etc/selinux/config
      
      #disabled - No SELinux policy is loaded.
      SELINUX=disabled  # 此处将SELINUX=enforcing改为SELINUX=disabled
      # SELINUXTYPE= can take one of three two values:
      
    • 修改SELinux配置后,需要重启客户机才能生效

      reboot
      
    • 重启之后,查看SELinux状态

      /usr/sbin/sestatus 
      

5、设置SSH免秘钥

  • 每台客户机都执行:生成私钥

    ssh-keygen
    
  • 上传公钥到主客户机(在Master上执行)

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@Slaver-1
    

二、安装hadoop集群

1、下载hadoop-2.8.5.tar.gz

2、hadoop安装目录

为了统一管理,我们将hadoop安装到/opt/hadoop下,

  • 解压hadoop-2.8.5.tar.gz文件

    tar -zxvf hadoop-2.8.5.tar.gz
    
  • 重命名

    mv hadoop-2.8.5 hadoop
    
  • 移动到存放目录

    mv hadoop /opt/
    

3、配置core-site.xml

hadoop的配置文件,在/opt/hadoop/etc/hadoop下

 cd /opt/hadoop/etc/hadoop/
 vim core-site.xml
	<!--配置hdfs文件系统的命名空间--> 
      <property> 
        <name>fs.defaultFS</name> 
        <value>hdfs://Master:9000</value> 
      </property> 

    <!-- 配置操作hdfs的存冲大小 --> 
      <property> 
        <name>io.file.buffer.size</name> 
        <value>4096</value> 
      </property> 
    <!-- 配置临时数据存储目录 --> 
      <property> 
        <name>hadoop.tmp.dir</name> 
        <value>/opt/hadoop/tmp</value> 
      </property>

4、配置hdfs-site.xml

vim hdfs-site.xml
	<!--配置副本数--> 
	<property> 
		<name>dfs.replication</name> 
		<value>3</value> 
	</property> 
    <!--hdfs的元数据存储位置--> 
	<property> 
		<name>dfs.namenode.name.dir</name> 
        <value>/opt/hadoop/hdfs/name</value> 
    </property> 
    <!--hdfs的数据存储位置--> 
    <property> 
        <name>dfs.datanode.data.dir</name> 
        <value>/opt/hadoop/hdfs/data</value> 
    </property> 
    <!--hdfs的namenode的web ui 地址--> 
    <property> 
        <name>dfs.http.address</name> 
        <value>Master:50070</value> 
    </property> 
    <!--hdfs的snn的web ui 地址--> 
    <property> 
        <name>dfs.secondary.http.address</name> 
        <value>Master:50090</value> 
    </property> 
    <!--是否开启web操作hdfs--> 
    <property> 
        <name>dfs.webhdfs.enabled</name> 
        <value>true</value> 
    </property> 
    <!--是否启用hdfs权限(acl)--> 
    <property> 
        <name>dfs.permissions</name> 
        <value>false</value>
    </property>

5、配置mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!--指定maoreduce运行框架--> 
	<property> 
		<name>mapreduce.framework.name</name> 
		<value>yarn</value> </property> 
<!--历史服务的通信地址--> 
	<property> 
		<name>mapreduce.jobhistory.address</name> 
		<value>Master:10020</value> 
	</property> 
<!--历史服务的web ui地址--> 
	<property> 
		<name>mapreduce.jobhistory.webapp.address</name> 
		<value>Master:19888</value> 
	</property>

6、配置yarn-site.xml

vim yarn-site.xml
<!-- Site specific YARN configuration properties -->

<!--指定resourcemanager所启动的服务器主机名--> 
	<property> 
		<name>yarn.resourcemanager.hostname</name> 
		<value>Master</value> 
	</property> 
<!--指定mapreduce的shuffle--> 
	<property> 
		<name>yarn.nodemanager.aux-services</name> 
		<value>mapreduce_shuffle</value> 
	</property> 
<!--指定resourcemanager的内部通讯地址--> 
	<property> 
		<name>yarn.resourcemanager.address</name> 
		<value>Master:8032</value> 
	</property> 
<!--指定scheduler的内部通讯地址--> 
	<property> 
		<name>yarn.resourcemanager.scheduler.address</name> 
		<value>Master:8030</value> 
	</property> 
<!--指定resource-tracker的内部通讯地址--> 
	<property> 
		<name>yarn.resourcemanager.resource-tracker.address</name> 
		<value>Master:8031</value> 
	</property> 
<!--指定resourcemanager.admin的内部通讯地址--> 
	<property> 
		<name>yarn.resourcemanager.admin.address</name> 
		<value>Master:8033</value> 
	</property> 
<!--指定resourcemanager.webapp的ui监控地址--> 
	<property> 
		<name>yarn.resourcemanager.webapp.address</name> 
		<value>Master:8088</value> 
	</property>

7、配置slaves文件

vim slaves
Slaver-1
Slaver-2
Slaver-3

8、配置hadoop-env.sh,指定JAVA_HOME

vim hadoop-env.sh

#修改
export JAVA_HOME=/opt/java/jdk

9、配置yarn-env.sh,指定JAVA_HOME

vim yarn-env.sh

#修改 
export JAVA_HOME=/opt/java/jdk

10、配置mapred-env.sh,指定JAVA_HOME

vim mapred-env.sh
# 修改
export JAVA_HOME=/opt/java/jdk

11、将hadoop文件分发到其它几台客户机上

scp -r /opt/hadoop/ Slaver-1:`pwd`
scp -r /opt/hadoop/ Slaver-2:`pwd`
scp -r /opt/hadoop/ Slaver-3:`pwd`

三、启动并验证hadoop集群

1、启动集群

  • 第一次启动集群,需要格式化namenode
hdfs namenode -format

此处出现问题:

原因:没有配置hadoop环境变量

解决:

vim /etc/profile

在末尾添加:

#hadoop
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使配置文件生效

source /etc/profile

2、启动(仅需在Master上执行)

  • 切换至/opt/hadoop/sbin目录

    cd /opt/hadoop/sbin
    
  • 启动集群

    ./start-all.sh
    

3、验证hadoop集群

在主机电脑上打开浏览器,并分别浏览hadoop集群的管理页面,看hadoop集群是否成功启动

Hadoop集群的网页版管理地址

http://192.168.5.101:50070 (或http://hadoop-1:50070)

Yarn的网页版管理地址

http://192.168.5.101:8088 (或http://hadoop-1:8088)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向山海出发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值