Ubuntu环境下Hadoop集群搭建

前言

       这次把hadoop集群讲解分为三部分叙述,第一步规划集群结构,然后始搭建集群,最后运行集群。以下开始说明:

规划集群结构

这部分内容我会从操作系统选型,hadoop版本,jdk版本等说明。

操作系统选型:ubuntu16.04 Desktop版  内存:4G  Cpu:2核2线程  数量:3台

hadoop版本:hadoop 3.1.2

jdk版本:openjdk 1.8.0_242

其它:ubuntu镜像源(可选)

       这一步操作纯粹是方便ubuntu系统更易于使用。由于开发过程中我们会用到一些工具,如ssh,vim,pdsh,jdk等,这些开源工具可以通过apt工具下载,但是我们安装好ubuntu系统后它自带的源在国外,因国内防火墙原因,其下载速度极慢,所以我建议更换其镜像源为国内源,我选择的是清华源。为防止本文档内容过于膨胀,我把它整理后放到配置文件夹中,大家需要自取。

 

更新源方法:

我还是分三步说明。

第一步:替换系统自带的镜像源

              终端执行命令:sudo cp Tinghuasources.list  /etc/apt/sources.list 

            (注意Tinghuasources.list文件位置,它存在当前终端目录下)

第二步:更新镜像源

              终端执行命令:sudo apt-get update   

第三步:使用镜像源

              终端使用命令:sudo apt-get upgrade

集群搭建

老规矩,三步走。第一步搭建一台可运行的单节点;第二步搭建另外两台;第三步启动hadoop集群

第一步 搭建一台可运行的单节点

1. 配置 hosts、hostname、IP、新增用户

       从规划好的三台ubuntu 16.04 Desktop 节点中任选一台作为Master节点,其余两台为Slave节点,这一步的所有操作均针对于Master节点操作。

       (1)修改hostname

              终端执行命令:sudo echo "hadoopnode1" >/etc/hostname

       (2)修改hosts

              终端执行命令:sudo gedit /etc/hosts

              添加如下内容:

              172.16.23.161   hadoopnode1

              172.16.23.162   hadoopnode2

               172.16.23.163   hadoopnode3

(3)修改IP

       这里我们把IP设置为局域网(该环境可以提供给局域网内其他人访问)。虚拟机的的网络设置改为桥接模式。然后通过ubuntu系统设置页面根据hosts指定的IP进行手动设置。

(4)新增用户

       终端执行命令1:sudo groupadd hadoop

       终端执行命令2:sudo useradd -m -s /bin/bash -g hadoop hadoop

       终端执行命令2:sudo passwd hadoop  (根据提示输入密码)

(5)重启系统

       终端执行命令:sudo reboot

       然后以hadoop用户登录

2. 配置 SSH

       (1)安装相关软件

       终端执行命令:sudo apt-get install -y vim openssh-server pdsh

       (2)配置免密登录

       终端执行命令1:ssh-kengen -t rsa -P ' ' -f ~/.ssh/id_rsa

       终端执行命令2:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

       终端执行命令3:ssh localhost  (如果不用输入密码可配置成功)

3. 配置 jdk

       (1)安装openjdk

       终端执行命令1:sudo apt-get install openjdk-8-jdk -y

       终端执行命令2:java -version   (如果在终端能看到java版本则安装成功)

其它:JAVA_HOME =/usr/lib/jvm/java-8-openjdk-amd64

4. 关闭防火墙

       终端执行命令1:sudo systemctl disable ufw.service

       终端执行命令2:suod service ufw stop

5. 下载、解压 Hadoop

       终端执行命令1:sudo chown hadoop:hadoop /opt

       终端执行命令2:tar -zxvf hadoop-3.1.2.tar.gz /opt/

6. 修改配置文件

(1)修改配置文件core-site.xml

        终端执行命令:echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> hadoop-env.sh  (注意执行该命令的位置,在解压后的hadoop下的etc/hadoop/中)

       (2)修改配置文件core-site.xml

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://localhost:9000</value>

    </property>

</configuration>

(3)修改配置文件hdfs-site.xml

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

(4)修改配置文件mapred-site.xml

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    <property>

        <name>mapreduce.application.classpath</name>

<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>

    </property>

</configuration>

(5)修改配置文件yarn-site.xml

<configuration>

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.nodemanager.env-whitelist</name>

<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>

    </property>

</configuration>

(6)在 /etc/profile末尾添加如下内容

#hadoop home

export HADOOP_HOME=/opt/hadoop/hadoop-3.1.2

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export HADOOP_CLASSPATH=`${HADOOP_HOME}/bin/hadoop classpath`

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

然后终端执行命令:source /etc/profile

 

7. 启动单节点

启动hadoop服务

终端执行命令:hadoop namenode -format

终端执行命令:start-all.sh

验证环境是否可用:

http访问hadoopnode1:8088

http访问hadoopnode1:9870

停止hadoop服务

终端执行命令:start-all.sh

第二步 搭建另外两台节点

1. 克隆ubuntu

       由于这次环境搭建和前两次稍有区别,前两次克隆用于当前系统的VMware,这次克隆的虚拟机要用于其他VMware。不同VM版本可能出现兼容问题,但是重新装ubuntu系统并对其进行配置也比较耗时,综上考虑,采用克隆方式更节约时间。

(1)修改集群配置

       这次也要修改core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml,master,worker等文件,这部分配置文件内容比较多,不适合在word文档中展示,我已经整理到一个文件夹中,大家使用时直接拿去替换到当前配置即可,然后根据自己的集群布局进行关键变量的修改,如主从节点名,安装路径,环境变量,通信端口等。

(2)拷贝搭建好的环境到另外两台

       用其它VMware系统打开该环境

2. 设置IP

       配置节点IP,根据自己的集群布局来设置

3. 设置免密登录

       这步如果是克隆的就不需配置,如果不是克隆的可参第一步中配置ssh的方式来进行配置,关键在于将不同节点的公钥配置到各自的受信列表中。

第三步 启动hadoop集群

启动集群

终端运行命令:start-all.sh

运行集群

运行WorldCount实例

在hadoop主目录下,执行如下终端命令:

命令1:hdfs dfs -mkdir input

命令2:hdfs dfs -put etc/hadoop/*.xml inpu

命令3:hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'

命令4:hdfs dfs -cat output/*

 

 

总结

这一版的内容是基于前两版的基础之上的搭建的。该篇文档的优点是:整个文档层次结构分明,思路清晰,在实际开发中具有一定的指导意义,并且此次文档修改了字体,在使用时可以直接复制该篇文档的内容进行操作。该篇文档的缺点是:缺少实际执行的效果图做支撑,适合有一定开发经验的人员阅读。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值