Ubuntu配置hadoop伪分布式

1. 设置免密登录

    伪分布式搭建过程中会涉及各种管理员权限,一次一次输入密码太过麻烦,我们要求各集群间免密码连接

sudo apt-get install openssh-server   #安装openssh-server

ssh localhost            #连接到主机

exit                           # 退出刚才的 ssh localhost
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

    此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了,如下图所示。

2. 安装Java环境

见前文

3. 安装 Hadoop

安装配置见前文

4. 伪分布式配置

    Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。
    Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/中,伪分布式需要修改2个配置文件 core-site.xmlhdfs-site.xml。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

I. 修改core-site.xml

    主要设置tmp的路径和站点,我的hadoop安装路径是/usr/local/hadoop,大家根据个人情况配置


    
        hadoop.tmp.dir
        file:/usr/local/hadoop/tmp
        Abase for other temporary directories.
    
    
        fs.defaultFS
        hdfs://localhost:9000
    

II. 修改hdfs-site.xml

    reliication指定副本数,默认3个,伪分布式虽然只需要配置fs.defaultFSdfs.replication就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dirdfs.datanode.data.dir,否则在接下来的步骤中可能会出错。


    
        dfs.replication
        1
    
    
        dfs.namenode.name.dir
        file:/usr/local/hadoop/tmp/dfs/name
    
    
        dfs.datanode.data.dir
        file:/usr/local/hadoop/tmp/dfs/data
    

5. NameNode 的格式化:

    建议大家可以把hadoop环境变量配置在~/.bashrc中,以后执行命令式不用每次到bin下或者使用绝对路径
    格式化之后系统会读取配置文件,在指定路径下生成对应文件,具体变化可以前往日志文件中查看。

./bin/hdfs namenode -format

    如果运行结果中出现/dfs/name has been successfully formatted等字眼或者Exiting with status 0表示成功,linux当中0表示True,否则可能是配置有问题,需要重新编写并格式化(不推荐直接重新格式化,实在需要操作的话尽量先删除之前的数据)

O)V5YD2HV}I)@5W([email protected]

6. 开启 NameNode 和 DataNode 守护进程。

可以通过start-dfs.sh直接执行,也可以通过 sbin/hadoop-daemon.sh start name执行

./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

7. 启动情况查看 :jps

    如果发现DataNode未能启动,可以尝试重启进程或者sbin/hadoop-daemon.sh start datanode手动打开,如果二者过程中皆有异常抛出,建议删除文件重新配置

[M1KEZJ]FGH.png

8. 浏览器查看信息

    成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

1.png

9. YARN

    YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度。YARN 运行于 MapReduce 之上,提供了高可用性、高扩展性,
    上述通过 ./sbin/start-dfs.sh 启动 Hadoop,仅仅是启动了 MapReduce 环境,我们可以启动 YARN ,让 YARN 来负责资源管理与任务调度。

  • (伪分布式不启动 YARN 也可以,一般不会影响程序执行)

I. 修改mapred-site.xml

    首先修改配置文件 mapred-site.xml,这边需要先进行重命名(在hadoop根目录下)

#重命名
mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml

#编辑文件配置
vi ./etc/hadoop/mapred-site.xml


    
        mapreduce.framework.name
        yarn
    

II. 配置yarn-site.xml

#编辑文件配置
vi  ./etc/hadoop/yarn-site.xml


    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
        

III. 启动yarn

./sbin/start-yarn.sh      # 启动YARN
./sbin/mr-jobhistory-daemon.sh start historyserver  # 开启历史服务器,才能在Web中查看任务运行情况

IV. 关闭yarn

./sbin/stop-yarn.sh
./sbin/mr-jobhistory-daemon.sh stop historyserver

10. 利用yarn查看任务运行

    启动 YARN 之后,运行实例的方法还是一样的,仅仅是资源管理方式、任务调度不同。观察日志信息可以发现,不启用 YARN 时,是 “mapred.LocalJobRunner”在跑任务,启用 YARN 之后,是 “mapred.YARNRunner”在跑任务。启动 YARN 有个好处是可以通过 Web 界面查看任务的运行情况:


0.jpg

你可能感兴趣的:(Ubuntu配置hadoop伪分布式)