Hadoop开发环境搭建

0、修改hostname

1)修改/etc/hosts:

192.168.184.130 luozheng.bigdata

2)修改/etc/hostname

luozheng.bigdata

3)添加或是修改/etc/sysconfig/network

# Created by anaconda
NETWORKING=yes
HOSTNAME=luozheng.bigdata

重启查看是否修改OK


image.png

4)修改win10的host文件:

192.168.184.130 luozheng.bigdata

win10 ping一下:


image.png

1、java环境配置,因为centos自带就有java环境,我们先卸载掉这个环境,然后进行重装。

1)对现有的java环境进行卸载

先通过rpm 命令来查看下当前的java安装包:


image.png
2)然后通过rpm进行安装包的卸载,先不管,卸载干净再说
image.png
3)下载jdk,解压缩,配置环境变量,在/etc/profile中添加配置:
export JAVA_HOME=/home/luozheng/tools/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

执行命令java -version,查看是否配置成功

4)hello hadoop

到官网上下载对应的Hadoop开发包,按照document进行环境测试。我下载的是3.0.1版本,所以对应的文档在这里

5)hadoop部署模式一:本地模式,数据来源于本地文件

这种方式比较简单,按照官方文档一步一步来即可。

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.1.jar grep input output 'dfs[a-z.]+'

对于这个命令,前部分不解释,主要说下grep后面,这里的grep是hadoop-mapreduce-examples-3.0.1.jar里面的功能,不是Linux本身的功能,虽然他们的功能是一致的,对于hadoop-mapreduce-examples-3.0.1.jar,其还有其他的一些功能如下:


image.png
6)hadoop部署模式二:单节点模式,数据来源于hdfs

首先是配置文件修改:
core-site.xml:



    
        fs.defaultFS
        hdfs://luozheng.bigdata:8020
    

    
        hadoop.tmp.dir
        /home/luozheng/hadoop/tmp
    
    

hdfs-site.xml:



    
      dfs.http.address
      luozheng.bigdata:50070
    

    
        dfs.replication
        1
    


节点格式化:

bin/hdfs namenode -format

namenode和datanode启动:

sbin/start-dfs.sh

在这一步出现错误1:

image.png

要添加对应的操作账号,修改start-dfs.sh和stop-dfs.sh,加入如下内容:

HDFS_DATANODE_USER=root 
HDFS_DATANODE_SECURE_USER=HADOOP_SECURE_DN_USER 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root 

出现问题二:

image.png

不能进行免密码登录,按照官网先处理下:
image.png

这里要ssh 本机的hostname。
关闭防火墙:

systemctl stop firewalld.service

解决了以上问题后,执行sbin/start-dfs.sh后查看进程信息如下:


image.png

这个时候通过在浏览器输入:http://[hostname]:50070/就能在浏览器查看了,其中hostname是centos中的hostname,如果在这里依然不能访问50070端口,那修改下/etc/selinux/config :

# This file controls the state of SELinux on the system.  
# SELINUX= can take one of these three values:  
#     enforcing - SELinux security policy is enforced.  
#     permissive - SELinux prints warnings instead of enforcing.  
#     disabled - No SELinux policy is loaded.  
SELINUX=enforcing    
改为  
# This file controls the state of SELinux on the system.  
# SELINUX= can take one of these three values:  
#     enforcing - SELinux security policy is enforced.  
#     permissive - SELinux prints warnings instead of enforcing.  
#     disabled - No SELinux policy is loaded.  
SELINUX=disabled 

hdfs服务搭建后,现在建立相应的目录来存放数据:

bin/hdfs dfs -mkdir -p /user/luozheng

创建完后,在浏览器上就可以看到文件了:


image.png

或者通过命令查看文件:


image.png

创建测试数据存放的路径:


image.png

测试

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.1.jar  wordcount /user/luozheng/testdata /user/luozheng/testdataoutput

结果


image.png
7)hadoop部署模式三,使用YARN管理资源

这个没啥说的,按照官方文档配置下就可以,主要注意点就是要配置下start-yarn.sh和stop-yarn.sh中的账号信息。

YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

启动成功后可以通过jps查看到对应的进程信息:

image.png

在浏览器上通过8088端口也能访问到信息:

你可能感兴趣的:(Hadoop开发环境搭建)