大数据之安装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 访问       

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大马猴写bug

您的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值