hadoop-1

hadoop安装

环境

域名映射

/etc/hosts

hostnamectl set-hostname slave2

192.168.10.100  master

192.168.10.110  slave1

192.168.10.120   slave2

关闭防火墙。

systemctl stop firewalld

firewall-cmd --state

systemctl disable firewalld

关闭selinux。

getenforce

sed -i 's/enforcing/disabled/g' /etc/selinux/config

setenforce 0

创建普通用户

useradd hadoop

passwd  hadoop

为hadoop用户分配sudoer权限。

vim /etc/sudoers  --- 93行

hadoop  ALL=(ALL)       ALL

使用hadoop用户连接服务器,xshell工具

java环境

wget https://dragonwell.oss-cn-shanghai.aliyuncs.com/8/8.6.5-GA/Alibaba_Dragonwell_8.6.5_GA_Linux_x64.tar.gz

tar  -xvf Alibaba_Dragonwell_8.6.5_GA_Linux_x64.tar.gz

配置环境变量

cat >> ~/.bashrc << EOF

export JAVA_HOME=/home/hadoop/jdk8u282-b1

export PATH=$PATH:$JAVA_HOME/bin

EOF

ssh免密钥登录

ssh-keygen

ssh-copy-id  hostname

伪分布安装

在单台计算机上以多进程的方式运行hadoop集群

192.168.10.100 既是master又是slave

wget https://archive.apache.org/dist/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz

export JAVA_HOME=/home/hadoop/jdk8u282-b1

export HADOOP_HOME=/home/hadoop/hadoop-2.9.2

export PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/hadoop/.local/bin:/home/hadoop/bin:/bin

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

重要的配置文件:

下面简单的描述一下几个重要的配置文件:

  hadoop-env.sh:运行Hadoop要用的环境变量。

  core-site.xml:核心配置项,包括HDFS、MapReduce和YARN常用的I/O设置等。

  hdfs-site.xml:HDFS相关进程的配置项,包括NameNode、SecondaryNameNode、DataNode等。

  yarn-site.xml:YARN相关进程的配置项,包括ResourceManager、NodeManager等。

  mapred-site.xml:MapReduce相关进程的配置项。

  slaves:从节点配置文件,通常每行1个从节点主机名。

  log4j.properties:系统日志、NameNode审计日志、JVM进程日志的配置项。

  Hadoop的配置文件繁多,我们可采用最小配置(6个配置文件),其余文件保留默认即可:

导出JAVA_HOME环境变量:

vim hadoop-env.sh

export JAVA_HOME=/home/hadoop/jdk8u282-b1

vim  core-site.xml。

<configuration>

<property>

         <name>fs.defaultFS</name>

         <value>hdfs://192.168.10.100:9000</value>

</property>

<property>

         <name>hadoop.tmp.dir</name>

         <value>/home/hadoop/hadoop-2.9.2/tmp</value>

</property>

</configuration>

  配置fs.defaultFS指定hadoop所使用的文件系统的URI(统一资源标识符),示例中的URI包含协议(hdfs)、NameNode的IP地址(192.168.128.131)和端口(9000)。

  配置hadoop.tmp.dir指定hadoop运行时产生的临时文件的存储目录

vim hdfs-site.xml。

<configuration>

<property>

         <name>dfs.replication</name>

         <value>1</value>

</property>

<property>

         <name>dfs.secondary.http.address</name>

         <value>192.168.10.100:50090</value>

</property>

 配置dfs.replication指定数据副本的数量,由于是伪分布式形式,只有1个节点,所以这里设置为1即可。

  配置dfs.secondary.http.address指定Secondary Namenode的地址和端口。

mapred-site.xml

cp  mapred-site.xml.template mapred-site.xml

<configuration>

<property>

         <name>mapreduce.framework.name</name>

         <value>yarn</value>

</property>

</configuration>

  配置mapreduce.framework.name指定MapReduce运行在yarn上。

yarn-site.xml。

<property>

         <name>yarn.resourcemanager.hostname</name>

         <value>192.168.10.100</value>

</property>

<property>

         <name>yarn.nodemanager.aux-services</name>

         <value>mapreduce_shuffle</value>

</property>

  配置yarn.resourcemanager.hostname指定YARN的ResourceManager的地址。

  配置yarn.nodemanager.aux-services指定shuffle机制。

vim slaves

master

  配置集群中的从节点,一行一个机器名(或IP地址)。这里因为是伪分布式模式,所以master既是主节点,又是从节点。

配置已经完成:

格式化文件系统

hdfs namenode –format

  执行成功后,会出现core-site.xml中hadoop.tmp.dir配置项指定的目录:

[hadoop@master ~]$ cd hadoop-2.9.2/

[hadoop@master hadoop-2.9.2]$ ls tmp/

dfs

 需要注意的是,格式化只需要一遍即可。如果格式化出错,修改相关配置后,需要先把hadoop.tmp.dir配置的目录删除,才能再次格式化。

启动hadoop

首先启动HDFS:

[hadoop@master hadoop-2.9.2]$ start-dfs.sh

[hadoop@master hadoop-2.9.2]$ jps

2128 Jps

1607 NameNode

1739 DataNode

1995 SecondaryNameNode

 然后启动YARN:

[hadoop@master hadoop-2.9.2]$ start-yarn.sh

[hadoop@master hadoop-2.9.2]$ jps

2289 NodeManager

2387 Jps

1607 NameNode

2185 ResourceManager

1739 DataNode

1995 SecondaryNameNode

访问:

http://192.168.10.100:50070

关闭Hadoop。

  关闭Hadoop集群时,与启动顺序正好相反,先关闭YARN,再关闭HDFS。

[hadoop@master hadoop]$ stop-yarn.sh

stopping yarn daemons

stopping resourcemanager

master: stopping nodemanager

master: nodemanager did not stop gracefully after 5 seconds: killing with kill -9

no proxyserver to stop

[hadoop@master hadoop]$ jps

2789 Jps

1607 NameNode

1739 DataNode

1995 SecondaryNameNode

[hadoop@master hadoop]$ stop-dfs.sh

Stopping namenodes on [master]

master: stopping namenode

master: stopping datanode

Stopping secondary namenodes [master]

master: stopping secondarynamenode

[hadoop@master hadoop]$ jps

3154 Jps

菜鸟的自白
原文地址:https://www.cnblogs.com/lzjloveit/p/14443046.html