hadoop2.2.0伪分布式搭建

第一步:安装jdk

我的linux版本是centos7,使用最简单的安装方式,这里首先说一下,由于系统会预装openjdk版本等其他各种版本,首先要做的是清除这些版本,然后iu安装oracle的jdk版本

1.1 查看所有jdk版本并删除其他jdk版本

rpm -qa | grep java

这里可以看到所有的jdk版本,我建议的做法是将所有的jdk版本都铲除,

rpm -e ---nodeps 『jdk版本』

这里有一个小技巧,就是在终端中复制的操作是选中之后摁鼠标中健

删除完所有的jdk版本后去官网下载jdk,保存,然后解压,解压位置我的是在/usr/java。

tar -zxvf jdk1.7.0_79.tar.gz -C /usr/java

解压并且移动到/usr/java下。

配置环境变量

vim /etc/profile,按i进入编辑模式,在最后面添加JAVA_HOME等属性

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

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

配置好之后,先按,后按shift+: ,然后按wq,保存退出编辑,终端:source /etc/profile

java -version

显示正确版本:

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
说明jdk配置成功。

第二步:安装配置ssh

2.1 安装和基本ssh配置

首先要做的是关闭防火墙,防止防火墙对ssh访问拒绝

查看下防火墙状态:

firewall-cmd --state

若显示运行,则关闭,并设置开机不启动。

systemctl stop firewalld.service;

systemctl disable firewalld.service.

检测防火墙状态:

firewall-cmd --state

显示:no running,配置完成。

一般的linux系统都自带ssh,首先你需要查看ssh是否真的存在:

rpm -qa | grep ssh

显示:

openssh-server-6.6.1p1-11.el7.x86_64
openssh-6.6.1p1-11.el7.x86_64
libssh2-1.4.3-8.el7.x86_64
openssh-clients-6.6.1p1-11.el7.x86_64

类似信息说明ssh已安装。

下面查看ssh服务是否自动启动,使用命令行查看所有默认自启动服务:

systemctl list-unit-files|grep enabled

如果发现sshd服务没有启动,则设置sshd服务自启动

systemctl enable sshd.service

这里要说明以下,centos7的指令换成了新的,ssh指令操作指令都有以下:

systemctl enable sshd.service【设置sshd服务开机自启动】

systemctl disable sshd.service【关闭sshd服务开机自启动】

ystemctl start sshd.service【开始sshd服务】

systemctl stop sshd.service【关闭sshd服务】

systemctl restart sshd.service【重启sshd服务】

reboot后,然后查看端口服务情况:

netstat -lntp

显示如下:

1476/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN

1476/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN

ok,配置成功。

2.2 配置ssh免登陆

配置ssh免登陆首先需要root权限去修改:

/etc/ssh

下的 sshd_config文件

vim sshd_config;

将文件中三个配置解除注释(删除#号)

AuthorizedKeysFile      .ssh/authorized_keys

RSAAuthentication yes

PubkeyAuthentication yes

然后保存,退出,重新启动ssh

systemctl restart sshd.service

接下来的步骤必须是普通用户操作,不然会导致ssh配置失败,无法实现免密码登录

原因是你的.ssh文件被放在了/root目录下,根本没有起到作用.

生成密钥:

ssh-keygen

一直cd ~/.ssh

cat id_rsa.pub >> authorized_keys,

ssh localhost验证,输入root密码,之后会出现一个lastLogin,说明成功

第三步:配置hadoop2.2.0

下载hadoop2.2.0,这里给一个apache的所有开元项目的下载位置:achirive.apache.org

找到hadoop包,下载相应版本,我没有下载stable几个包里的,而是选择下载了2.2.0版本

下载后,解压:

cd /; mkdir hadoop;

tar -zxvf hadoop2.2.0.tar.gz -C /hadoop;

首先配置hadoop的环境变量:

vim /etc/profile;

i

export HADOOP_HOME=/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib

最后的配置完整如下:

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

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_HOME=/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

这里的路径是在java的path基础上追加,以:分割。

esc,shift+:;wq;

然后配置hadoop自身配置

cd /hadoop/hadoop-2.2.0/etc/hadoop

ls

显示:

capacity-scheduler.xml      hdfs-site.xml               mapred-site.xml
configuration.xsl           httpfs-env.sh               slaves
container-executor.cfg      httpfs-log4j.properties     ssl-client.xml.example
core-site.xml               httpfs-signature.secret     ssl-server.xml.example
hadoop-env.cmd              httpfs-site.xml             yarn-env.cmd
hadoop-env.sh               log4j.properties            yarn-env.sh
hadoop-metrics2.properties  mapred-env.cmd              yarn-site.xml
hadoop-metrics.properties   mapred-env.sh
hadoop-policy.xml           mapred-queues.xml.template
这里要修改:core-site.xml ,hadoop-env.sh ,hdfs-site.xml ,mapred-site.xml,yarn-site.xml五个。

3.1 core-site.xml

<configuration>

<!--hdfs临时文件存放位置-->
<property>
<name>haddop.tmp.dir</name>
<value>/hadoop/hadoop-2.2.0/tmp</value>
</property>
<property>

<!--hdfs的namenode的通信地址-->

<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<final>true</final>
</property>
</configuration>

3.2 hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_79
这里是重新配置JAVA_HOME

3.3 hdfs-site.xml

<configuration>

<!--这里是配置nameode的文件存放位置,若这里没有配置不会影响namenode数据存放

他会默认存放到core-site.xml文件中配置的tmp文件下,命名为name-->

<property>
<name>dfs.namenode.name.dir</name>
<value>/dfs/nameNodeData</value>
</property>

<!--这里是配置datanode的文件存放位置,若这里没有配置不会影响datanode数据存放

他会默认存放到core-site.xml文件中配置的tmp文件下,命名为data-->


<property>
<name>dfs.datanode.data.dir</name>
<value>/dfs/dataNodeData</value>
</property>

<!--这里是配置secondaryNamenode的文件存放位置,若这里没有配置不会影响datanode数据存放

他会默认存放到core-site.xml文件中配置的tmp文件下,命名好像是secondaryname之类的-->

<property>
<name>dfs.checkpoint.ir</name>
<value>/dfs/secondaryNamenodeData</value>
</property><property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

3.4 mapred-site.xml

这里的配置文件并不存在,只存在mapred-site.xml.template,需要重命名

mv mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

3.5 yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>


3.6 初始化hdfs

cd /hadoop/hadoop-2.2.0/bin

./hdfs namenode -format

信息中有:Storage directory /dfs/nameNodeData has been successfully formatted.
格式化成功。

3.7 开启hdfs服务,开启yarn服务

cd /hadoop/hadoop-2.2.0/sbin

./start-dfs.sh

这里由于没有配置ssh免密码登陆,所以会多次输入密码

./start-yarn.ssh

这里由于没有配置ssh免密码登陆,所以会多次输入密码

验证:

localhost:50070                              --[dfs]

localhost:8088                                --[yarn]

能打开就算配置成功

第四步:配置eclipse与hadoop集成









转载于:https://my.oschina.net/cavaliersyb/blog/469638

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值