单机搭建Hadoop3环境为CentOS7/JDK1.8

在一切开始之前给用户建议设置一下权限,减少后面权限引发的问题

visudo

找到 root ALL=(ALL) ALL

在这一行下添加一条 比如 : hadoop ALL=(ALL)ALL

保存之后,注销一下用户,再登录回来。

1.虚拟机CentOS设置静态ip

主要有三点:

  • 1.设置成NAT模式

通过 虚拟网络编辑器→ NAT模式→ NAT设置,看一下网关号,比如192.168.21.2

子网IP设置一下192.168.21.0

前两位和自己本机一样就行。

  • 2.修改配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eno***

在里面修改:

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.21.xx  #(xx自己定义)

GATEWAY=192.168.21.2  #(网关号和之前的网关相同)

DNS1=192.168.21.2  #(DNS1和网关相同)

然后修改配置文件 /etc/resolv.conf

nameserver 192.168.21.2 (和网关相同)

最后执行

service network restart 

试试可不可以ping通外网,再试试外面可不可以ping进来

2.配Java环境

java -version

发现有jdk环境,建议删掉

rpm -qa | grep java

搜到了很多

用 指令把他们删除掉

rpm -e --nodeps 后面加上你要删除的

再执行

java -version

发现没有环境了,就可以配置自己下载的jdk了。将tar包复制到某目录下 例如: /opt/soft/

执行 tar -zxvf 安装包名 进行解压

建议改文件夹的名,因为带着版本号不好写环境变量 弄好了之后就是 /opt/soft/java

执行shell vim /etc/profile 在末尾增加java的环境变量

export JAVA_HOME=/opt/soft/java
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

执行 source /etc/profile 使环境变量生效

这里注意一点,每次打开终端都要执行source profile使我们环境变量生效,所以很烦,建议做以下步骤

执行vim /etc/bashrc

在末尾追加

source /etc/profile   

并保存

执行

java -version
java 环境

出现版本号,证明配置成功。

3.Hadoop安装

先去官网下载个hadoop的tar包,bin的就行

然后类似java的安装,我是拷贝到 /opt/soft/ 目录下

然后解压缩

4.Hadoop配置环境变量

执行vim /etc/profile
在末尾增加hadoop的环境变量 例如:

export HADOOP_HOME=/opt/soft/hadoop-3.1.1
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

(注意修改路径)

执行source /etc/profile

执行hadoop version

hadoop 版本

有版本信息提示的效果,证明成功了

5.配SSH

建议先配一下ssh,就可以免密码登录。

分别执行:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

6.Hadoop配置文件

Hadoop的配置文件在 hadoop 根目录下的etc/hadoop/ 目录里

以下文件都在那个目录!!!配置中记得注意自己的hadoop目录!!!!注意修改自己的ip和端口!!!!!

先修改 core-site.xml 文件


        
                 hadoop.tmp.dir
                 /usr/local/hadoop/tmp
                 Abase for other temporary directories.
         
         
                  fs.defaultFS
                  hdfs://**你的ip地址**:9000
          

!!!说明一下,tmp.dir下面value下的路径要自己配置好,这个是自定义的,不要盲目粘贴!它是hadoop文件系统依赖的基本配置,很多配置路径都依赖它!

再修改**hdfs-site.xml **文件


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

!!!同理这俩路径也是要自己配置好的!
name.dir是namenode的信息,data.dir是datanode的信息,不要乱写!!
官方是这么解释的:

  • name.dir:这个参数用于确定将HDFS文件系统的元信息保存在什么目录下。
    如果这个参数设置为多个目录,那么这些目录下都保存着元信息的多个备份。
  • data/dir: 这个参数用于确定将HDFS文件系统的数据保存在什么目录下。
    我们可以将这个参数设置为多个分区上目录,即可将HDFS建立在不同分区上。

配置好之后,执行一下,格式化命令

./bin/hdfs namenode -format

然后执行一下namenode和datanode的守护进程

./sbin/start-dfs.sh

成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。

查看是否成功可以通过两个方面去看,一个是上面的办法,还有一个是执行 jps 命令

应该出现NameNode、DataNode、SecondaryNameNode ,如果没有则检查配置文件并尝试重新格式化并启动。

执行 jps 查看是否启动守护进程

红色圈出部分

当然如果启动后 localhost:50070 不出现web界面,则通过以下方式检测:

执行 netstat -ant

如 50070 没启动,尝试修改配置文件:

mapred-site.xml 文件添加以下:


  mapred.job.tracker.http.address
  主机的IP:50030


  mapred.task.tracker.http.address
  主机的IP:50060

hdfs-site.xml文件添加以下:


         dfs.http.address
         0.0.0.0:50070

即可成功打开web界面。

url为 : 虚拟机ip:50070


hadoop的Web UI

最后可以开启YARN

mapred-site.xml 文件添加以下:


    
          mapreduce.framework.name
          yarn
    

yarn-site.xml 文件添加以下:


         
                 yarn.nodemanager.aux-services
                 mapreduce_shuffle
          

然后执行:

./sbin/start-yarn.sh

即可看到resourcemanager和nodemanagers在启动

执行命令:

./sbin/mr-jobhistory-daemon.sh start historyserver

即可开启历史服务器

ok,执行jps可以看到ResourceManager和NodeManagers


jps查看

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


查看任务运行情况web ui

你可能感兴趣的:(单机搭建Hadoop3环境为CentOS7/JDK1.8)