0


大数据之安装Hadoop单机伪分布(新手上路必备)三

1,安装vmware虚拟机,Linux版本可以自行选择

2,安装ubuntu虚拟机

2.1 下载iso镜像  百度搜索  中国镜像站  随便哪个网页都可以,各大公司,各大高校;
 2.2 安装ubuntu虚拟机;

3,hadoop的安装模式

官方帮助文档https://hadoop.apache.org/docs/r2.7.7/hadoop-project-dist/hadoop-common/SingleCluster.html#Standalone_Operation

3.1 单机模式

    安装在一台服务器上
     没有启动完整的功能
     用于开发和调试 MapReduce 程序

3.2单机伪分布式模式(学习环境)

    安装在一台服务器上
     启动全部功能
     所有功能集中在一台服务器上

3.3 分布式集群模式(企业生产环境)

    安装在成千上万台服务器上
     启动全部的功能
     不同功能,分布在不同的服务器

3.1 单机模式

3.1.1 安装xshell,实现远程连接虚拟机

    1,虚拟机必须可以和win进行通信,在xshell页面使用ping命令,ping    虚拟机ip地址。
     2,ssh   root@虚拟机ip地址

3.1.2 创建hadoop用户

 [root@server ~]#systemctl  stop  firewalld   #停止防火墙服务    
        [root@server ~]# useradd   hadoop
        [root@server ~]# passwd   hadoop         #配置hadoop密码
        [root@server ~]# vim /etc/sudoers         #给hadoop配置超级用户权限
        108 hadoop ALL=(ALL)   ALL        
        [root@server ~]#su  -  hadoop             #切换至hadoop用户
        [hadoop@server ~]$   rz      #准备jdk安装包
        [hadoop@server ~]$ sudo  tar  -zxf  jdk-8u212-linux-x64.tar.gz   -C   /usr/local/    #解压jdk软件包,第一次使用sudo需要输入hadoop密码
        [hadoop@server ~]$ ls /usr/local/        #确认有jdk1.8.0_212目录
        [hadoop@server ~]$ vim  .bashrc
         12 export JAVA_HOME=/usr/local/jdk1.8.0_212/
         13 export JRE_HOME=${JAVA_HOME}/jre
         14 export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib
         15 export PATH=${JAVA_HOME}/bin:$PATH
        [hadoop@server ~]$ source     .bashrc        #使配置文件生效
        [hadoop@server ~]$ java     -version        #确认jdk环境配置正确
                java version "1.8.0_212"
        [hadoop@server ~]$ rz  hadoop软件包          #上传hadoop软件包
        [hadoop@server ~]$ sudo tar -zxf hadoop-2.7.7.tar.gz  -C /usr/local    #解压至指定目录
        [hadoop@server ~]$sudo    mv /usr/local/hadoop-2.7.7   /usr/local/hadoop/    #重命名
        [hadoop@server ~]$ sudo  chown  -R   hadoop:hadoop    /usr/local/hadoop     #修改文件的所有者所属组为hadoop用户
            
        [hadoop@server ~]$ cd /usr/local/hadoop/            #切换至hadoop安装目录
        [hadoop@server hadoop]$ pwd
                /usr/local/hadoop
        [hadoop@server hadoop]$ mkdir   input                 #创建一个空目录
        [hadoop@server hadoop]$ cp  etc/hadoop/*.xml   input/        #准备一些文件
        #在一堆文件里查找出以dfs开头的内容   正则表达式
        [hadoop@server hadoop]$  ./bin/hadoop   jar    ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar   grep   input/     output  "dfs[a-z]+"     
        [hadoop@server hadoop]$  ls  -l   output                   #查看自动生成的output目录,
        -rw-r--r--. 1 hadoop hadoop 10009 6月   1 00:57 part-r-00000        #存储查询结果,    
        -rw-r--r--. 1 hadoop hadoop     0 6月   1 00:57 _SUCCESS        #一个标签文件,没有任何内容
        [hadoop@server hadoop]$ cat   output/part-r-00000        #查看结果
        #统计单词出现的次数
        [hadoop@server hadoop]$  rm   -rf    output              #删除output目录
        #统计input目录里的文件的每个单词出现的次数,输出到output目录中去
        [hadoop@server hadoop]$ ./bin/hadoop   jar   ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar     wordcount   input/    output   
        [hadoop@server hadoop]$ cat   output/part-r-00000

3.2单机伪分布式模式(学习环境)

3.2.1 先实现免密登录

        - 生成秘钥对
            [hadoop@server ~]$ ssh-keygen          #一直回车
            [hadoop@server ~]$ssh-copy-id     hadoop@localhost    #将公钥发送给服务器
            [hadoop@server ~]$ssh  hadoop@localhost    #可以实现无密码登录

     3.2.2修改配置文件
[hadoop@server hadoop]$ cd    /usr/local/hadoop

[hadoop@server hadoop]$ vim   ./etc/hadoop/core-site.xml
#指定hadoop运行时的临时目录位置
<configuration>
<property>
    <name>hadoop.tmp.dir</name>                    
    <value>file:/usr/local/hadoop/tmp</value>
</property>
#hadoop默认的hdfs命名,指定url地址为本地,端口为9000
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
</configuration>
            
[hadoop@server hadoop]$vim  etc/hadoop/hdfs-site.xml
<configuration>
#指定hdfs的数据块副本个数,默认3个
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
#确定dfs名称节点在本地文件系统中存储名称表(fsimage)的位置
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/tmp/dir/name</value>
</property>
#确定dfs数据节点在本地文件系统上存储块数据的位置
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/tmp/dir/data</value>
</property>
</configuration>
[hadoop@server hadoop]$./bin/hdfs namenode -format        #格式化文件系统

3.2.4 启动hdfs服务

    [hadoop@server hadoop]$ ./sbin/start-dfs.sh
     [hadoop@server hadoop]$ jps            #查看确认服务启动成功,前面数字代表进程id号,后面是服务名
     9616         DataNode
     10704         Jps
     9812        SecondaryNameNode
     9511         NameNode

     3.2.5 准备文件进行测试
 [hadoop@localhost hadoop]$ ./bin/hdfs   dfs   -mkdir    -p   /user/hadoop/input         #创建目录
[hadoop@localhost hadoop]$ vim  a.txt                        #准备一个普通文件,
[hadoop@localhost hadoop]$ ./bin/hdfs   dfs  -put  a.txt  /user/hadoop/input        #上传文件至分布式文件系统中
[hadoop@localhost hadoop]$ ./bin/hdfs  dfs  -ls  /user/hadoop/input            #确认文件上传成功
[hadoop@localhost hadoop]$ ./bin/hadoop jar    ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar     wordcount    /user/hadoop/input    /user/hadoop/output
[hadoop@localhost hadoop]$ ./bin/hdfs dfs    -ls    -R    /user/hadoop/            #查看分布式文件系统上的目录
[hadoop@localhost hadoop]$./bin/hdfs  dfs   -cat    /user/hadoop/output/part-r-00000    #查看执行结果

     3.2.6 可以以页面的方式查看文件系统的目录结构        #不是必须的

    浏览器输入http://ip地址:50070 访问       

本文转载自: https://blog.csdn.net/m0_57254949/article/details/123843959
版权归原作者 专注bug20年! 所有, 如有侵权,请联系我们删除。

“大数据之安装Hadoop单机伪分布(新手上路必备)三”的评论:

还没有评论