在ubuntu系统中搭建hadoop伪分布式集群
第一步:环境准备工作
1、安装ssh服务:sudo apt-get install openssh-server
2、下载好hadoop和jdk软件包,放入指定目录。
安装ssh服务原因:一键启动集群时需要,不在输入密码,最好安装,否则需要重复输入密码
第二步:配置虚拟机环境
1、更改/etc/hostname 机器的名字
sudo vi /etc/hostname
2、ifconfig查看自己的IP地址
3、更改机器名字和ip的对应关系
sudo vi /etc/hosts
更改内容如下:
5、重启执行sudo reboot
目的是为了使更改的主机名生效
已经变为hadoop
6、配置ssh免密登录
生成公钥和私钥
cd ~/.ssh
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop
第二步:解压jar包
1、在opt目录下创建两个文件,一个用于存放软件,一个用于存放解压后的软件
cd /opt
sudo mkdir software 用于存放软件
sudo mkdir module 存放解压后的软件
2、改变所属用户
chown wjl:wjl software
chown wjl:wjl module
文件所属着,文件所属组已经改变
3、移动jdk、hadoop文件
mv 你的jdk /opt/software
mv 你的hadoop /opt/software
cd opt/software
ls -l
4、查看文件已近移动成功
5、解压归档文件
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/module/
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/module/
或者参数用 -xvf 由于我的hadoop是tar结尾的
tar -xvf hadoop-3.0.3.tar -C /opt/module/
6、建立软连接
wjl@hadoop:/opt/module$ ln -s hadoop-3.0.3/ hadoop
wjl@hadoop:/opt/module$ ln -s jdk1.8.0_191/ jdk
wjl@hadoop:/opt/module$ ls -l
优点:类似于windows的软连接
可以之间使用没有版本号的目录,在配置文件中直接写连接名即可
a、不易出错
b、便于以后更换版本
第三步:配置jdk和hadoop环境变量
1、配置
sudo vi /etc/profile
export JAVA_HOME=/opt/module/jdk
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
2、验证
注意: 使配置文件生效
source /etc/profile
java -version
hadoop version
其实现在hadoop的单机模式已经配好了,此处不再赘述
第四步:介绍一下hadoop的文件
1、先切换目录到: cd /opt/module/hadoop
2、重要目录讲解
(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例
第五步:配置hadoop伪分布式环境
先切换目录到: cd /opt/module/hadoop/etc/hadoop/
1、编辑:core-site.xml
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.93.134:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
</configuration>
案例:配置在Configuration标签中
以下配置同理
2、修改 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/opt/module/hadoop</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/opt/module/hadoop</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/opt/module/hadoop</value>
</property>
</configuration>
3、修改yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.93.134</value>
</property>
4、配置:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
5、配置:hadoop-env.sh
修改JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk
第六步:启动集群
(a)格式化NameNode(第一次启动时格式化,以后就不要总格式化)
hdfs namenode -format
(b)启动NameNode
hadoop-daemon.sh start namenode
(c)启动DataNode
hadoop-daemon.sh start datanode
(3)查看集群
(a)查看是否启动成功
输入jps命令: jps
3877 DataNode
3798 NameNode
3902 Jps
启动成功:
注意:jps是JDK中的命令,不是Linux命令。不安装JDK不能使用jps
(b)web端查看HDFS文件系统
http://你的ubuntu虚拟机ip地址:50070/dfshealth.html#tab-overview
注意:如果不能查看,看如下帖子处理
https://www.cnblogs.com/zlslch/p/6604189.html