JDK环境配置
可以参考博主之前的博客https://blog.csdn.net/zhongshijunacm/article/details/42677063
环境配置
1.1创建hadoop用户
$ sudo useradd -m hadoop -s /bin/bash #创建hadoop用户,并使用/bin/bash作为shell
$ sudo passwd hadoop #为hadoop用户设置密码,之后需要连续输入两次密码
$ sudo adduser hadoop sudo #为hadoop用户增加管理员权限
$ su - hadoop #切换当前用户为用户hadoop
$ sudo apt-get update #更新hadoop用户的apt,方便后面的安装
1.2安装SSH,设置SSH无密码登入
$ sudo apt-get install openssh-server #安装SSH server
$ ssh localhost #登陆SSH,第一次登陆输入yes
$ exit #退出登录的ssh localhost
$ cd ~/.ssh/ #如果没法进入该目录,执行一次ssh localhost
$ ssh-keygen -t rsa
输入完 $ ssh-keygen -t rsa 语句以后,需要连续敲击三次回车
之后再输入:
$ cat ./id_rsa.pub >> ./authorized_keys #加入授权
$ ssh localhost #此时已不需密码即可登录localhost,并可见下图。如果失败则可以搜索SSH免密码登录来寻求答案
安装hadoop
先下载hadoop,链接如下:
http://mirrors.hust.edu.cn/apache/hadoop/common/
下面进行安装:
$ sudo tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local #解压到/usr/local目录下
$ cd /usr/local
$ sudo mv hadoop-2.6.0 hadoop #重命名为hadoop
$sudo chmod 777 -R /usr/local/hadoop #修改文件权限
给hadoop配置环境变量,将下面代码添加到.bashrc文件:
export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
同样,执行source ~./bashrc使设置生效,并查看hadoop是否安装成功
伪分布式配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。首先将jdk1.7的路径添(export JAVA_HOME=/usr/lib/jvm/java )加到hadoop-env.sh文件
b)配置.bashsc文件
sudo vim ~/.bashrc
·在文件末尾追加下面内容,然后保存。(注意路径)
#HADOOP VARIABLES START
export JAVA_HOME=/usr/java/jdk1.8.0_144
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=
P
A
T
H
:
PATH:
PATH:HADOOP_INSTALL/bin
export PATH=
P
A
T
H
:
PATH:
PATH:HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=
H
A
D
O
O
P
I
N
S
T
A
L
L
e
x
p
o
r
t
H
A
D
O
O
P
C
O
M
M
O
N
H
O
M
E
=
HADOOP_INSTALL export HADOOP_COMMON_HOME=
HADOOPINSTALLexportHADOOPCOMMONHOME=HADOOP_INSTALL
export HADOOP_HDFS_HOME=
H
A
D
O
O
P
I
N
S
T
A
L
L
e
x
p
o
r
t
Y
A
R
N
H
O
M
E
=
HADOOP_INSTALL export YARN_HOME=
HADOOPINSTALLexportYARNHOME=HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=
H
A
D
O
O
P
I
N
S
T
A
L
L
/
l
i
b
/
n
a
t
i
v
e
e
x
p
o
r
t
H
A
D
O
O
P
O
P
T
S
=
"
−
D
j
a
v
a
.
l
i
b
r
a
r
y
.
p
a
t
h
=
HADOOP_INSTALL/lib/native export HADOOP_OPTS="-Djava.library.path=
HADOOPINSTALL/lib/nativeexportHADOOPOPTS="−Djava.library.path=HADOOP_INSTALL/lib"
·执行下面命令,使添加的环境变量生效:
source ~/.bashrc
c)Hadoop配置(伪分布式搭建)
·配置hadoop-env.sh
sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
·添加如下内容:(注意jdk文件名)
The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0_144
export HADOOP=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin
·配置yarn-env.sh
sudo vim /usr/local/hadoop/etc/hadoop/yarn-env.sh
·添加如下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_144
JAVA_HOME=/usr/java/jdk1.8.0_144
·配置core-site.xml,(这里的tmp.dir不用改,是缓存目录)
sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
插入如下内容
注意:将core-site.xml中原来的有的 < /configuration >一定要删除掉,不然后面格式化的时候会出错。即.xml文件中只有一个 < /configuration >对就可以。
·同样修改配置文件 hdfs-site.xml:
sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
插入下列内容:(删除原有的)
dfs.replication
1
dfs.namenode.name.dir
file:/usr/local/hadoop/tmp/dfs/name
dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/dfs/data
Hadoop配置文件说明
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。
此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行,不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。
同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
·配置yarn-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
·插入下列内容
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>
d) 关机重启系统
主要是为了后期自己使用,建议更加详细的细节部分,自行参考后面参考资料的两篇博客。
参考资料

本文详细介绍了在Ubuntu系统上搭建Hadoop伪分布式环境的全过程,包括环境配置、SSH无密码登录设置、Hadoop安装与配置,以及核心配置文件core-site.xml、hdfs-site.xml、yarn-site.xml的修改指南。
616

被折叠的 条评论
为什么被折叠?



