Hadoop伪分布式安装与配置
所需:
- jdk
- hadoop
- finalshell
1.上传文件
将下载好的jdk和hadoop都上传到linux
1.安装jdk
首先解压上传上去的jdk
进入jdk目录
cd /usr/local
可以看到刚才上传好的jdk,我的版本是jdk-8u261-linux-x64.tar
开始解压
- tar包用:
tar -xvf jdk-8u261-linux-x64.tar
- tar.gz包用:
tar -xzvf jdk-8u261-linux-x64.tar.gz
解压完成后当前路径会有解压好的jdk
可以顺手把压缩包删除一下
rm -f jdk-8u261-linux-x64.tar
3.配置环境变量
vi ~/.bash_profile
然后添加以下内容
注意jdk路径和具体版本
export JAVA_HOME=/usr/local/jdk1.8.0_261
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
使生效,并查看是否成功
source ~/.bash_profile
然后测试环境是否配置成功是否成功
java -version
4.关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭之后确认一下防火墙状态是否关闭
systemctl status firewalld
出现**Active: active (running)**且高亮显示则表示是启动状态。
出现 **Active: inactive (dead)**灰色表示停止
5.配置主机名
hostnamectl --static set-hostname niit01
说明:–static 参数代表永久生效
niit01表达你希望设置的主机名
6.安装hadoop
新建一个tools文件夹放Hadoop
把下载好的上传上去(上传和上方上传方法一样)
6.1 解压
tar -xvf hadoop-2.7.3.tar
6.2 配置环境变量
vi ~/.bash_profile
让环境变量生效
source ~/.bash_profile
并验证是否生效
hdfs
有相关信息出现即是生效
6.3 配置主机名和IP地址映射关系
修改host文件
vi /etc/host
直接在文件末尾加上例如:
ip为你的ip niit01为步骤5配置的主机名
192.168.1.234 niit01
保存退出即可
6.4 新建一个tmp目录(注意自己的hadoop的实际路径):
mkdir /usr/tools/hadoop-2.7.3/tmp
6.5 需要对五个文件进行配置:
hadoop-env.sh
hdfs-site.xml
core-site.xml
mapper-site.xml
yarn-site.xml
6.5.1 hadoop-env.sh的配置
vi /usr/tools/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
在hadoop-env.sh 文件中找到JAVA_HOME,并进行如下修改
export JAVA_HOME=/usr/local/jdk1.8.0_171
(注意版本,和你安装jdk的路径,看到请删除此注释)
6.5.2 hdfs-site.xml文件
vi /usr/tools/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
在hdfs-site.xml文件的之间添加如下信息:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
6.5.3 core-site.xml 文件
vi /usr/tools/hadoop-2.7.3/etc/hadoop/core-site.xml
在core-site.xml文件的之间添加如下信息:
<property>
<name>fs.defaultFS</name>
<value>hdfs://niit01:9000</value> //(注意主机名,9000不变,看到请删除此注释)
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/tools/hadoop-2.7.3/tmp</value>
</property>
6.5.4 mapper-site.xml 文件
这个文件事先是不存在的,需要先创建一份此文件
cp mapred-site.xml.template mapred-site.xml
vi /usr/tools/hadoop-2.7.3/etc/hadoop/mapred-site.xml
在mapper-site.xml文件的《configuration》与《/configuration》之间添加如下信息:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
6.5.5 yarn-site.xml 文件
vi /usr/tools/hadoop-2.7.3/etc/hadoop/yarn-site.xml
在yarn-site.xml文件的《configuration》《/configuration》之间添加如下信息:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>niit01</value> //(注意主机名,看到请删除此注释)
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
6.6 格式化 HDFS(NameNode)
hdfs namenode -format
6.7 配置免密登录
ssh-keygen -t rsa #(一路回车,有y/n选择y,看到请删除此注释)
cd ~/.ssh/
ssh-copy-id -i id_rsa.pub root@niit01 #(注意主机名,看到请删除此注释)
如图所示成功
开始启动服务
start-all.sh
当启动服务的时候出现如下问题
这个 本地地址即 对应 0.0.0.0 , 127.0.0.1 本地地址 这个IP没有配置免密登录导致的。可以 执行
ssh-copy-id -i ~/.ssh/id_rsa.pub 0.0.0.0
成功
执行jps命令,看看是否会有如下5个进程:
1.NameNode
2.DataNode
3.SecondaryNameNode
4.ReourceManager
5.NodeManager
6.8 验证
1)web界面进行验证
HDFS------http://niit01:50070 (注意主机名,打不开就用192.168.xxx.xxx:50070) 可以用IP可以用主机名
Yarn--------http://niit01:8088
6.9 停止服务
stop-all.sh