一、准备工作
下载 jdk
下载 Hadoop
二、安装JDK、Hadoop及配置环境变量
安装JDK
进入 /usr/lib/java -1.8.0,把压缩包jdk-8u144-linux-x64.tar.gz移动到该目录,并解压
cd /usr/lib/java -1.8 .0
tar zxf ./jdk-8 u144-linux-x64.tar .gz
安装Hadoop
进入 /opt/hadoop目录,把压缩包hadoop-2.8.1.tar.gz移动到该目录,并解压
cd /opt/hadoop
tar zxf ./hadoop-2.8 .1 .tar .gz
配置环境变量
配置环境,编辑 /etc/profile 文件
vim /etc/profile
在其后添加如下信息:
export JAVA_HOME=/usr/lib/java-1.8 .0 /jdk1.8.0 _144
export HADOOP_HOME=/opt/hadoop/hadoop-2.8 .1
PATH=$JAVA_HOME /bin:$PATH :${HADOOP_HOME} /bin:${HADOOP_HOME} /sbin
CLASSPATH=$JAVA_HOME /jre/lib/ext:$JAVA_HOME /lib/tools.jar
export PATH JAVA_HOME CLASSPATHo
JAVA_HOME jdk的路径
HADOOP_HOME hadoop路径
使配置的变量生效:
source /etc/profile
三、SSH无密码登录
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id _dsa
$ cat ~/.ssh/id _dsa.pub >> ~/.ssh/authorized _keys
验证ssh,# ssh localhost
不需要输入密码即可登录。
四、Hadoop的伪分布式环境搭建
Hadoop 伪分布式模式是在一台机器上模拟Hadoop分布式,单机上的分布式并不是真正的分布式,而是使用线程模拟的分布式。分布式和伪分布式这两种配置也很相似,唯一不同的地方是伪分布式是在一台机器上配置,也就是名字节点(namenode)和数据节点(datanode)均是同一台机器。
需要配置的文件有core-site.xml和hdfs-site.xml这两个文件他们都位于${HADOOP_HOME}/etc/hadoop/文件夹下。
core-site.xml:
<configuration >
<property >
<name > hadoop.tmp.dir</name >
<value > file:/opt/hadoop/hadoop-2.8.1/tmp</value >
<description > Abase for other temporary directories.</description >
</property >
<property >
<name > fs.defaultFS</name >
<value > hdfs://192.168.3.39:9000</value >
<final > true</final >
</property >
</configuration >
fs.defaultFS的value修改为本机的ip地址
hdfs-site.xml:
<configuration >
<property >
<name > dfs.replication</name >
<value > 1</value >
</property >
<property >
<name > dfs.namenode.name.dir</name >
<value > file:/opt/hadoop/hadoop-2.8.1/tmp/dfs/name</value >
</property >
<property >
<name > dfs.datanode.data.dir</name >
<value > file:/opt/hadoop/hadoop-2.8.1/tmp/dfs/data</value >
</property >
<property >
<name > dfs.namenode.http-address</name >
<value > master:50070</value >
<name > dfs.permissions</name >
<value > false</value >
</property >
</configuration >
修改/etc/hosts
127.0 .0 .1 localhost localhost.localdomain localhost4 localhost4.localdomain 4 yodosmart.hdfs .01
192.168 .3 .39 master
::1 localhost localhost.localdomain localhost6 localhost6.localdomain 6 yodosmart.hdfs .01
在/etc/hosts中添加DHCP获取或者自己设置的IP地址 到localhost主机名的映射.这种方式是基于主机名称的访问,对于ip访问无效
查看当前主机名# hostname
开放9000端口
#开放9000端口
iptables -I INPUT -p tcp -m tcp --dport 9000 -m state --state NEW,ESTABLISHED -j ACCEPT
#重启防火墙
service iptables save
#保存iptables
service iptables restart
如果需要访问web管理页面,还需要开发50070端口
格式化hdfs
配置完成后,执行格式化命令,使HDFS的目录进行格式化:
hdfs namenode -format
五、启动HDFS
启动HDFS的脚本位于Hadoop目录下的sbin文件夹中
移动到hdfs主目录
sbin/start-dfs.sh # 启动HDFS脚本
在执行start-dfs.sh脚本启动HDFS时,可能出现类似如下的报错内容:
localhost: Error : JAVA_HOME is not set and could not be found.
JAVA_HOME没找到,这是因为在hadoop-env.sh脚本中有个JAVA_HOME=${JAVA_HOME}
,所以只需将${JAVA_HOME}
替换成JDK的路径:
vim /etc/hadoop/hadoop-env.sh
export JAVA_HOME =/usr/lib /java-1.8.0/jdk 1.8.0_144
查看是否启动成功
jps
成功的话如下
7617 Jps
8214 DataNode
8393 SecondaryNameNode
8074 NameNode
关闭
sbin/stop -dfs.sh
当成功启动之后,可以在浏览器通过访问网址http://192.168.3.39:50070/