Hadoop-完全分布式安装步骤


安装JDK

[server@hadoop102 software]$ tar -zxvf jdk-8u65-linux-x64.tar.gz -C /opt/module/
[server@hadoop102 software]$ cd /opt/module/
[server@hadoop102 module]$ cd jdk1.8.0_65/
[server@hadoop102 jdk1.8.0_65]$ pwd
/opt/module/jdk1.8.0_65
[server@hadoop102 software]$ cd /opt/module/
[server@hadoop102 module]$ cd jdk1.8.0_65/
[server@hadoop102 jdk1.8.0_65]$ pwd
/opt/module/jdk1.8.0_65
[server@hadoop102 profile.d]$ sudo vim my_env.sh
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
[server@hadoop102 profile.d]$ source /etc/profile

安装Hadoop

[server@hadoop102 profile.d]$ cd /opt/software/
[server@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
[server@hadoop102 software]$ cd /opt/module/hadoop-3.1.3/
[server@hadoop102 hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3
[server@hadoop102 hadoop-3.1.3]$ sudo vim /etc/profile.d/my_env.sh 
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP
export HADOOP_HOME=/opt/module/hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
[server@hadoop102 hadoop-3.1.3]$ source /etc/profile
[server@hadoop102 hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3
[server@hadoop102 hadoop-3.1.3]$ mkdir wcinput
[server@hadoop102 hadoop-3.1.3]$ cd wcinput/
[server@hadoop102 wcinput]$ vim word.txt
hadoop yarn
hadoop mapreduce
server
server
[server@hadoop102 wcinput]$ cd ..
[server@hadoop102 hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3
[server@hadoop102 module]$ scp -r jdk1.8.0_65/ server@hadoop103:/opt/module/
The authenticity of host 'hadoop103 (192.168.100.103)' can't be established.
ECDSA key fingerprint is SHA256:UiwjKSR7xNbDOtrjmdcTRAPJ+4XpLhq324M3gwLV4QQ.
ECDSA key fingerprint is MD5:68:ee:49:6c:67:a9:44:05:b6:ad:f3:09:53:d0:17:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop103,192.168.100.103' (ECDSA) to the list of known hosts.
server@hadoop103's password: 
[server@hadoop103 module]$ scp -r server@hadoop102:/opt/module/hadoop-3.1.3/ ./
The authenticity of host 'hadoop102 (192.168.100.102)' can't be established.
ECDSA key fingerprint is SHA256:UiwjKSR7xNbDOtrjmdcTRAPJ+4XpLhq324M3gwLV4QQ.
ECDSA key fingerprint is MD5:68:ee:49:6c:67:a9:44:05:b6:ad:f3:09:53:d0:17:48.
Are you sure you want to continue connecting (yes/no)? yes
[server@hadoop103 ~]$ scp -r server@hadoop102:/opt/module/* server@hadoop104:/opt/module/
server@hadoop102's password: 
server@hadoop104's password: 

编写分发脚本

[server@hadoop102 ~]$ pwd
/home/server
[server@hadoop102 ~]$ mkdir bin
[server@hadoop102 ~]$ cd bin
[server@hadoop102 bin]$ pwd
/home/server/bin
[server@hadoop102 bin]$ vim xsync
#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
        echo Not Enough Argument!
        exit;
fi

#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
        echo =======  $host  ======
        #3. 遍历所有目录,挨个发送
 
        for file in $@
        do
                #4. 判断文件是否存在
                if [ -e $file ]
                        then
                                #5. 获取父目录
                                pdir=$(cd -P $(dirname $file);pwd)

                                #6. 获取当前文件的名称
                                fname=$(basename $file)
                                ssh $host "mkdir -p $pdir"
                                rsync -av $pdir/$fname $host:$pdir
                        else
                                echo $file does not exits!
                fi
        done
done

[server@hadoop102 bin]$ chmod 777 xsync
[server@hadoop102 bin]$ cd ..
[server@hadoop102 ~]$ pwd
/home/server
[server@hadoop102 ~]$ xsync bin
[server@hadoop102 ~]$ sudo ./bin/xsync /etc/profile.d/my_env.sh 
[server@hadoop103 ~]$ source /etc/profile
[server@hadoop104 ~]$ source /etc/profile

配置ssh免密

[server@hadoop102 .ssh]$ pwd
/home/server/.ssh
[server@hadoop102 .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/server/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/server/.ssh/id_rsa.
Your public key has been saved in /home/server/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:mrBuH90QRmLXNINEjiq4uR1B8o2kCLr0ex/yoSHMqrY server@hadoop102
The key's randomart image is:
+---[RSA 2048]----+
|      oo=++      |
|     . *. .o     |
|o o   . +        |
|+B o . . .       |
|=.= +   S        |
|.++o o + o       |
|+ .=.o+o. .      |
| +.o+.=.o        |
|=Eoooooo         |
+----[SHA256]-----+

[server@hadoop102 .ssh]$ ssh-copy-id hadoop103
[server@hadoop102 .ssh]$ ssh-copy-id hadoop104
[server@hadoop102 .ssh]$ ssh-copy-id hadoop102
[server@hadoop103 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/server/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/server/.ssh/id_rsa.
Your public key has been saved in /home/server/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:S4zSSMvPjybYQV5jC0yLNHsVVsthUoEkUgIu/yXPGWE server@hadoop103
The key's randomart image is:
+---[RSA 2048]----+
|..o.o.==*.       |
|. oo.oo+ o       |
|.o *.oE o        |
|..oo*=++         |
|  .+*+=oS        |
|   .oO.+ .       |
|   o..* .        |
|  . o .o         |
|     o. .        |
+----[SHA256]-----+
[server@hadoop103 ~]$ ssh-copy-id hadoop102
[server@hadoop103 ~]$ ssh-copy-id hadoop103
[server@hadoop103 ~]$ ssh-copy-id hadoop104

[server@hadoop104 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/server/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/server/.ssh/id_rsa.
Your public key has been saved in /home/server/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:TS8Q71wHQEQ9MFKyXOq+pSeBT8tek13kS3rVON0/AHU server@hadoop104
The key's randomart image is:
+---[RSA 2048]----+
|        +=X+.. E |
|       . O .+..  |
|        = o...o  |
|       . * o.+ oo|
|       .S = ..* =|
|      ..o  + +.+.|
|       +.o= o o..|
|        ==.. .  .|
|       .+o       |
+----[SHA256]-----+
[server@hadoop104 ~]$ ssh-copy-id hadoop102
[server@hadoop104 ~]$ ssh-copy-id hadoop103
[server@hadoop104 ~]$ ssh-copy-id hadoop104

[server@hadoop102 .ssh]$ su root
密码:
[root@hadoop102 .ssh]# ssh-keygen -t rsa
[root@hadoop102 .ssh]# ssh-copy-id hadoop102
[root@hadoop102 .ssh]# ssh-copy-id hadoop103
[root@hadoop102 .ssh]# ssh-copy-id hadoop104
[server@hadoop103 ~]$ su root
密码:
[root@hadoop103 server]# ssh-keygen -t rsa
[root@hadoop103 server]#  ssh-copy-id hadoop102
[root@hadoop103 server]#  ssh-copy-id hadoop103
[root@hadoop103 server]#  ssh-copy-id hadoop104
[server@hadoop104 ~]$ su root
密码:
[root@hadoop104 server]#  ssh-keygen -t rsa
[root@hadoop104 server]# ssh-copy-id hadoop102
[root@hadoop104 server]# ssh-copy-id hadoop103
[root@hadoop104 server]# ssh-copy-id hadoop104

[root@hadoop102 hadoop]# su server
[server@hadoop102 hadoop]$ pwd
/opt/module/hadoop-3.1.3/etc/hadoop
[server@hadoop102 hadoop]$ vim core-site.xml 
   
               fs.defaultFS
               hdfs://hadoop102:8020
   
   
            hadoop.tmp.dir
            /opt/module/hadoop-3.1.3/data 
   
   
            hadoop.http.staticuser.user
            server 
   
[server@hadoop102 hadoop]$ vim hdfs-site.xml
    
            dfs.namenode.http-address
            hadoop102:9870
    
    
            dfs.namenode.secondary.http-address
            hadoop104:9868
    
[server@hadoop102 hadoop]$ vim yarn-site.xml
        
                yarn.nodemanager.aux-services
                mapreduce_shuffle
        
        
                yarn.resourcemanager.hostname
                hadoop103
        
        
                yarn.nodemanager.vmem-check-enabled
                false
        
        
                yarn.nodemanager.env-whitelist
                JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
        
[server@hadoop102 hadoop]$ vim mapred-site.xml 
        
              mapreduce.framework.name
              yarn
       
[server@hadoop102 etc]$ pwd
/opt/module/hadoop-3.1.3/etc
[server@hadoop102 etc]$ xsync hadoop/
[server@hadoop102 hadoop]$ pwd
/opt/module/hadoop-3.1.3/etc/hadoop
[server@hadoop102 hadoop]$ vim workers 
hadoop102
hadoop103
hadoop104
[server@hadoop102 hadoop]$ xsync workers 
[server@hadoop102 hadoop]$ pwd
/opt/module/hadoop-3.1.3/etc/hadoop
[server@hadoop102 hadoop]$ vim hadoop-env.sh
export HADOOP_CLIENT_OPTS="-Xmx512m"
[server@hadoop102 hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3
[server@hadoop102 hadoop-3.1.3]$ ll
总用量 176
drwxr-xr-x. 2 server server    183 9月  12 2019 bin
drwxr-xr-x. 3 server server     20 9月  12 2019 etc
drwxr-xr-x. 2 server server    106 9月  12 2019 include
drwxr-xr-x. 3 server server     20 9月  12 2019 lib
drwxr-xr-x. 4 server server    288 9月  12 2019 libexec
-rw-rw-r--. 1 server server 147145 9月   4 2019 LICENSE.txt
-rw-rw-r--. 1 server server  21867 9月   4 2019 NOTICE.txt
-rw-rw-r--. 1 server server   1366 9月   4 2019 README.txt
drwxr-xr-x. 3 server server   4096 9月  12 2019 sbin
drwxr-xr-x. 4 server server     31 9月  12 2019 share
drwxrwxr-x. 2 server server     22 7月  31 16:59 wcinput
drwxr-xr-x. 2 server server     88 7月  31 17:06 wcoutput
[server@hadoop102 hadoop-3.1.3]$ hdfs namenode -format
[server@hadoop102 hadoop-3.1.3]$ ll
总用量 176
drwxr-xr-x. 2 server server    183 9月  12 2019 bin
drwxrwxr-x. 3 server server     17 8月   2 22:22 data
drwxr-xr-x. 3 server server     20 9月  12 2019 etc
drwxr-xr-x. 2 server server    106 9月  12 2019 include
drwxr-xr-x. 3 server server     20 9月  12 2019 lib
drwxr-xr-x. 4 server server    288 9月  12 2019 libexec
-rw-rw-r--. 1 server server 147145 9月   4 2019 LICENSE.txt
drwxrwxr-x. 2 server server     39 8月   2 22:22 logs
-rw-rw-r--. 1 server server  21867 9月   4 2019 NOTICE.txt
-rw-rw-r--. 1 server server   1366 9月   4 2019 README.txt
drwxr-xr-x. 3 server server   4096 9月  12 2019 sbin
drwxr-xr-x. 4 server server     31 9月  12 2019 share
drwxrwxr-x. 2 server server     22 7月  31 16:59 wcinput
drwxr-xr-x. 2 server server     88 7月  31 17:06 wcoutput
[server@hadoop102 current]$ pwd
/opt/module/hadoop-3.1.3/data/dfs/name/current
[server@hadoop102 current]$ cat VERSION 
#Mon Aug 02 22:22:25 CST 2021
namespaceID=1302361015
clusterID=CID-d0018180-104d-4046-a57a-4404cceec25d
cTime=1627914145631
storageType=NAME_NODE
blockpoolID=BP-642981798-192.168.100.102-1627914145631
layoutVersion=-64
[server@hadoop102 cu
[server@hadoop102 hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3
[server@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh 
Starting namenodes on [hadoop102]
Starting datanodes
hadoop103: WARNING: /opt/module/hadoop-3.1.3/logs does not exist. Creating.
hadoop104: WARNING: /opt/module/hadoop-3.1.3/logs does not exist. Creating.
Starting secondary namenodes [hadoop104]
[server@hadoop102 hadoop-3.1.3]$ jps
9849 DataNode
10122 Jps
9740 NameNode
[server@hadoop103 hadoop]$ jps
9249 DataNode
9321 Jps
[server@hadoop104 ~]$ jps
9410 Jps
9365 SecondaryNameNode
9254 DataNode

http://hadoop102:9870/

[server@hadoop103 hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3
[server@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh
Starting resourcemanager
Starting nodemanagers
[server@hadoop103 hadoop-3.1.3]$ jps
9249 DataNode
9698 Jps
9603 NodeManager
9496 ResourceManager

http://hadoop103:8088

[server@hadoop102 hadoop-3.1.3]$ hadoop fs -mkdir /wcinput
[server@hadoop102 hadoop-3.1.3]$ hadoop fs -put wcinput/word.txt /wcinput
2021-08-02 22:37:55,591 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false

[server@hadoop104 subdir0]$ pwd
/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-642981798-192.168.100.102-1627914145631/current/finalized/subdir0/subdir0
[server@hadoop104 subdir0]$ ll
总用量 8
-rw-rw-r--. 1 server server 43 8月   2 22:37 blk_1073741825
-rw-rw-r--. 1 server server 11 8月   2 22:37 blk_1073741825_1001.meta
[server@hadoop104 subdir0]$ cat blk_1073741825
hadoop yarn
hadoop mapreduce
server
server
[server@hadoop103 subdir0]$ pwd
/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-642981798-192.168.100.102-1627914145631/current/finalized/subdir0/subdir0
[server@hadoop103 subdir0]$ ll
总用量 8
-rw-rw-r--. 1 server server 43 8月   2 22:37 blk_1073741825
-rw-rw-r--. 1 server server 11 8月   2 22:37 blk_1073741825_1001.meta
[server@hadoop103 subdir0]$ cat blk_1073741825
hadoop yarn
hadoop mapreduce
server
server
[server@hadoop102 hadoop-3.1.3]$ cd /opt/module/hadoop-3.1.3/data/dfs/data/current/BP-642981798-192.168.100.102-1627914145631/current/finalized/subdir0/subdir0
[server@hadoop102 subdir0]$ ll
总用量 8
-rw-rw-r--. 1 server server 43 8月   2 22:37 blk_1073741825
-rw-rw-r--. 1 server server 11 8月   2 22:37 blk_1073741825_1001.meta
[server@hadoop102 subdir0]$ cat blk_1073741825
hadoop yarn
hadoop mapreduce
server
server
[server@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /wcoutput


你可能感兴趣的:(Hadoop-完全分布式安装步骤)