hadoop伪分布式
(1)设置主机名,IP映射
-
使用
hostnamectl set-hostname hadoop101
将主机名改为hadoop101 -
配置IP映射
-
使用
vim /etc/hosts
编辑hosts文件 -
在该文件中添加IP和映射,中间用空格隔开,例如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-boLxktBG-1636874304134)(C:\Users\22071\AppData\Roaming\Typora\typora-user-images\image-20211108225327203.png)]
-
(2)配置jdk,hadoop环境,免密
-
使用Xshell或者Xftp将hadoop和JDK文件压缩包传输至Linux下,这里我将其传输至
/opt/software
目录下(该目录原本并不存在,可使用mkdir /opt/software
命令创建)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z7eeRPei-1636874304140)(C:\Users\22071\AppData\Roaming\Typora\typora-user-images\image-20211108215048139.png)] -
传输后使用
tar -zxvf
命令(具体如下)将其解压至/opt/module
目录下(给目录原本不存在,使用mkdir /opt/module
创建)tar -zxvf jdk-8u161-linux-x64.tar.gz -C /opt/module/ tar -zxvf hadoop-2.7.3.tar.gz -C /opt/module/ # 注意!!-C的意思是解压到指定目录,C为大写字母的C
-
配置JDK和Hadoop环境变量
-
进入JDK的目录
cd /opt/module/jdk1.8.0_161/
,使用pwd
命令查看当前所处目录
-
将当前所在的路径复制
-
使用
vim /etc/profile
编辑配置文件,将jdk的环境配置进其中# 在/etc/profile文件的最后一行添加以下内容,该文件的其他内容切勿随意修改 export JAVA_HOME=/opt/module/jdk1.8.0_161 # =号后面的内容为jdk的路径 export PATH=$PATH:$JAVA_HOME/bin
-
进入Hadoop目录
cd /opt/module/hadoop-2.7.3/
,使用pwd
命令查看hadoop所处的目录
-
将hadoop目录复制,使用
vim /etc/profile
编辑配置文件 -
将hadoop的环境配置其中
export HADOOP_HOME=/opt/module/hadoop-2.7.3 # =号后面为hadoop的路径 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
-
使用
source /etc/profile
使配置文件立即生效 -
输入
java -version
和hadoop version
查看是否安装成功
-
-
配置ssh免密
-
进入
cd ~/.ssh
目录(如果没有该目录则使用mkdir ~/.ssh
创建该目录,创建好后使用cd ~/.ssh
进入目录) -
使用
ssh-keygen -t rsa
生成公钥和私钥(使用了命令后连续敲三个回车,就会在该目录下生成公钥和私钥)
-
3. 使用`ssh-copy-id localhost`将公钥拷贝到本机
(2)编辑hadoop配置文件
-
进入hadoop目录下
cd /opt/module/hadoop-2.7.3/
,hadoop的配置文件在hadoop目录下的etc/hadoop
路径里 -
进入配置文件目录
cd etc/hadoop/
-
配置配置项
-
配置
hadoop-env.sh
文件vim hadoop-env.sh
修改项如下# 在hadoop-env.sh文件中找到下面这行,将等号后面的内容改为jdk的路径 export JAVA_HOME=${JAVA_HOME} # 修改后的内容如下 export JAVA_HOME=/opt/module/jdk1.8.0_161
-
配置
yarn-env.sh
文件vim yarn-env.sh
修改项如下# 在yarn-env.s文件中找到下面这行,将前面的#和空格删除,并将等号后面的内容修改为jdk的路径 # export JAVA_HOME=/home/y/libexec/jdk1.6.0/ # 修改后的内容如下 export JAVA_HOME=/opt/module/jdk1.8.0_161
-
配置
core-site.xml
文件vim core-site.xml
在两个configuration
标签中添加如下内容<!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop101:9000</value> </property> <!-- 指定Hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.3/data/tmp</value> </property>
-
配置
hdfs-site.xml
文件vim hdfs-site.xml
在两个configuration
标签中添加如下内容<!-- 指定HDFS副本的数量 --> <property> <name>dfs.replication</name> <value>1</value> </property>
-
配置
yarn-site.xml
文件vim yarn-site.xml
在两个configuration
标签中添加如下内容<!-- Reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop101</value> </property>
-
使用
cp
将mapred-site.xml.template
文件改名为mapred-site.xml
cp mapred-site.xml.template mapred-site.xm
-
编辑
mapred-site.xml
文件,在两个configuration
标签中添加如下内容<!-- 指定MR运行在YARN上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
-
-
进入hadoop的主目录
cd /opt/module/hadoop-2.7.3/
使用bin/hadoop namenode -format
格式化namenode -
格式化好之后启动各个服务
-
方法1:在hadoop主目录下使用
sbin/start-dfs.sh
脚本启动NameNode和DataNode,再使用sbin/start-yarn.sh
脚本启动Yarn -
方法2:在hadoop主目录下使用
sbin/hadoop-daemon.sh start namonode
分别启动各个服务,具体启动命令如下# 启动hdfs服务 sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start datanode # 启动yarn服务 bin/yarn-daemon.sh start resourcemanager sbin/yarn-daemon.sh start nodemanager sbin/yarn-daemon.sh start resourcemanager sbin/yarn-daemon.sh start nodemanager
-
以上方法选择一种后,使用
jps
命令查看是否启动成功
-