精华内容
下载资源
问答
  • centos搭建hadoop

    2018-06-30 16:25:59
    如何在虚拟机上使用三台centos平台搭建hadoop服务架构
  • centos搭建Hadoop

    2013-09-04 15:15:16
    centos环境下,配置ssh,启动hadoop,hdfs的几个常用操作
  • 本篇介绍在centos7中搭建hadoop2.10高可用集群,首先准备6台机器:2台nn(namenode);4台dn(datanode);3台jns(journalnodes) IP hostname 进程 192.168.30.141 s141 nn1(namenode),zkfc...
  • centos搭建Hadoop伪分布

    2018-11-21 22:36:52
    在使用此文档之前,需要获取jdk压缩包及Hadoop压缩包,在以下百度网盘提供下载 jdk下载地址连接链接:https://pan.baidu.com/s/102vK-eAC7nCUs7pPimnqDQ 提取码:6mvo Hadoop下载地址链接:...
  • 非常详细的centos7.0下Hadoop2.7.1集群搭建教程,内附自己的解决办法和提示
  • 1.启动集群时出错: mkdir: cannot create directory ‘/home/user/bigdata/hadoop/logs’ : Permission denied 2.查看log日志文件 Cannot create directory /root/bigdata/hadoop/dfs/name/current
  • VM+CentOS+hadoop2.7搭建hadoop完全分布式集群,自己实际实用过程的总结
  • 说明:首先楼主这里是已经安装过hadoop本地模式了,安装配置hadoop本地模式可以参考楼主的另一篇博客:https://blog.csdn.net/weixin_37590454/article/details/88555255 所以我这里接着本地模式往下走。 一、...

    说明:首先楼主这里是已经安装过hadoop本地模式了,安装配置hadoop本地模式可以参考楼主的另一篇博客:https://blog.csdn.net/weixin_37590454/article/details/88555255

    所以我这里接着本地模式往下走。

    一、hadoop伪分布式配置前的准备工作:

    1.找到你的hadoop安装目录,我这里是已经进入到安装目录下:(个人爱好吧,我的软件一般安装在/usr/local/)

    2. 设置环境变量(把Hadoop 的Home目录添加到系统环境变量里面去)

    vim ~/.bash_profile   

    把Hadoop的home、bin、sbin目录加到path中去,文件末尾添加如下内容:

    HADOOP_HOME=/usr/local/hadoop

    export HADOOP_HOME 

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

    export PATH

    并生效环境变量:source ~/.bash_profile

    注意:HADOOP_HOME后面接的是hadoop的安装目录

    3.进入到安装目录下,ls可以看到有如下文件:

    cd etc进入到etc目录,再cd hadoop,ls一下能看到以下配置文件,框出来的是我们需要进行配置的。

    二、hadoop伪分布式配置5步法:

    1.vim hadoop-env.sh

    增加JAVA_HOME路径

    export JAVA_HOME=/usr/local/jdk1.8.0_201

    注意:应该填写你自己的JDK路径,如果不知道,可以通过echo $JAVA_HOME查看,如果没有配置或者安装JDK,欢迎查看hadoop本地模式安装配置(有讲解安装JDK),传送门:https://blog.csdn.net/weixin_37590454/article/details/88555255

    2.vim hdfs-site.xml

    增加如下内容:

    <!--配置HDFS的副本,冗余度-->

    <property>

      <name>dfs.replication</name>

      <value>1</value>

    </property>

    <!--配置HDFS的权限-->

    <property>

      <name>dfs.permissions</name>

      <value>false</value>

    </property>

    3. vim core-site.xml

    增加如下内容:

    <!--配置主机NameNode的主机地址-->

    <property>

      <name>fs.defaultFS</name>

      <value>hdfs:内部IP:9000</value>

    </property>

    <!--配置存放Datenode数据-->

    <property>

      <name>hadoop.tmp.dir</name>

      <value>/root/usr/local/hadoop/tmp</value>

    </property>

    注意:

    1.标注1位置,如果你的服务器是阿里云、百度云、华为云、各种云服务器,那么这里的IP是你的内部IP,端口建议用9000(可以改,但是麻烦,建议保留)。

    2.标注2位置,tmp文件是自己建的,我这里是建在了hadoop的安装目录下。

    3.不知道内部IP是什么的,运行命令ip addr。如图所示的就是内部ip。

    4.vim mapred-site.xml

    增加如下配置:

    <!--配置MR运行框架-->

    <property>

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

      <value>yarn</value>

    </property>

    5.vim yarn-site.xml

    增加如下内容:

    <!--配置resourcemanagerd的地址-->

    <property>

      <name>yarn.resourcemanager.hostname</name>

      <value>内部IP</value>

    </property>

    <!--配置Nodename的执行方式-->

    <property>

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

      <value>mapreduce_shuffle</value>

    </property>

    注意:图中的IP还是你的内部IP(和上面用到的一样)

    三、hadoop伪分布式测试检验:

    1.完成以上的步骤后,要格式化namenode。命令:

    hdfs namenode –format

    看到status 0则代表格式化更改,如果是status 1则格式化失败,可以查看到报错。

    2.格式化成功后,启动hadoop(伪分布式)

    start-all.sh

    注意:停止服务:stop-all.sh

    启动之后再查看一下jps有哪些进程,如果以下6个都有,那么恭喜你hadoop伪分布式配置成功!!!

    3.配置成功后,去阿里云官网上开放端口(楼主用的是阿里云),这里用到了3个端口,分别是8088、50070、9000。不知道怎么开放端口的,参考楼主的另一篇博客:https://blog.csdn.net/weixin_37590454/article/details/81115535

    4.见证奇迹的时候到了:去浏览器检验一下能不能看见小象(搭建成功的标志)

    http://公网IP:50070

    http://公网IP:8088

    四、hadoop伪分布式问题总结:

    1.如果你的hadoop伪分布式用start-all.sh无法启动。

    解决:

    1.进入到hadoop安装目录下的sbin目录后再启动。

    2.把命令改成sh start-all.sh

    2.如果你的伪分布式启动后发现进程少了。

    解决:

    1.回去认真检查刚才的5步配置,注意标签一定要配对!

    2.检查你刚才配置中的IP,一定要是内部IP,而不是公网IP。

    3.把刚才新建的tmp目录下的文件清空,然后停止hadoop服务,再去hdfs namenode –format格式化,然后再start-all.sh启动。

    以上都不行的话,进入hadoop安装目录下,cd logs打开日志文件,查看错误日志。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • CentOS7搭建Hadoop集群的详细操作流程

    千次阅读 多人点赞 2020-04-06 00:34:53
    CentOS7搭建Hadoop集群的详细操作流程 一、准备工作 若还没安装虚拟机可参考:VMVMware14虚拟机安装程 没安装CentOS的可参考:Linux CentOS安装教程 Haddop的下载可以到...

    CentOS7搭建Hadoop集群的详细操作流程

    一、准备工作

    若有hadoop-2.x.y.tar.gz.mds 这个文件建议也可下载,因为该文件包含了检验值可用于检查hadoop-2.x.y.tar.gz 的完整性,否则若文件发生了损坏或下载不完整,Hadoop 将无法正常运行。想验证文件完整性,可在自行百度搜索,

    PS:如果浏览器下载过慢,可复制下载链接到迅雷打开下载。
    二、开始搭建虚拟机
    前面准备工作完成后即可开始搭建虚拟机,进行hadoop集群操作。

    • 下面为三台虚拟机的hostname和IP地址
    hostnameIp地址
    Master192.168.100.10
    Slave1192.168.100.11
    Slave2192.168.100.12

    以CentOS7为主机,命名为Master,复制两台虚拟机
    找到虚拟机的目录,直接复制两台虚拟机,命名为Slave1,Slave2,并相应打开文件删除
    下面的文件
    在这里插入图片描述

    接着打开虚拟机->我的计算机->扫描虚拟机->选择扫描位置浏览到刚才复制的文件->确定完成后对虚拟机重新命名开启即可。

    网络配置

    1.VMware 网络配置(使虚拟机上的各个节点能够互联,用同一个网段)

    • VMnet8(NAT模式)----子网IP设置为:192.168.100.0----NAT设置:网关改为192.168.100.2—确定----去掉使用DHCP选项
      在这里插入图片描述
      在这里插入图片描述
    • 开始菜单->运行->services.msc或从控制面板中找到“服务”一项打开如下图所示,找到以vmware开头的服务,确保都启用
      在这里插入图片描述
    • 打开控制面板->系统和安全->网络和 Internet->网络和共享中心->更改适配器设置,启用VMnet8
      在这里插入图片描述,再查看属性,双击Intter协议版本4看IP地址与子网掩码是否配好,若没则进行相应配置。(注意IP地址与子网掩码是于上面虚拟机配置相对应的)
      在这里插入图片描述
      2.CentOS网络配置
      Master节点上修改网卡配置
    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    

    #ens33为自己本机上的网卡名

    进入后先改

    BOOTPROTO=static
    ONBOOT=yes
    

    后加

     IPADDR=192.168.100.10 #IP地址
     NETMASK=255.255.255.0 #子网掩码
     GATEWAY=192.168.100.2 #网关地址
     DNS1=8.8.8.8         #DNS服务器地址
    

    Slave1、2节点上修改网卡配置,基本和Master上的配置一样,但Slaved1的IP地址改为192.168.100.11,Slaved2的IP地址改为192.168.100.12

    在这里插入图片描述
    点i进入编辑
    退出编辑-> esc键 :x

    重启网卡
    在Master节点和Slave1、2节点上重启网卡

    systemctl restart network
    

    关闭掉Master和Slave1、2上的防火墙

    systemctl stop firewalld.service   #停止firewall 
    systemctl disable firewalld.service #禁止firewall开机启动
    

    修改主机名
    CentOS7修改主机名:
    hostnamectl set-hostname +主机名

    hostnamectl set-hostname Master  
    hostname  #查看一下
    ls
    

    如果是CentOS6修改主机名则用
    vi /etc/sysconfig/network
    Master上改主机名

    vi /etc/sysconfig/network
    

    修改HOSTNAME=Master

    Slave1改主机名

    vi /etc/sysconfig/network 
    

    添加HOSTNAME=Slave1

    Slave2改主机名

    vi /etc/sysconfig/network 
    

    添加HOSTNAME=Slave2

    hosts修改域名:(三个节点上都配一遍)

    vi /etc/hosts
    

    修改内容为

    192.168.100.10 Master Master.cn 
    192.168.100.11 Slave1 Slave1.cn
    192.168.100.12 Slave2 Slave2.cn
    #ip地址  hostname  域名 ,设置完之后可以用域名进行访问
    

    重新启动一下

    reboot
    

    测试能不能跑通,实现节点间互联

    查看网络配置是否成功

    ifconfig	#显示的网络信息是否和我们配置的契合
    

    Master上

    ping baidu.com
    ping 192.168.100.10
    ping Slave1
    ping Slave2
    

    Slave1上

    ping baidu.com
    ping 192.168.100.11
    ping Master
    ping Slave2
    

    Slave2同上进行相互ping
    以上如果ping不通则说明你还有bug要修

    yum 源配置
    1.安装wget

    yum install -y wget
    

    2.备份/etc/yum.repos.d/CentOS-Base.repo文件

    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.back
    

    3.下载阿里云的Centos-7.repo文件

    wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    

    4.重新加载yum

    yum clean all
    yum makecache
    

    若已经有默认的yum源可进行更换为国内的阿里云yum源,让下载安装及更新速度更快一些,替换很简单,简单记录一下步骤。
    1、备份

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    或
    mv /etc/yum/repos.d/CentOS-Base.repo{,.date -I}
    

    2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/

    wget -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    或
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    

    3、添加EPEL

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    

    4、清理缓存并生成新的缓存

    yum clean all
    yum makecache
    

    CentOS6上更换yum源,可点击此次

    jdk的安装

    Master上首先可用rz命令进行上传jdk文件,若rz没有,用 yum install lrzsz 进行下载,下载成功后在home目录下rz进行上传jdk文件,再ls查看一下文件即可查看jdk上传成功
    在这里插入图片描述
    在这里插入图片描述
    接着用

    scp jdk-8u73-linux-x64.tar.gz Slave1.cn:/home 
    

    上传到Slave1

    Slave1上

    ls  #一下即可看到文件已上传成功
    mkdir -p /export/servers  #在home目录下创建一个目录
    tar -zxvf jdk-8u73-linux-x64.tar.gz -C /export/servers/  #解压到对应目录 
    cd  /export/servers  #进入目录ls查看到文件已解压安装成功
    ln -s jdk1.8.0_73 jdk  #对jdk1.8.0_73 创建快捷方式为jdk
    ls 
    pwd  #看一下当前目录
    
    
    cd jdk
    vi /etc/profile  #在jdk目录下配置一下java的环境变量
    

    添加

    #java path configuration
    export	JAVA_HOME=/export/servers/jdk   
    export	PATH=$JAVA_HOME/bin:$PATH
    export	CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
    

    在这里插入图片描述
    #注意中间的空格为tab键
    :wq 保存退出

    source /etc/profile  #让配置生效
    java -version       #看java是否安装配置成功
    chkconfig iptables off  #如果之前忘记关防火墙,可用此命令进行防火墙永久关闭
    

    在这里插入图片描述

    (Master、Slave2的jdk配置同上)

    配置免密码登录
    在Master上

    cd ~
    ssh-keygen -t rsa     #一直按回车
    ssh localhost         t#这时候连接到本机是不需要密码了
    ssh-copy-id Slave1.cn  
    ssh-copy-id Slave2.cn  #拷贝到Slave1、2上	
    

    在Master上测试是否能无密码ssh登录到Slave1、2

    ssh Slave1
    ssh Slave2
    

    这时已经不需要密码登录了
    在这里插入图片描述
    Hadoop的安装

    Mater上

    cd /home
    cd /export
    mkdir software  #进入export下创建一个目录放hadoop,然后ls可查看一下
    cd software/
    rz  #上传hadoop文件到software目录下
    ls  #查看hadopp是否上传成功
    scp hadoop-2.6.1.tar.gz Slave1.cn:/export/software/  #先在Slave1创建好software再执行此命令,将hadoop包传到Slave1
    

    Slave1上

    cd /export
    mkdir software  #创建一个目录放hadoop
    cd software/
    ls 
    tar -zxvf hadoop-2.6.1.tar.gz -C /export/servers #解压到servers目录
    cd /export
    cd servers/
    ls   #进入servers目录查看解压是否成功
    ln -s hadoop-2.6.1 hadoop  #对hadoop-2.6.1 创建快捷方式为hadoop
    ls
    
    vim /etc/profile  #配置hadoop的环境变量
    

    添加

    #hadoop configuration
    export	HADOOP_HOME=/export/servers/hadoop
    export	PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH  
    

    #注意中间的空格为tab键
    在这里插入图片描述
    退出

    source /etc/profile #让其配置生效
    hadoop version #查看是否成功
    

    在这里插入图片描述

    (Master、Slave2的hadoop配置同上)

    Master上修改配置文件进行集群

    mkdir data #进入export新建一个目录放data,然后ls一下
    cd data
    mkdir -p hadoop/tmp #在data下新建一个放hadoop数据,然后ls一下
    

    进入servers目录下的hadoop

    cd etc
    cd hadoop/  #进入到etc的hadoop的配置文件
    
    vim hadoop-env.sh  #进入修改一下JAVA_HOME的安装目录
    

    在这里插入图片描述

    vim mapred-env.sh  #同样进入修改一下JAVA_HOME的安装目录
    

    在这里插入图片描述

    vim core-site.xml    #配置 core-site.xml 
    
    #在<configuration>和</configuration>中间添加
    <property>
    		<name>hadoop.tmp.dir</name>
    		<value>/export/data/hadoop/tmp</value>
    	</property>
    	<property>
    		<name>fs.defaultFS</name>
    		<value>hdfs://192.168.100.10:9000</value>
    	</property>
    

    在这里插入图片描述

    #其中/export/data/hadoop/tmp是之前是建的放hadoop数据的地方
    hdfs://192.168.100.10:9000 前面为主机Master的IP地址,后面为端口号,可以默认为9000

    vim yarn-site.xml  #配置yarn-sit.xml
    
    #在<configuration>和</configuration>中间添加
    
    <property>
    <name>yarn.resourcemanager.hostname</name>
    	 <value>192.168.100.10</value>
    </property>
    <property>
     	<name>yarn.nodemanager.aux-services</name>
     	<value>mapreduce_shuffle</value>
    </property>
    

    #其中192.168.100.10是为主机Master的IP地址

    在这里插入图片描述

    vim hdfs-site.xml  #配置hdfs-site.xml 
    
    #在<configuration>和</configuration>中间添加
    <property>
    <name>dfs.replication</name>
     		 <value>3</value>
      	</property>
     	 <property>
       		 <name>dfs.secondary.http.address</name>
      		 <value>192.168.100.10:50090</value>
     	</property>
    

    #其中192.168.100.10是为主机的IP地址,3为机器的节点数
    在这里插入图片描述

    cp mapred-site.xml.template mapred-site.xml #复制一份 mapred-site.xml
    vim mapred-site.xml  #配置mapred-site.xml
    
    #在<configuration>和</configuration>中间添加
    <property>
    <name>mapreduce.framework.name</name>
     	 <value>yarn</value>
     		 </property>
    

    在这里插入图片描述

    vim slaves #配置slaves
    

    修改
    localhost—>Slave1.cn Slave2.cn
    #lave1.cn Slave2.cn为你要集群的机器
    在这里插入图片描述

    master配置完分发到其他机器上,可以把master上的hadoop配置文件进行打包压缩复制到slaves节点上,或者直接在slaves节点上各配置一遍,其中配置内容跟master的配置一模一样(包括IP地址和端口号

    #以上配置文件已完成

    hdfs namenode -format #启动前先格式化文件系统,之后无须格式化  
    

    开启集群

    start-dfs.sh   #启动dfs
    start-yarn.sh #启动yarn
    mr-jobhistory-daemon.sh start historyserver  #启动脚本
    
    jps   #可以查看各个节点所启动的进程
    

    正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 进程;
    在这里插入图片描述
    在Slave1、2节点上可以看到DataNode 和 NodeManager进程;
    在这里插入图片描述
    在这里插入图片描述
    以上集群已搭建成功
    关闭集群也是在Master上关闭,按顺序执行命令

    stop-yarn.sh 
    stop-dfs.sh 
    mr-jobhistory-daemon.sh stop historyserver
    

    注意:CentOS系统默认开启了防火墙,在开启 Hadoop 集群之前,需要关闭集群中每个节点的防火墙。有防火墙会导致 ping 得通但 telnet 端口不通,从而导致 DataNode 启动了,但 Live datanodes 为 0的情况。我们前面的操作中已经关闭防火墙了,如果防火墙没关闭的请关闭再开启集群。
    同时有事没事不要随便初始化NameNode,初始过一遍就欧了。

    Ubuntu上搭建hadoop伪分布式配置可看一下这里

    CentOS上搭建hadoop伪分布式配置可看一下这里

    展开全文
  • 准备工作及环境 两台主机 10.4.20.181 spark01 10.4.20.48 spark02 ...系统均为centos7 ...参考我的另一篇博客centos7下卸载自带的java安装jdk8 创建用户 建议创建一个单独的用户spark以从Unix文件系统隔...

    转载于https://dxysun.com/2018/04/16/centosForHadoop/

    准备工作及环境

    两台主机

    10.4.20.181 spark01
    10.4.20.48 spark02

    系统均为centos7

    jdk已经装好

    参考我的另一篇博客centos7下卸载自带的java安装jdk8

    创建用户

    建议创建一个单独的用户spark以从Unix文件系统隔离Hadoop文件系统

    1

    2

    3

    4

    useradd hadoop

    passwd hadoop

    New password:

    Retype new password:

    授权 root 权限,在root下面加一条hadoop的hadoop ALL=(ALL) ALL,用root用户执行如下命令

    1

    vim /etc/sudoers

    添加如下内容

    1

    2

    root ALL=(ALL) ALL

    spark ALL=(ALL) ALL

    SSH 免秘钥

    参考我的另一篇博客CentOs7搭建hadoop spark集群之ssh免密登录

    hadoop集群搭建

    下载hadoop2.7.5并解压到相应目录

    我在本地window已经下好了hadoop-2.7.5.tar.gz的压缩包,并使用xftp将其上传到了主机spark01的/home/spark/download目录下
    在用户spark的主目录下(即/home/spark)创建app文件夹,用于安装hadoop和spark,将hadoop-2.7.5解压到app目录下

    1

    2

    mkdir /home/spark/app

    tar -zxf /home/spark/download/hadoop-2.7.5.tar.gz -C /home/spark/app

     

    进入app目录并修改hadoop-2.7.5的文件名

    1

    2

    cd /home/spark/app

    mv hadoop-2.7.5 hadoop

     

    环境变量

    如果是对所有的用户都生效就修改vim /etc/profile 文件
    如果只针对当前用户生效就修改 vim ~/.bahsrc 文件

    1

    sudo vim /etc/profile

     

    在文件末尾添加以下内容

    1

    2

    3

    4

    #hadoop

    HADOOP_HOME=/home/spark/app/hadoop/

    PATH=$HADOOP_HOME/bin:$PATH

    export PATH HADOOP_HOME

     

    使环境变量生效,运行下面的命令使/etc/profile文件生效

    1

    source /etc/profile

     

    ~/.bahsrc文件同理

    配置Hadoop

    集群/分布式模式需要修改 /home/spark/app/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项: slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。
    进入hadoop 配置文件目录

    1

    cd /home/spark/app/hadoop/etc/hadoop/

     

    编辑 hadoop-env.sh 文件,找到 JAVA_HOME 改为 JDK 的安装目录

    1

    2

    vim hadoop-env.sh

    export JAVA_HOME=/usr/java

     

    这里我的jdk安装目录为/usr/java

    修改 core-site.xml
    打开 core-site.xml文件并对其进行编辑,如下图所示。

    1

    vim core-site.xml

     

    修改内容如下

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    <configuration>

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://spark01:9000</value>

    </property>

    <property>

    <name>hadoop.tmp.dir</name>

    <value>file:/home/spark/app/hadoop/tmp</value>

    </property>

    </configuration>

     

    spark01是我的master节点名,你可以将spark01换成你的master节点名,hadoop.tmp.dir属性也要换成自己的

    修改 hdfs-site.xml
    打开hdfs-site.xml文件并对其进行编辑,如下图所示。

    1

    vim hdfs-site.xml

    修改内容如下

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    <configuration>

    <property>

    <name>dfs.namenode.secondary.http-address</name>

    <value>spark01:50090</value>

    </property>

    <property>

    <name>dfs.replication</name>

    <value>2</value>

    </property>

    <property>

    <name>dfs.namenode.name.dir</name>

    <value>file:/home/spark/app/hadoop/tmp/dfs/name</value>

    </property>

    <property>

    <name>dfs.datanode.data.dir</name>

    <value>file:/home/spark/app/hadoop/tmp/dfs/data</value>

    </property>

    </configuration>

     

    注意修改master节点名,我的是spark01,dfs.namenode.name.dir和dfs.datanode.data.dir这两个属性

    修改 mapred-site.xml
    目录下么没有这个文件,这有一个模板,我们需要先拷贝一份

    1

    2

    cp mapred-site.xml.template mapred-site.xml

    vim mapred-site.xml

    修改内容如下

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    <configuration>

    <property>

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

    <value>yarn</value>

    </property>

    <property>

    <name>mapreduce.jobhistory.address</name>

    <value>spark01:10020</value>

    </property>

    <property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>spark01:19888</value>

    </property>

    </configuration>

     

    注意修改master节点名

    修改 yarn-site.xml

    1

    vim yarn-site.xml

    修改内容如下

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    <configuration>

     

    <!-- Site specific YARN configuration properties -->

     

         <property>

                 <name>yarn.resourcemanager.hostname</name>

                          <value>spark01</value>

         </property>

         <property>

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

                          <value>mapreduce_shuffle</value>

         </property>

    </configuration>

     

    注意修改master节点名

    配置集群

    复制节点
    将spark01的hadoop文件夹重打包后复制到其他子节点

    1

    2

    3

    cd /home/spark/app

    tar zcf hadoop.tar.gz hadoop

    scp hadoop.tar.gz spark@spark02:/home/spark/app

    在其他子节点 解压

    1

    tar -zxf hadoop.tar.gz

     

    配置slaves文件

    修改(Master主机)spark01的/home/spark/app/hadoop/etc/hadoop/slaves文件
    该文件指定哪些服务器节点是datanode节点。删除locahost,添加所有datanode节点的主机名

    1

    2

    cd /home/spark/app/hadoop/etc/hadoop/

    vim slaves

     

    删除localhost,添加节点主机名,这里我将master节点也作为datanode节点使用

    1

    2

    spark01

    spark02

     

    关闭防火墙

    CentOS系统需要关闭防火墙
    CentOS系统默认开启了防火墙,在开启 Hadoop 集群之前,需要关闭集群中每个节点的防火墙。有防火墙会导致 ping 得通但 telnet 端口不通,从而导致 DataNode 启动了,但 Live datanodes 为 0 的情况。
    在 CentOS 6.x 中,可以通过如下命令关闭防火墙:

    1

    2

    sudo service iptables stop # 关闭防火墙服务

    sudo chkconfig iptables off # 禁止防火墙开机自启,就不用手动关闭了

     

    若用是 CentOS 7,需通过如下命令关闭(防火墙服务改成了 firewall):

    1

    2

    systemctl stop firewalld.service # 关闭firewall

    systemctl disable firewalld.service # 禁止firewall开机启动

     

    启动集群操作

    首次启动需要先在 Master 节点执行 NameNode 的格式化:

    1

    hdfs namenode -format # 首次运行需要执行初始化,之后不需要

     

    接着可以启动 hadoop 了,启动需要在 Master 节点上进行:

    1

    2

    3

    start-dfs.sh

    start-yarn.sh

    mr-jobhistory-daemon.sh start historyserver

     

    通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 、datanode进程,
    master节点jps进程
    在slave节点可以看到DataNode 和 NodeManager 进程
    slave节点jsp进程
    缺少任一进程都表示出错。如果进程都启动成功说明hadoop集群搭建成功
    另外还需要在 Master 节点上通过命令 hdfs dfsadmin -report 查看 DataNode 是否正常启动,如果 Live datanodes 不为 0 ,则说明集群启动成功。
    Live datanodes
    也可以通过 Web 页面看到查看 DataNode 和 NameNode 的状态:http://spark01:50070/。如果不成功,可以通过启动日志排查原因。
    spark01
    访问http://spark01:8088,查看yarn的工作状态
    spark01

    执行分布式实例

    首先创建 HDFS 上的用户目录:

    1

    hdfs dfs -mkdir -p /user/spark

     

    将 /home/spark/app/hadoop/etc/hadoop 中的配置文件作为输入文件复制到分布式文件系统中

    1

    2

    hdfs dfs -mkdir input

    hdfs dfs -put /home/spark/app/hadoop/etc/hadoop/*.xml input

     

    接着就可以运行 MapReduce 作业了:

    1

    hadoop jar /home/spark/app/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

     

    可能会有点慢,但如果迟迟没有进度,比如 5 分钟都没看到进度,那不妨重启 Hadoop 再试试。若重启还不行,则很有可能是内存不足引起,建议增大虚拟机的内存,或者通过更改 YARN 的内存配置解决。

    运行结果如下图所示
    MapReduce
    同样可以通过 Web 界面查看任务进度 http://spark01:8088/cluster
    任务进度
    执行如下命令查看执行完毕后的输出结果:

    1

    hdfs dfs -cat output/*

    输出结果
    输出结果

    关闭 Hadoop 集群也是在 Master 节点上执行的:

    1

    2

    3

    stop-yarn.sh

    stop-dfs.sh

    mr-jobhistory-daemon.sh stop historyserver

     

    至此,hadoop集群搭建成功

    展开全文
  • hadoop+spark+hive Linux centos大数据集群搭建,简单易懂,从0到1搭建大数据集群
  • 搭建步骤   1.安装centos7,并进行准备工作(可以安装一个之后然后克隆) 2.修改各个centos7的hostname和hosts 3.创建用户和用户组 4.配置centos7网络,是centos7系统之间以及和hosts主机之间可以通过互相ping...

    搭建步骤

     

    1.安装centos7,并进行准备工作(可以安装一个之后然后克隆)

    2.修改各个centos7的hostname和hosts

    3.创建用户和用户组

    4.配置centos7网络,是centos7系统之间以及和hosts主机之间可以通过互相ping通

    5.安装jdk和配置环境变量,检查是否配置成功

    6.配置ssh,实现节点间的无密码登录ssh node1/2指令验证时候成功

    7.master配置hadoop,并将hadoop文件传输到node节点

    8.配置环境变量,并启动hadoop,检查是否安装成功,执行wordcount检查是否成功

     

    采用三台机器

             主机名                                 ip                         对应的角色

             namenode                 188.2.72.57               namenode(主)

             datanode1                 188.2.72.58               datanode1(从1)

             datanode2                 188.2.72.59               datanode2(从2)

     

    由于是现有三台centos系统,所以省略安装centos系统的步骤

     

    1.修改主机名 (以namenode举例)

             hostnamectl set-hostname namenode(永久修改主机名)

             reboot(重启系统)

     

    2.修改hosts(以namenode举例)

             188.2.72.60               namenode

             188.2.72.59               datanode2

             188.2.72.58               datanode1

     

    3.尝试看看能不能ping通(以namenode举例)

             ping -c 3 datanode1

     

    4.准备安装oracle的jdk,但安装之前需要查看有没有安装jdk

             java-version

     

     

    5.查看有jdk,且是centos7系统自带的openjdk,我们需要删除掉安装oracle的jdk

             rpm -qa | grep java(查询java版本)

             rpm -e --nodeps xxx(逐个删除完)

             rpm -qa | grep java(没有显示任何)

    那么就删除完了。我们可以安装oracle的jdk了

     

    6. 来到java目录(注,我是已经提前创建了java目录跟将tar.gz包复制到了java目录中)

             cd /usr/java

             ls

    7.解压jdk

    tar zxvf jdk-8u144-linux-x64.tar.gz

             ls

    8. Jdk的环境变量配置

    方式一:

             设置环境变量,执行vi  /etc/profile

     

    export JAVA_HOME=/usr/java/jdk1.8.0_144

    export PATH=$JAVA_HOME/bin

    export JRE_HOME=$JAVA_HOME/jre

    export CLASSPATH=.:$JAVA_HOME/lib:${JRE_HOME}/lib

     

    方式二:

    sudo vi ~/.bashrc

     

    在打开的文件的末尾添加以下信息:

             export JAVA_HOME=/usr/java/jdk1.8.0_144

             export JRE_HOME=${JAVA_HOME}/jre  

             export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

             export PATH=${JAVA_HOME}/bin:$PATH 

    9. 使用source命令来使刚才的jdk环境变量配置文件生效

    source ~/.bashrc

     

    10. 在root用户下给hadoop用户增加sudo权限

             chmod u+w /etc/sudoers

             vi /etc/sudoers

             chmod u-w /etc/sudoers

     

    11.ssh生成密钥

    ssh-keygen -t rsa(连续三次回车)

     

    12. 切换到.ssh目录下,进行查看公钥和私钥

    cd .ssh

    ls

     

    13.将id_rsa.pub复制到authorized_keys,并且给设置权限

             cp id_rsa.pub authorized_keys

             然后将三个authorized_keys都下载到本地,对三个authorized_keys的内容都合并,意思就是说。三台机器中的authorized_keys的内容都是相同的。

     

     

             chmod 700 .ssh

             chmod 600 .ssh/authorized_keys

     

    14.ssh 与别的节点无密钥连接(每个节点都需要进行连接)

     

             ssh datanode1(连接到datanode1)

             hostname(查看主机名,是否连接到)

             exit(登出,不然会在连接到的机器上操作)

             ssh datanode2(连接到datanode1)

             hostname(查看主机名,是否连接到)

             exit(登出,不然会在连接到的机器上操作)

     

    15.hadoop环境配置

     

    16.首先,切换到/usr/java/ ,再切换到root用户下,再 /root/java

     

    cd /usr/java

    su root

     

    16.解压hadoop (因为之前已经将hadoop的tar.gz安装包移动过来,所以就略过移动那一步)

    tar zxvf hadoop-2.7.4.tar.gz

     

    17. 将文件名hadoop-2.7.4改为hadoop

    mv hadoop-2.7.4 hadoop

    ls

     

    18. 将刚改名的hadoop文件,权限赋给hadoop用户

     

    chown -R hadoop:hadoop hadoop

    ls -l(查看权限)

     

    19. 创建目录

        mkdir  /root/hadoop 

        mkdir  /root/hadoop/tmp 

        mkdir  /root/hadoop/var 

        mkdir  /root/hadoop/dfs 

        mkdir  /root/hadoop/dfs/name 

        mkdir  /root/hadoop/dfs/data

    20.修改配置文件

             cd /usr/java/hadoop/etc/hadoop

             ls

             vi hadoop-env.sh

     

             export JAVA_HOME=/usr/java/jdk1.8.0_144

     

    21.修改slaves

             vi slaves

             将里面的localhost删除,增加:

             datanode1

             datanode2

    22.修改core-site.xml文件

     

             vi core-site.xml

     

    在<configuration>节点内加入配置:

     

    <configuration>

        <property>

            <name>fs.defaultFS</name>

            <value>hdfs://namenode:9000</value>

        </property>

        <property>

            <name>hadoop.tmp.dir</name>

            <value>/home/hadoop/hadoop-2.7.4/dfs/tmp</value>

        </property>

    </configuration>

     

    23. 新建并且修改mapred-site.xml

             在该版本中,有一个名为mapred-site.xml.template的文件,

             复制该文件,然后改名为mapred-site.xml,命令是:

     

             cp mapred-site.xml.template mapred-site.xml(复制文件)

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

     

    在<configuration>节点内加入配置:

    <configuration>

     

            <property>

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

                    <value>yarn</value>

            </property>

            <property>

                    <name>mapred.job.tracker</name>

                    <value>namenode:9010</value>

            </property>

            <property>

                    <name>mapreduce.jobtracker.http.address</name>

                    <value>namenode:50030</value>

            </property>

            <property>

                    <name>mapreduce.jobhisotry.address</name>

                    <value>namenode:10020</value>

            </property>

            <property>

                    <name>mapreduce.jobhistory.webapp.address</name>

                    <value>namenode:19888</value>

            </property>

            <property>

                    <name>mapreduce.jobhistory.done-dir</name>

                    <value>/jobhistory/done</value>

            </property>

            <property>

                    <name>mapreduce.intermediate-done-dir</name>

                    <value>/jobhisotry/done_intermediate</value>

            </property>

            <property>

                    <name>mapreduce.job.ubertask.enable</name>

                    <value>true</value>

            </property>

     

    </configuration>

     

    24. 修改vi hdfs-site.xml配置文件,添加以下信息

             vi hdfs-site.xml

     

    在<configuration>节点内加入配置:

     

    <configuration>

     

            <property>

                    <name>dfs.permissions</name>

                    <value>false</value>

            </property>

            <property>

                    <name>dfs.replication</name>

                    <value>3</value>

            </property>

            <property>

                    <name>dfs.namenode.secondary.http-address</name>

                    <value>namenode:50090</value>

                    <description>The secondary namenode http server address and port.</description>

            </property>

            <property>

                    <name>dfs.namenode.name.dir</name>

                    <value>/home/hadoop/hadoop-2.7.4/dfs/name</value>

            </property>

            <property>

                    <name>dfs.datanode.data.dir</name>

                    <value>/home/hadoop/hadoop-2.7.4/dfs/data</value>

            </property>

            <property>

                    <name>dfs.webhdfs.enabled</name>

                    <value>true</value>

            </property>

            <property>

                    <name>dfs.namenode.checkpoint.dir</name>

                    <value>file:///home/hadoop/hadoop-2.7.4/dfs/namesecondary</value>

                            <description>Determines where on the local filesystem the DFSsecondary name node should store the temporary images to merge. If this is acomma-delimited list of directories then the image is replicated in all of thedirectories for redundancy.</description>

            </property>

    </configuration>

     

    25. 修改yarn-site.xml配置文件

     

    vi yarn-site.xml

     

    在<configuration>节点内加入配置:

     

             <configuration>

     

    <!-- Site specific YARN configuration properties -->

        <property>

            <name>yarn.resourcemanager.hostname</name>

            <value>namenode</value>

        </property>

        <property>

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

            <value>mapreduce_shuffle</value>

        </property>

        <property>

            <name>yarn.nodemanager.vmem-pmem-ratio</name>

            <value>10</value>

        </property>

    </configuration>

     

     

     

     

    26.hadoop需要配置的文件

     

     

    27.关闭防火墙

                      systemctl stop firewalld.service       (关闭防火墙)

             注:如果不关闭防火墙,可能导致无法使用集群

     

    28.初始化namenode,因为namenode是namenode,datanode1和datanode2都是datanode,所以只需要对namenode进行初始化操作,也就是对hdfs进行格式化。

     

             bin/hadoop  namenode  -format(在usr/java/hadoop目录下执行该命令)

     

     

    29.启动集群

             sbin/start-all.sh

     

     

    30.查看集群是否启动

             jps

     

    31.管理员身份运行记事本

     

    https://img-blog.csdnimg.cn/20181217205953557

    https://img-blog.csdnimg.cn/20181217205953582

    https://img-blog.csdnimg.cn/20181217205953599

     

    32.打开本地的host文件

             188.2.72.60     namenode

     

     

    33.最后,现在是来验证hadoop是否安装成功。在Windows上可以通过 http://cnq:50070 访问WebUI来查看NameNode,集群、文件系统的状态。这里是HDFS的Web页面

    http://namenode:50070

     

    展开全文
  • CentOS 7搭建hadoop服务 节点规划 hostname IP地址 服务角色 master 192.168.100.10 NameNode slave1 192.168.100.20 DataNode1 slave2 192.168.100.30 DataNode2 一、添加主机映射 注意:在每个节点...
  • 第一步:VMware的下载、安装及破解 ...第二步:Centos7镜像的下载、安装 镜像下载地址:https://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/ 下载完成之后 我们打开VMware。 1.创建新的虚拟机 2.点...
  • CentOS 7搭建hadoop环境【详细+截图】

    千次阅读 2020-11-20 00:39:59
    CentOS 7搭建hadoop环境 寻找网上的博客教程,折腾了许久,出一篇自己成功搭建hadoop环境的文章,用来记录自己的探索,同时为大家伙少走弯路提供捷径 一、在虚拟机中安装CentOS 7并克隆两台机子 至此机器准备...
  • 大家好,最近在学习hadoop,因此随手就把关于搭建Hadoop的方法教给大家,如果有不对的地方希望大佬指出,如果有不明白的地方我会尽量帮大家解决,这是我第一篇博客希望大家多多支持。 首先我自己是mac系统,刚...
  • centOS7搭建hadoop环境(非常详细!非常适合新手!)

    万次阅读 多人点赞 2017-11-06 14:24:21
    centOS7下搭建hadoop环境,非常非常详细。
  • 不分顺序 1,按照网上资料博客等配置完各种文件之后,启动namenode... hadoop namenode -format 2,当我们将三台虚拟机按照桥接的方式来进行网络连接时,要在windows以及linux中的hosts文件中加入IP与主机名的...
  • centos7 搭建Hadoop3.0.3完全分布式

    千次阅读 2019-07-03 10:44:45
    第一步:服务器规划 IP地址 主机名称 nameNode dataNode 192.168.60.201 master 是 否 192.168.60.200 node1 ...1、centos7 搭建JDK8 参考文章地址:https://blog.csdn....
  • 基于虚拟机centos7搭建Hadoop集群

    千次阅读 2019-04-29 23:48:56
    第一部分:准备工作 1.安装虚拟机 参考:... 2.安装centos7 参考:https://blog.csdn.net/heqiang525/article/details/89671281 3.安装JDK 参考:https://blog.csdn.net/heqiang52...
  • 一 安装环境:三台云服务器,我使用的是华为云一台为centos7,主机名:master,ip:192.168.0.1另外两台为centos6.5,主机名分别为node1、node2,ip分别为192.168.0.2,192.168.0.3。hadoophadoop-2.7.6.tar.gzjava...
  • centos6.8搭建hadoop集群

    2021-01-07 13:49:13
    1.准备一台干净的centos6.8虚拟机 2.关闭防火墙 1.临时关闭防火墙 service iptables stop 2.关闭防火墙自启动 chkconfig iptables off 3.查看防火墙状态 service iptables status 3.设置静态ip vim /etc/...
  • 包含hadoop-2.6.4.tar包、搭建集群详情文档(每一步的步骤及代码、搭建前的环境配置)。亲测可成功运行。
  • CentOS 7.2 64位 OpenJDK-1.8.0 Hadoop-2.7 二、安装SSH客户端 安装ssh: yum install openssh-clients openssh-server 安装完成后,使用以下命令测试: ssh localhost 输入 root 账户的密码,如果可以正常登录,则...
  • 在网上找了很长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,只能自己写一个了。 一:环境准备: 1:首先要有一个Centos7操作系统,可以在虚拟机中安装。 2:在centos7中安装docker,docker...
  • 1、拉取centos8的镜像 在用户目录下: 2、构建集群子网 按照集群的架构,创建容器时需要设置固定IP,所以先要在docker使用如下命令创建固定IP的子网 docker network create –subnet=172.18.0.0/16 netgroup 对各个...
  • 本实验最终的结果是使用四台虚拟机,搭建hadoop集群 一、 准备条件 一台centos7虚拟机(我使用的软件是vm) 文件传输工具:Xftp(vm有vm tool但是不太好用) 远程连接工具:Xshell(与命令行界面类似,但是支持复制...
  • Hadoop环境搭建(一)虚拟机快速创建和环境准备搭建所使用的环境和软件:创建虚拟机(VM)完成虚拟机创建配置后给VM安装操作系统如果时间不对,设置时区和时间同步将一台虚拟机ip修改为静态ip,和修改主机名字用Xshell...
  • centos安装hadoop超级详细没有之一

    万次阅读 多人点赞 2018-09-20 11:43:55
    如果你安装 CentOS 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。 首先点击左上角的 “应用程序” -&gt; “系统工具” -&gt; “终端”,首先在终端中输入 su ,按回车,输入 ...
  • CentOSHadoop伪分布式集群搭建 前序 CentOS防火墙关闭 jdk8 hadoop-2.6.5 安装jdk tar xf */jdk -C /usr/java 路径:/usr/java 配置环境变量 vim /etc/profile 末尾增加 done unset i unset -f pathmunge #...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,933
精华内容 8,773
关键字:

centos搭建hadoop