一、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
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>
c、修改hdfs-site.xml ,在configuration节点中添加子元素(可选)
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration>
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>
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>
然后将安装包复制到其他节点,并修改权限给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
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