目录
一、 搭建Hadoop
1. 下载Hadoop的.tgz文件
2. 传到Linux并解压到制定文件夹
sudo tar -zxvf hadoop-2.10.1.tar.gz -C /usr/local/lib/Hadoop
在此之前,创建单独的目录
sudo mkdir /usr/local/lib/Hadoop
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/usr/local/lib/Hadoop/hadoop-2.10.1
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
4. 用source使之立刻生效
source /etc/profile
5. 验证安装成功
hadoop version
6. 修改配置文件
进入 ${HADOOP_HOME}/etc/hadoop/ 目录下,修改以下配置:
6.1 hadoop-env.sh(配置环境变量)
#25行
export JAVA_HOME=/usr/local/lib/java/jdk1.8.0_181
#33行
export HADOOP_CONF_DIR=/usr/local/lib/Hadoop/hadoop-2.10.1/etc/hadoop
6.2 core-site.xml(核心配置文件)
<configuration>
<!--默认文件系统的名称 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://nitgod01:9000</value>
</property>
<!--指定HDFS执行时的临时目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/lib/Hadoop/data/tmp</value>
</property>
</configuration>
6.3 hdfs-site.xml(HDFS的节点配置)
指定副本系数、namenode、datanode文件存放位置和hdfs操作权限:
<configuration>
<property>
<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->
<!--伪分布式模式的话,此值必须为1-->
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<!--namenode文件存放位置,可以指定多个目录实现容错,用逗号分隔-->
<name>dfs.namenode.name.dir</name>
<value>file: /usr/local/lib/Hadoop/dfs/namenode_data</value>
</property>
<property>
<!--datanode文件存放位置-->
<name>dfs.datanode.data.dir</name>
<value>file: /usr/local/lib/Hadoop/dfs/datanode_data</value>
</property>
<property>
<!--设置hdfs操作权限,false表示任何用户都可以在hdfs上操作文件-->
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
6.4 mapred-site.xml(配置MapReduce)
<configuration>
<property>
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6.5 yarn-site.xml(配置YARN的节点信息)
<configuration>
<property>
<!--指定yarn的老大resourcemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>nitgod01</value>
</property>
<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>nitgod01:8088</value>
</property>
<!-- Site specific YARN configuration properties -->
</configuration>
6.6 slaves(配置所有从属节点的主机名或 IP 地址)
nitgod01
nitgod02
nitgod03
7. 关闭防火墙
# 查看防火墙状态
sudo firewall-cmd --state
(如果sudo: firewall-cmd:找不到命令,则说明防火墙没装,不需要关闭)
# 关闭防火墙:
sudo systemctl stop firewalld.service
8. 初始化
cd ${HADOOP_HOME}/bin
sudo ./hdfs namenode -format
#或 sudo ./hadoop namenode -format
9.启动HDFS和YARN
cd ${HADOOP_HOME}/sbin
sudo ./start-dfs.sh
sudo ./start-yarn.sh
10. 验证是否启动成功
方法一:执行 jps 查看 NameNode 、 DataNode、SecondaryNameNode、ResourceManager、NodeManager 服务是否已经启动:
sudo /jdk路径/bin/jps
11637 ResourceManager
11734 NodeManager
11241 DataNode
11146 NameNode
12075 Jps
11436 SecondaryNameNode
方法二:访问HDFS和YARN的web UI页面是否启动
访问nitgod01:50070 HDFS页面
访问nitgod01:8088 YARN页面
其中,nitgod01是我主节点的主机名/IP
二、 设置SSH免密登录
Hadoop搭建好后,启动时总需要输入从节点的密码。一般设置ssh免密登录
1. 作用
配置ssh免密登录后就不需要每次启动节点都输入密码了
2. 步骤
2.1 每台机器上配置IP
vim /etc/hosts
192.168.186.128 nitgod01
192.168.186.129 nitgod02
192.168.186.130 nitgod03
2.2 创建本地秘钥并将公共秘钥写入认证文件
1. 每台机器创建私钥,公钥(为系统当前用户生成)
ssh-keygen -t rsa -P ''
这时~/.ssh目录下会生成私钥和公钥的键值对 id_rsa 和 id_rsa.pub
(rsa和dsa是两种加密方式)
2.将公钥写入认证文件authorized_keys中,cat是把文本内容拷贝到文章末
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
不过我死活搞不好,所以直接手动把私钥文件整合了
1. 找到/root/.ssh下的id_rsa.pub(保存的是每台机器的私钥,用rsa加密的)
2. 把每个节点id_rsa.pub里面内容整合在一起(到authorized_keys中)
2. 将整合完的authorized_keys文件覆盖到各节点
三、 最后附上资源
hadoop-2.10.1.tar:链接:https://pan.baidu.com/s/1SAeIovLq_8t71V-p0LsxnQ 提取码:j5cp
也可以在我主页找一下资源,我都上传了的