首先需要有一台linux的虚拟机,什么版本的都差不多

这里以redhat为例

下载hadoop(只是为了学习使用的是老版本的0.20.2)

网上有很多下载的地方

为服务器安装jdk

jdk文件版本为jdk-7u45-linux-i586.rpm

可以在官网上下载各个版本的linux jdk文件

使用命令

rpm -ivh jdk-7u45-linux-i586.rpm

进行安装

安装完成之后编辑profile文件配置环境变量

vi /etc/profile

在末尾追加

export JAVA_HOME=/usr/java/jdk1.7.0_45
export PATH=$JAVA_HOME/bin/:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

注意jdk对应的版本号

编辑完成后使用命令

source /etc/profile

保存配置

之后输入java -version可以查看jdk版本信息


配置ssh免密码登录

在服务器上

输入命令

chmod -R 755 /home/hadoop
mkdir ~/.ssh
 ssh-keygen -t rsa

ssh-keygen -t dsa

rsa和dsa分别生成不同加密格式的ssh密钥,直接一直按回车键保存在默认的路径



在节点上配置authorized_keys文件

输入命令

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

将本地的密钥保存在authorized_keys

输入命令

chmod -R 700 ~/.ssh

注意当前你所在的路径


接下来可以在服务器上测试ssh是否可以免密码登录了

例:

ssh localhost date

将会提示

The authenticity of host 'master (10.10.10.100)' can't be established.
RSA key fingerprint is 99:ef:c2:9e:28:e3:b6:83:e2:00:eb:a3:ee:ad:29:d8.
Are you sure you want to continue connecting (yes/no)?

这是因为这台机器上的ssh没有把master记录在已知的主机列表中

输入yes回车即可

(之后的各个节点一样,输入yes让其记住主机,之后就可以免密码登录)

如果中间出现什么异常或者错误,有可能是权限问题导致,请百度之



在节点上配置hadoop

将hadoop包放到/home/hadoop目录下方便操作

进入hadoop目录下的conf目录

1.修改hadoop-env.sh文件

添加

export JAVA_HOME=/usr/java/jdk1.7.0_45

配置jdk的环境变量,注意jdk版本

2.修改core-site.xml文件


<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>


设置namenode节点的IP和端口

设置hadoop.tmp.dir路径,默认是/tmp/$username,重启就会删除该目录的文件,所以这里给他配置一个自定义的路径


3.修改hdfs-site.xml文件


<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hadoop-data</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hadoop-name</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/home/hadoop/hadoop-namesecondary</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>


设置hdfs文件系统

4.修改mapred-site.xml文件


<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>


设置jobtracker的ip和端口

以上xml文件的配置都只是在源文件的基础上添加对应的property节点即可

进入hadoop目录下的bin目录

输入命令

hadoop namenode -format

开始格式化namenode

注意看提示格式化是否成功


在输入命令

start-all.sh

启动hadoop集群

启动完成后

输入命令jps

可以看到5个java进程

分别是

NameNode

SecondaryNameNode

JobTracker

TaskTracker

DataNode


伪分布式安装启动完成


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐