189 8069 5689

Hadoop完全分布式配置-创新互联

  一、首先说一下,Hadoop有三种运行模式。 第一个是独立(或本地)运行模式:无需运行任何守护进程,所有程序都在一个同一个JVM上执行。 第二个是伪分布模式:Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。 第三个是全分布模式,也就是通常所说的完全分布式模式:Hadoop守护进程运行在一个集群上。     下面简单介绍下完全分布式的配置:   首先准备三台机器,系统公共配置部分:   系统信息: [root@hadoop1 ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [centos@hadoop1 ~]$ uname -r 2.6.32-573.el6.x86_64 [root@hadoop1 ~]# uname -m x86_64   公共操作用户:centos centos用户在/etc/sudoers中的公共配置: [root@hadoop1 ~]# grep centos /etc/sudoers centos ALL=(ALL) NOPASSWD: ALL   环境变量如下: [root@hadoop1 ~]# tail -16 /etc/profile #java JAVA_HOME=/home/centos/download/jdk PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export CLASSPATH #hadoop HADOOP_HOME=/home/centos/download/hadoop PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export PATH   主机IP域名映射如下: [root@hadoop1 ~]# cat /etc/hosts 10.0.0.101 hadoop1 10.0.0.102 hadoop2 10.0.0.103 hadoop3     主节点IP为: [root@hadoop1 ~]# ifconfig | awk -F '[ :]+' 'NR==2{print $4}' 10.0.0.101 从节点IP分别为: [root@hadoop2 ~]# ifconfig | awk -F '[ :]+' 'NR==2{print $4}' 10.0.0.102 [root@hadoop3 ~]# ifconfig | awk -F '[ :]+' 'NR==2{print $4}' 10.0.0.103   Java版本 [root@hadoop1 ~]# java  -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build1.8.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build25.65-b01, mixed mode)   Hadoop版本 [root@hadoop1 ~]# hadoop version Hadoop 2.7.3 Subversionhttps://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff Compiled by root on 2016-08-18T01:41Z Compiled with protoc 2.5.0 From source with checksum2e4ce5f957ea4db193bce3734ff29ff4 This command was run using/home/centos/download/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar       二、配置ssh 首先在三台机器上的家目录分别执行下述生成密钥对脚本,这样的话,三台机器的centos之间就可以免密码登录、免密码传输文件等操作。 [centos@hadoop1 ~]$ ll createssh.sh -rwxr-xr-x 1 centos centos 51 May 14 11:05createssh.sh [centos@hadoop1 ~]$ cat createssh.sh #!/bin/sh ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa   然后在三台机器上的家目录分别执行下述分发公钥 [centos@hadoop1 ~]$ ll fen.sh -rwxr-xr-x 1 centos centos 142 May 14 12:14fen.sh [centos@hadoop1 ~]$ cat fen.sh #!/bin/sh ssh-copy-id -i ~/.ssh/id_rsa.pub centos@hadoop1 ssh-copy-id -i ~/.ssh/id_rsa.pub centos@hadoop2 ssh-copy-id -i ~/.ssh/id_rsa.pub centos@hadoop3   #上述只是在执行的时候会输入yes和系统用户密码,其他在执行的时候就不会再次输入密码了。执行SSH的目的是,比如在配置好完全分布式的时候,主节点会自动吊起从节点的日志并且往里面写入数据,此时SSH的密钥对就起作用了。   #经常碰到的坑,要配置三台机器家目录中.ssh的权限为700,而且要配置家目录中.ssh目录中的authorized_keys权限为644. [centos@hadoop1 ~]$ chmod 700 .ssh [centos@hadoop1 ~]$ chmod 644  .ssh/authorized_keys     三、重点的配置文件内容   #三台机器共同配置 [centos@hadoop1 ~]$ grep JAVA_HOME download/hadoop/etc/hadoop/hadoop-env.sh # The only required environment variable isJAVA_HOME.  All others are # set JAVA_HOME in this file, so that it iscorrectly defined on export JAVA_HOME=/home/centos/download/jdk   #JAVA环境变量要在这再配置一下   [centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/core-site.xml                        fs.defaultFS                hdfs://hadoop1           [centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/hdfs-site.xml                        dfs.replication                 2#副本数,对应从节点数           [centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/mapred-site.xml                        mapreduce.framework.name                 yarn             [centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/yarn-site.xml                        yarn.resourcemanager.hostname                hadoop1                                yarn.nodemanager.aux-services                mapreduce_shuffle           #注意这里只配置从节点的域名 [centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/slaves hadoop2 hadoop3     四、启动hadoop   #下述命令只在主节点hadoop1中执行! #首先执行格式化命令 [centos@hadoop1 ~]$ hadoop namenode -format   #然后启动hadoop [centos@hadoop1 ~]$ start-all.sh   #查看启动进程 #主节点执行,名称节点只会存在于主节点中,包括文件名称等内容。 [centos@hadoop1 ~]$ jps 2736 SecondaryNameNode 2961 Jps 2889 ResourceManager 2539 NameNode    #从节点执行,数据节点只会存在于从节点,是真正存放数据的地方。 [centos@hadoop2 ~]$ jps 2322 NodeManager 2234 DataNode 2380 Jps   [centos@hadoop3 ~]$ jps 2481 DataNode 2646 Jps 2569 NodeManager     #临时文件都生成在了根目录下的/tmp目录下 [centos@hadoop1 ~]$ ll /tmp/ total 32 drwxrwxr-x 3 centos centos 4096 May 1414:05 hadoop-centos -rw-rw-r-- 1 centos centos    5 May 14 14:06 hadoop-centos-namenode.pid -rw-rw-r-- 1 centos centos    5 May 14 14:06hadoop-centos-secondarynamenode.pid drwxr-xr-x 2 centos centos 4096 May 1414:06 hsperfdata_centos drwxrwxr-x 3 centos centos 4096 May 1414:06 Jetty_0_0_0_0_50070_hdfs____w2cu08 drwxrwxr-x 3 centos centos 4096 May 1414:06 Jetty_0_0_0_0_50090_secondary____y6aanv drwxrwxr-x 4 centos centos 4096 May 1414:06 Jetty_hadoop1_8088_cluster____.jtly5k -rw-rw-r-- 1 centos centos    5 May 14 14:06yarn-centos-resourcemanager.pid

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

专注于为中小企业提供成都网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业忻府免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
本文名称:Hadoop完全分布式配置-创新互联
本文URL:http://cdxtjz.cn/article/eooci.html

其他资讯