手记

单机搭建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=staticONBOOT=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/javaexport PATH=${JAVA_HOME}/bin:$PATHexport 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.1export HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport 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 文件

<configuration>
        <property>
                 <name>hadoop.tmp.dir</name>
                 <value>file:/usr/local/hadoop/tmp</value>
                 <description>Abase for other temporary directories.</description>
         </property>
         <property>
                  <name>fs.defaultFS</name>
                  <value>hdfs://**你的ip地址**:9000</value>
          </property></configuration>

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

<configuration>
          <property>
                   <name>dfs.replication</name>
                   <value>1</value>
          </property>
          <property>
                    <name>[dfs.namenode.name](http://dfs.namenode.name/).dir</name>
                    <value>file:/usr/local/hadoop/tmp/dfs/name</value>
          </property>
          <property>
                     <name>dfs.datanode.data.dir</name>
                     <value>file:/usr/local/hadoop/tmp/dfs/data</value>
          </property></configuration>

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

./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 文件添加以下:

<property>
  <name>mapred.job.tracker.http.address</name>
  <value>主机的IP:50030</value></property><property>
  <name>mapred.task.tracker.http.address</name>
  <value>主机的IP:50060</value></property>

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

<property>
         <name>dfs.http.address</name>
         <value>0.0.0.0:50070</value></property>

即可成功打开web界面。

url为 :       虚拟机ip:50070


hadoop的Web UI

最后可以开启YARN

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

<configuration>
    <property>
          <name>[mapreduce.framework.name](http://mapreduce.framework.name/)</name>
          <value>yarn</value>
    </property></configuration>

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

<configuration>
         <property>
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>
          </property></configuration>

然后执行:

./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



作者:AceCream佳
链接:https://www.jianshu.com/p/bcb2f77d90e8


0人推荐
随时随地看视频
慕课网APP