Linux下hadoop-2.9.0集群搭建

一、hadoop简介

  Hadoop是一个由Apache基金会所开发的分布式系统基础架构,是一个能够对大量数据进行分布式处理的软件框架。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

  1、官网地址:http://hadoop.apache.org/,安装hadoop需要安装jdk环境

  2、个人三台Linux虚拟机机器地址信息为,并:

主机名    ip地址
node2    192.168.182.xxx
node3    192.168.182.xxx
node4    192.168.182.xxx
node5    192.168.182.xxx

二、集群安装

  1、准备工作,先远程登陆每一台机器,创建hadoop用户,并关闭每个机器防火墙

# 新建用户
useradd hadoop
# 设置密码
passwd hadoop

  2、使用hadoop用户登陆其中一台机器node5,设置其中一台免密登陆其他机器,

# 免密登陆
ssh-keygen
ssh-copy-id node2
ssh-copy-id node3
ssh-copy-id node4

  3、设置hadoop用户root权限和设置hosts

# 添加内容: hadoop  ALL=(ALL)       ALL
vi /etc/sudoers

  4、设置hosts

vi  /etc/hosts
192.168.182.xxx   node2
192.168.182.xxx   node3
192.168.182.xxx   node4
192.168.182.xxx   node5
View Code

  5、将sudoers和hosts文件拷贝到其他机器上

# 例如复制sudoers到node2上,其他一样
sudo  scp  -r  /etc/sudoers  node2:/etc 

  6、下载hadoop二进制版

# 切换工作目录
cd /home/hadoop
# 新建文件夹
mkdir  apps
# 下载安装包
wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz
# 解压
tar  -zxvf  hadoop-2.9.0.tar.gz  -C /home/hadoop/apps

  7、修改配置文件

# 进入配置目录
cd  /home/hadoop/apps/hadoop-2.9.0/etc/hadoop/

    a、修改hadoop-env.sh文件,设置export JAVA_HOME为jdk安装目录,因为需要ssh远程启动,jdk环境不会生效,所以直接设置jdk安装目录

    b、修改core-site.xml文件,在configuration节点中添加子元素

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node5:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hdpdata</value>
</property>
</configuration>
View Code

    c、修改hdfs-site.xml  ,在configuration节点中添加子元素(可选)

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
View Code

    d、修改mapred-site.xml.template ,在configuration节点中添加子元素,并且重命名:mv mapred-site.xml.template mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

</configuration>
View Code

    e、修改yarn-site.xml,在configuration节点中添加子元素

<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>weekend-1206-01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
View Code

  然后将安装包复制到其他节点,并修改权限给hadoop,以复制到node2为例

# 将安装包复制node2
sudo scp -r /home/hadoop/apps node2:/home/hadoop/
# 修改安装包权限给hadoop
chown -r hadoop:hadoop /home/hadoop/apps

  8、将hadoop添加到环境变量,使配置生效 source /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_161
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.9.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
View Code

  9、对namenode进行初始化,我在core-site.xml配置的namenode节点为node5

hdfs namenode -format

  10、修改自动化启动配置文件,添加node2,node3,node4

vi  /home/hadoop/apps/hadoop-2.9.0/etc/hadoop/slaves

  11、启动集群和关闭集群

# 启动全部
start-all.sh
# 关闭全部
stop-all.sh

三、测试

  1、使用jps命令验证是否有NameNode、DataNode、NodeManager、ResourceManager等信息

  2、访问http://node5:50070 (HDFS管理界面) http://node5:8088 (MR管理界面)查看信息

yexiangyang

moyyexy@gmail.com


 

原文地址:https://www.cnblogs.com/moy25/p/8786323.html