Mac-搭建Hadoop集群

You have to work very hard to believe that you are really powerless.

Mac-搭建Hadoop集群

我用到了:VMware Fusion、CentOS7、FileZilla、jdk-8u181-linux-x64.tar.gz和hadoop-2.7.6.tar.gz

1、集群部署规划

NameNode单点部署:

节点名称 NN1 NN2 DN RM NM 规划IP other
tjt01 NameNode   DataNode   NodeManager 172.16.114.130 hive/hdfs
tjt02   SecondaryNameNode DataNode ResourceManager NodeManager 172.16.114.131 hbase/kms
tjt03     DataNode   NodeManager 172.16.114.132 mysql/spark

2、三台客户机相关准备

2.1、安装VMware虚拟机

在虚拟机中安装CentOS镜像,由初始安装的CentOS7版本的镜像,完整克隆出另外两台虚拟机

2.2、修改主机名

[[email protected] tjt]# vi /etc/hostname

分别修改三台虚拟机主机名:tjt01、tjt02、tjt03

2.3、修改host文件

配置主机host:

[[email protected] tjt]# vi /etc/hosts

将配置发送到其他的主机,同时在其他主机上配置:

scp -r /etc/hosts [email protected]:/etc/
scp -r /etc/hosts [email protected]:/etc/

测试host文件修改结果:

ping tjt01
ping tjt02
pint tjt03

2.4、设置SSH免密登录

每两台主机之间设置免密码,自己的主机与自己的主机之间也要求设置免密码;

输入:ssh-keygen -t rsa

然后按下四次回车,之后在把密匙发到其他主机上,输入:ssh-copy-id tjt01 并按提示输入密码,然后是ssh-copy-id 02和ssh-copy-id 03同样的操作;

之后,在另外两台虚拟机上也执行相同的步骤:

ssh-keygen -t rsa
ssh-copy-id tjt01
ssh-copy-id tjt02
ssh-copy-id tjt03

测试SSH免密登录:

ssh tjt01、ssh tjt02、ssh tjt03

2.5、安装配置JDK

虚拟机默认安装了一个openjdk,卸载掉:

rpm -qa | grep jdk

可以查看已经安装了的openjdk

yum remove *openjdk*

干掉openjdk

yum remove copy-jdk-configs-3.3-10.el7_5.noarch

干掉jdk-configs

将JDK安装包上传到/opt下,可以通过XShell的rz上传,也可以用FileZilla:

到/opt 目录下解压:tar xzvf jdk-8u181-linux-x64.tar.gz

设置JAVA_HOME:

输入:vi /etc/profile,在profile文件中的编辑模式下加上下方export配置:

export JAVA_HOME=/opt/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin

修改好之后使文件生效:source /etc/profile

复制JDK到另外两个节点:

在这之前要先把另外两台虚拟机上的openjdk也干掉:

yum remove *openjdk*
yum remove copy-jdk-configs-3.3-10.el7_5.noarch

然后复制jdk到另外两个虚拟机上:

scp -r /opt/jdk1.8.0_181 [email protected]:/opt/
scp -r /opt/jdk1.8.0_181 [email protected]:/opt/

向其他节点复制profile文件:

scp /etc/profile [email protected]:/etc/
scp /etc/profile [email protected]:/etc/

然后每个节点分别执行 source /etc/profile ,使profile生效下,并通过java-version简单测试下,jdk复制是否成功:

tjt02:

tjt03:

3、安装Hadoop

3.1、上传并解压Hadoop

解压:tar zxvf hadoop-2.7.6.tar.gz

3.2、搭建Hadoop集群

配置文件在hadoop2.7.6/etc/hadoop/下,修改设置hadoop2.7.6目录下的可执行权限

3.2.1、修改 core-site.xml

[[email protected] hadoop]# vi core-site.xml

然后在core-site.xml文件中编辑如下:

<!-- 指定HDFS中NameNode的地址 -->
     <property>
     <name>fs.defaultFS</name>
         <value>hdfs://tjt01:9000</value>
     </property>
<!-- 指定hadoop运行时产生文件的存储目录 --> <property>
     <name>hadoop.tmp.dir</name>
     <value>/opt/hadoop-2.7.6/data/full/tmp</value>
     </property>

3.2.2、修改hadoop-env.sh

[[email protected] hadoop]# vi hadoop-env.sh 

修改JAVA_HOME:

3.2.3 修改hdfs-site.xml

[[email protected] hadoop]# vi hdfs-site.xml 

修改 hdfs-site.xml 的配置如下:

<configuration>?
<!-- 设置dfs副本数,不设置默认是3个 -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
</property>?
<!-- 设置secondname的端口 -->
<property>
  <name>dfs.namenode.secondary.http-address</name>
        <value>tjt02:50090</value>
    </property>
</configuration>

3.2.4 修改 slaves

[[email protected] hadoop]# vi slaves

增加slaves 配置如下:

tjt01
tjt02
tjt03

3.2.5 修改mapred-env.sh

[[email protected] hadoop]# vi mapred-env.sh 

修改其JAVA_HOME如下:

export JAVA_HOME=/opt/jdk1.8.0_181

3.2.6 修改mapred-site.xml

[[email protected] hadoop]# mv mapred-site.xml.template mapred-site.xml
[[email protected] hadoop]# vi mapred-site.xml 

修改其configuration如下:

<configuration>
<!-- 指定mr运行在yarn上 -->
    <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
    </property>
</configuration>

3.2.7 修改yarn-env.sh

[[email protected] hadoop]# vi yarn-env.sh 

修改其JAVA_HOME如下:

export JAVA_HOME=/opt/jdk1.8.0_181

3.2.8 修改yarn-site.xml

[[email protected] hadoop]# vi yarn-site.xml

修改配置如下:

<configuration>
<!-- reducer获取数据的方式 -->
<property>
 <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
     </property>
<!-- 指定YARN的ResourceManager的地址 --> <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>tjt02</value>
     </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
        <description>Whether virtual memory limits will be enforced for containers</description>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>4</value>
        <description>Ratio between virtual memory to physical memory when setting memory limits
for containers</description>
   </property>
</configuration>

3.3 分发hadoop到各个节点

[[email protected] hadoop]# scp -r /opt/hadoop-2.7.6/ [email protected]:/opt
[[email protected] hadoop]# scp -r /opt/hadoop-2.7.6/ [email protected]:/opt

3.4 配置环境变量

[[email protected] hadoop]# vi /etc/profile

修改配置如下:

export HADOOP_HOME=/opt/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile 使profile文件生效;

[[email protected] hadoop]# source /etc/profile

3.5 分发profile到各个节点

[[email protected] hadoop]# scp /etc/profile [email protected]:/etc/
[[email protected] hadoop]# scp /etc/profile [email protected]:/etc/

到各自的服务节点上是profile 生效:

[[email protected] ~]# source /etc/profile
[[email protected] ~]# source /etc/profile

4 启动验证集群

4.1 启动集群

4.1.1 如果集群是第一次启动,需要格式化namenode

[[email protected] hadoop]# hdfs namenode -format

当看到19/05/03 03:45:47 INFO common.Storage: Storage directory /opt/hadoop-2.7.6/data/full/tmp/dfs/name has been successfully formatted. 就格式化OK了;

到此为止,上面存在有一个错误,不能在hdfs-site.xml文件中这么写注释【#tjt】:

4.1.2 启动Hdfs

[[email protected] hadoop-2.7.6]# start-dfs.sh

4.1.3 启动Yarn

如果Namenode和ResourceManager不是同一台虚拟机的话,不能在NameNode上启动yarn,应该在ResourceManager所在的机器上启动yarn;我的yarn配置在tjt02服务器上,一次需要到tjt02机器上启动yarn

[[email protected] hadoop]# start-yarn.sh

4.1.4 jps查看进程

[[email protected] hadoop]# jps

[[email protected] hadoop]# jps

[[email protected] hadoop]# jps

4.1.5 web页面访问

在虚拟机tjt01上访问:http://172.16.114.130:50070

Datanode:

在虚拟机tjt02上访问:http://172.16.114.131:8088/cluster

 4.2、Hadoop停止启动方式

1)各个服务组件逐一启动

分别启动hdfs 组件:

hadoop-deamon.sh start | stop namenode | datnode | secondarynamenode

启动yarn:

yarn-deamon.sh start | stop resourcemanager | nodemanager

2) 各个模块分开启动(常用)

start | stop-dfs.sh
start | stop-yarn.sh

3) 全部启动

start | stop-all.sh

其他

1、关闭防火墙

 //临时关闭
systemctl stop firewalld
//禁止开机启动
systemctl disable firewalld

2、创建用户,设置文件权限

创建用户,修改密码:

[[email protected] ~]# useradd tjt
[[email protected] ~]# passwd tjt

设置tjt用户具有root权限 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

修改完毕,现在可以用tjt帐号登录,然后用命令 su - ,即可获得root权限进行操作。

其实,当Web页面访问:http://172.16.114.130:50070,可以看到hadoop页面时Hadoop集群就成功构建好了。

原文地址:https://www.cnblogs.com/taojietaoge/p/10803537.html

时间: 2024-08-30 09:07:57

Mac-搭建Hadoop集群的相关文章

搭建Hadoop集群 (三)

通过 搭建Hadoop集群 (二), 我们已经可以顺利运行自带的wordcount程序. 下面学习如何创建自己的Java应用, 放到Hadoop集群上运行, 并且可以通过debug来调试. 有多少种Debug方式 Hadoop在Eclipse上的Debug方式 一般来说, Debug最多的应用场景是调试MR中的代码逻辑, 还有部分是调试main方法中的某些代码逻辑. 无论是Standalone, Pesudo-Distributed, 还是Fully-Distributed Mode, 都可以d

Hadoop入门进阶步步高(五)-搭建Hadoop集群

五.搭建Hadoop集群 上面的步骤,确认了单机可以执行Hadoop的伪分布执行,真正的分布式执行无非也就是多几台slave机器而已,配置方面的有一点点区别,配置起来就非常简单了. 1.准备三台服务器 192.168.56.101 192.168.56.102 192.168.56.103 在每台机器的/etc/hosts中都将ip及hostname给映射上: 192.168.56.101  nginx1 192.168.56.102  nginx2 192.168.56.103  nginx3

vmware搭建hadoop集群完整过程笔记

搭建hadoop集群完整过程笔记 一.虚拟机和操作系统 环境:ubuntu14+hadoop2.6+jdk1.8 虚拟机:vmware12 二.安装步骤: 先在一台机器上配置好jdk和hadoop: 1.新建一个hadoop用户 用命令:adduser hadoop 2.为了让hadoop用户有sudo的权限: 用root用户打开sudors文件添加红色框里面的内容: 打开文件: 添加内容: 3.配置jdk,我把jdk的压缩包放在了hadoop的用户目录下,然后也解压在当前目录下 修改配置文件(

用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(下)-搭建Hadoop集群

上篇:用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker 上篇介绍了快速上手Docker部分,下面接着介绍搭建Hadoop集群部分. 六.搭建Hadoop伪分布模式 我们先用前面创建的这个容器来搭建Hadoop伪分布模式做测试,测试成功后再搭建完全分布式集群. 1.SSH这个centos容器可以看做是一个非常精简的系统,很多功能没有,需要自己安装.Hadoop需要SSH,但容器没有自带,需要我们安装.①安装SSH # yum -y ins

搭建hadoop集群的linux环境准备

1.修改主机名: 在 root 账号下用命令:vi /etc/sysconfig/network 或sudo vi /etc/sysconfig/network 2.设置系统默认启动级别 在 root 账号下输入 vi /etc/inittab  级别改成3 各启动级别代表含义如下: 0 关机 1 单用户系统,不需要登陆 2 多用户系统但不支持NFS,命令行模式登陆 3 完整多用户模式,命令行模式登陆 4 未定义 5 X11图形模式,图形模式登陆 6.重启 3.配置 hadoop 用户 sudo

搭建Hadoop集群需要注意的问题:

搭建Hadoop集群需要注意的问题: 1.检查三台主机名是否正确 2.检查三台IP是否正确 3.检查 /etc/hosts 映射是否正确 4.检查 JDK和Hadoop 是否安装成功(看环境变量配置) 键入 :sudo vi /etc/profile进到文件之后,检查环境变量配置是否正确: 5.检查 SSH免密码登录 是否设置成功: [master:主机名server1:第一台从机名server2:第二台从机名] 6.检查 Hadoop配置文件 进到hadoop目录下:[注:Nahshon 为用

使用vmware搭建hadoop集群

摘要 本文旨在使用Vmware搭建Hadoop集群,如果你使用的是多台独立的.已安装linux操作系统的计算机搭建Hadoop集群的话,请直接从安装Hadoop 开始 阅读须知 阅读此文之前你需要掌握以下知识,以免文中部分用语令你产生疑惑 熟练使用鼠标和键盘 在windows操作系统下运行.exe文件 访问网页并下载内容 在windows操作系统下能够定位到本地资源所在文件夹 了解ubuntu是linux的一种发行版,如果你不无法理解发行版的概念,可以简单理解成ubuntu是一种linux. 了

Linux 下 LXD 容器搭建 Hadoop 集群

配置要求 主机内存 4GB . 磁盘 100 GB 以上. HOST 机安装常用 Linux 发行版. Linux Container ( LXD ) 以主机 ubuntu 16.04 为例. 安装 LXD . $ sudo apt-get install lxd $ newgrp lxd $ sudo lxd init 查看可用的镜像源,如果使用默认的 image ,可以跳过下面两步,直接进入后面的 launch . $ lxc remote list 选取上一步喜欢的 image ,复制链接

docker搭建Hadoop集群

一个分布式系统基础架构,由Apache基金会所开发. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储. 首先搭建Docker环境,Docker版本大于1.3.2 安装主机监控程序和加速器(curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s 7a029f60d36056fe1b85fabca6a133887245abe6) docker pull daocloud.io/library

搭建Hadoop集群Tips(1)

1 安装版本 搭建Hadoop2.4.0版本,基于Ubuntu12.04 x86_64.jdk1.7.0_79 2 参考文献: 1)可靠安装文档http://www.aboutyun.com/thread-7684-1-1.html 2)官方安装文档http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/ClusterSetup.html#Installation 3 主要思路: 完全分布式集群搭建思路基本是各