热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos部署hadoop完全分布式

2019独角兽企业重金招聘Python工程师标准步骤总览:a、安装jdkb、安装hadoop,配置hadoop环境变量,修改hado

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

步骤总览:

a、安装jdk

b、安装hadoop,配置hadoop环境变量,修改hadoop配置文件

c、克隆虚拟机 

d、修改ip地址为固定ip,编写hosts与hostname

e、配置无密登录ssh,编写xcall,xsync

f、hadoop格式化,启动守护进程。

 

--------------------------------------------------------

  1. 安装jdk
    1. 卸载原有的openjdk
      1. 查看CentOS自带JDK是否已安装。

◆输入:yum list installed |grep java。

      1. 若有自带安装的JDK,如何卸载CentOS系统自带Java环境?

◆卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*。

◆卸载tzdata-java输入:yum -y remove tzdata-java.noarch。

      1.   当结果显示为Complete!即卸载完毕。

a80c65b0c75daa962940ee2332dd5c2bb4b.jpg

    1. 安装jdk
      1. 下载jdk ,并解压到soft目录下

1279c3a52d36679348a131adadf74af4784.jpg

$> sudo tar zxvf jdk-8u65-linux-x64.tar.gz -C /soft

      1. 编写source /etc/profile,输入已下内容

#java environment

export JAVA_HOME=/soft/jdk1.8.0_65

export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

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

      1. 刷新资源 $>source /etc/profile
      2. 查看版本

4ea3fc6574ff9b1ad5d33a670a91bed3d80.jpg

 

  1. 安装hadoop,并配置完全分布式
  1. 解压到/soft目录下

8c0d0ac938f2f68a8bd4b442e42397a46ea.jpg

b、    复制/soft/hadoop/erc/hadoop文件,其中full为完全分布式的配置文件,presu为委分布,local为本地。删除hadoop文件夹,创建hadoop链接

           配置hadoop环境变量,并检查是否成功

$>sudo nano /etc/profile

           ...

           export JAVA_HOME=/soft/jdk

           exprot PATH=$PATH:$JAVA_HOME/bin

           export HADOOP_HOME=/soft/hadoop

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

使配置生效:

$>source /etc/profile

检查是否成功

$> hadoop version

 

ebfd339b3c24aa5385dcc5d338b1ebd3673.jpg

a03e41193f56f8a0dad0691934069755704.jpg

ddd390b67bb9e98f843bfb0cfa10e33b236.jpg

C、 创建几个文件夹,尽量创建在home下,省得权限问题

db3d20b5b85a13d4d40de1d11d591d7aee9.jpg

D、 修改/soft/hadoop/etc/full的配置文件

【core-site.xml】

 

        hadoop.tmp.dir

        /home/zhangdada/hadoop/tmp

        Abase for other temporary directories.

   

   

        fs.default.name

        hdfs://s200:9000

   

【hadoop-env.sh】

修改java的地址将export   JAVA_HOME=${JAVA_HOME}

         修改为:export JAVA_HOME=/soft/jdk1.8.0_65

【hdfs-site.xml】

   dfs.name.dir

   /home/zhangdada /hadoop/dfs/name

   Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.

   dfs.data.dir

   /home/zhangdada /hadoop/dfs/data

   Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.

   dfs.replication

   1

replication  count

      dfs.permissions

      false

      need not permissions

说明:dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true

mapred-site.xml】这个文件是由sudo cp mapred-site.xml.template mapred-site.xml得来的。

 

   mapred.job.tracker

   s200:49001

      mapred.local.dir

       /home/zhangdada /hadoop/var

       mapreduce.framework.name

       yarn

【slaves】

S201

【yarn-site.xml】

        yarn.resourcemanager.hostname

        s200

   

   

       The address of the applications manager interface in the RM.

        yarn.resourcemanager.address

        ${yarn.resourcemanager.hostname}:8032

   

   

        The address of the scheduler interface.

        yarn.resourcemanager.scheduler.address

        ${yarn.resourcemanager.hostname}:8030

   

   

        The http address of the RM web application.

        yarn.resourcemanager.webapp.address

       ${yarn.resourcemanager.hostname}:8088

   

   

        The https adddress of the RM web application.

        yarn.resourcemanager.webapp.https.address

        ${yarn.resourcemanager.hostname}:8090

   

   

       yarn.resourcemanager.resource-tracker.address

        ${yarn.resourcemanager.hostname}:8031

   

   

        The address of the RM admin interface.

        yarn.resourcemanager.admin.address

        ${yarn.resourcemanager.hostname}:8033

   

   

        yarn.nodemanager.aux-services

        mapreduce_shuffle

   

   

        yarn.scheduler.maximum-allocation-mb

        2048

        每个节点可用内存,单位MB,默认8182MB

   

   

        yarn.nodemanager.vmem-pmem-ratio

        2.1

   

   

        yarn.nodemanager.resource.memory-mb

        2048

   

        yarn.nodemanager.vmem-check-enabled

        false

       说明:yarn.nodemanager.vmem-check-enabled这个的意思是忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是实体机上,并且内存够多,可以将这个配置去掉。

 

 

  1. 克隆虚拟机 ,

 

  1. 修改ip地址为固定ip,编写hosts与hostname

/etc/sysconfig/network-scripts/ifcfg-xxxx文件中的ip地址

 

  1. 配置无密登录ssh,编写xcall,xsync

【配置ssh】:

1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)

                             $yum list installed | grep ssh

2)检查是否启动了sshd进程

                             $>ps -Af | grep sshd

3)在client侧生成公私秘钥对。

                             $>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

4)生成~/.ssh文件夹,里面有id_rsa(私钥) + id_rsa.pub(公钥)

5)追加公钥到~/.ssh/authorized_keys文件中(文件名、位置固定)

                             $>cd ~/.ssh

                             $>cat id_rsa.pub >> authorized_keys

6)将s201的公钥文件id_rsa.pub远程复制到202 ~ 204主机上。

  并放置/home/centos/.ssh/authorized_keys

           $>scp id_rsa.pub centos@s201:/home/centos/.ssh/authorized_keys

7)修改authorized_keys的权限为644.

                             $>chmod 644 authorized_keys

8)测试

                             $>ssh localhost

 如果ssh不成功的话,要查看目标机器的日志

$>cat /var/log/secure

da180792676efa1a8005040e81ae968e8a5.jpg

修改目标机器的权限:

·sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。

  • 用户目录权限为 755 或者 700,就是不能是77x。
  • .ssh目录权限一般为755或者700。
  • rsa_id.pub 及authorized_keys权限一般为644
  • rsa_id权限必须为600

【xcall.sh与xsync.sh】

  • 将两个文件放到 /bin 目录下,添加可执行的权限

$>mv xcall.sh /bin

$>chmod o+w xcall.sh

  • 使用xcall.sh在所有节点上创建jps符号连接,指向/soft/jdk/bin/jps

------------------------------------------------------------------

     1.切换到root用户

              $>su root

     2.创建符号连接

              $>xcall.sh "ln -sfT /soft/jdk1.8.0_65/bin/jps /usr/local/bin/jps"

     3.修改jps符号连接的owner

              $>xcall.sh "chown -h zhangdada:zhangdada /usr/local/bin/jps"

     4.查看所有主机上的java进程

              $>xcall.sh jps

  1. 格式化,

 $>hdfs namenode –format

启动,

$>start-dfs.sh

$>start-yarn.sh

查看(启动成功)

50530b63c806aa2c0887ddeeb390df5e275.jpg

查看启用的线程 netstat –ntlp

9e4af3c1e8b8d3a6848c079949a4faae957.jpg

在主机上查看hdfs:http://192.168.209.200:50070

  1. hdfs的一些操作

c5c79a3ed274f360ecd149ef8bc663297c3.jpg b186f13f51c4706b430a6546bdf8d191f68.jpg

1c6ec6227ff58bef03848f2d84f9d85f72f.jpg


转:https://my.oschina.net/905042249/blog/2874907



推荐阅读
  • Linux 防火墙与端口管理必备命令
    在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • 一、Tomcat安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat8.0\webapps二、Tomcat8.0配置多个端口,其实也就是给T ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在List和Set集合中存储Object类型的数据元素 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 求助:在CentOS 5.8系统上安装PECL扩展遇到问题
    在 CentOS 5.8 系统上尝试安装 APC 扩展时遇到了问题,具体表现为 PECL 工具无法正常工作。为了确保顺利安装,需要解决 PECL 的相关依赖和配置问题。建议检查 PHP 和 PECL 的版本兼容性,并确保所有必要的库和开发工具已正确安装。此外,可以尝试手动下载 APC 扩展的源代码并进行编译安装,以绕过 PECL 工具的限制。 ... [详细]
author-avatar
我是yingh_303
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有