1. hadoop简介
Hadoop的核心由3个部分组成:
-
HDFS: Hadoop Distributed File
System,分布式文件系统,hdfs还可以再细分为NameNode、SecondaryNameNode、DataNode。 -
YARN: Yet Another Resource Negotiator,资源管理调度系统
-
Mapreduce:分布式运算框架
2.安装SSH、配置SSH无密码登录
集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),一般情况下,CentOS 默认已安装了 SSH client、SSH server,打开终端执行如下命令进行检验:
rpm -qa | grep ssh
如果返回的结果如下图所示,包含了 SSH client 跟 SSH server,则不需要再安装。
若需要安装,则可以通过 yum 进行安装(安装过程中会让你输入 [y/N],输入 y 即可):
sudo yum install openssh-clients
sudo yum install openssh-server
接着执行如下命令测试一下 SSH 是否可用:
ssh localhost
此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 hadoop,这样就登陆到本机了。
设置免密登录
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
chmod 600 ./authorized_keys # 修改文件权限
3.安装JDK并配置环境变量
4.安装hadoop
提供两个可以下载的镜像链接:
https://mirrors.cnnic.cn/apache/hadoop/common/
http://mirror.bit.edu.cn/apache/hadoop/common/
-
我下载的是3.1版本的。下载后解压
tar -zxvf hadoop-3.3.1.tar.gz
-
把解压文件移动到/usr/soft目录下,并且重命名为hadoop
mv hadoop-3.3.1 /usr/soft/hadoop
5.配置hadoop环境变量
-
执行命令
vim /etc/profile
在文件末尾添加
export HADOOP_HOME=/usr/soft/hadoop/hadoop-3.3.0 export PATH=$HADOOP_HOME/bin:$PATH
-
执行命令,使配置文件即时生效
source /etc/profile
-
检验是否配置成功
hadoop version
如下
6.hadoop伪分布式配置
-
配置hadoop环境变量
vim ~/.bashrc
在文件末尾添加
# Hadoop Environment Variables export HADOOP_HOME=/usr/soft/hadoop/ export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
执行命令,使文件即时生效
source ~/.bashrc
2.hadoop配置文件修改
-
打开配置文件目录
cd /usr/soft/hadoop/etc/hadoop/
①修改配置文件 core-site.xml
添加如下配置<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/soft/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
②修改配置文件 hdfs-site.xml
添加如下配置<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/soft/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/soft/hadoop/tmp/dfs/data</value> </property> <property> <name>dfs.secondary.http.address</name> <!--这里是你自己的ip,端口默认--> <value>dfs://localhost:50070</value> </property> </configuration>
③修改配置文件 hadoop-env.sh
添加如下配置,设置成自己的jdk安装目录export JAVA_HOME=/usr/soft/java/jdk1.8.0_271
④配置 mapred-site.xml
添加如下配置<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapred.job.tracker.http.address</name> <value>0.0.0.0:50030</value> </property> <property> <name>mapred.task.tracker.http.address</name> <value>0.0.0.0:50060</value> </property> <property> <name>mapreduce.admin.user.env</name> <value>HADOOP_MAPRED_HOME=$HADOOP_COMMON_HOME</value> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=$HADOOP_COMMON_HOME</value> </property> </configuration>
⑤配置yarn-site.xml
添加如下配置<!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <!-- 自己的ip端口默认 --> <value>hdfs://localhost:9000</value> </property> <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
7.启动hadoop
-
`cd /usr/soft/hadoop/sbin/
-
初始化化hadoop文件格式,输入命令:
hadoop namenode -format
-
启动所有进程
./start-all.sh
关闭的话,执行
./stop-all.sh