文档章节

hadoop2.2.0伪分布式搭建

施耀邦
 施耀邦
发布于 2015/06/23 11:25
字数 1489
阅读 146
收藏 5

第一步:安装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集成









© 著作权归作者所有

上一篇: centos7静态IP设置
下一篇: freemarker使用
施耀邦
粉丝 2
博文 19
码字总数 22760
作品 0
杭州
程序员
私信 提问
hadoop 2.2.0 编译运行wordcount

hadoop2.2.0 编译运行wordcount,因为hadoop2.2.0不支持eclipse的插件,所以运行wordcount,需要手动编译并将wordcount打包成jar包来运行,下面记录一下编译运行的过程,希望能给大家有些帮助...

Adel
2014/09/05
692
1
ZooKeeper一二事 - 搭建ZooKeeper伪分布式及正式集群 提供集群服务

集群真是好好玩,最近一段时间天天搞集群,redis缓存服务集群啦,solr搜索服务集群啦,,,巴拉巴拉 今天说说zookeeper,之前搭建了一个redis集群,用了6台机子,有些朋友电脑跑步起来,有点...

风间影月
2016/05/02
0
0
好程序员大数据笔记之:Hadoop集群搭建

在学习大数据的过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天集中总结以下笔记,希望对各位同学...

好程序员IT
05/21
17
0
ZooKeeper的伪分布式集群搭建以及真分布式集群搭建

zk集群的一些基本概念 zookeeper集群搭建: zk集群,主从节点,心跳机制(选举模式) 配置数据文件 myid 1/2/3 对应 server.1/2/3 通过 zkCli.sh -server [ip]:[port] 命令检测集群是否配置成...

ZeroOne01
2018/04/24
0
0
hadoop2.0集群搭建详解

hadoop2.2.0集群搭建 PS:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的, 因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装 hadoop-2.2.0就需要重新在64操作系统上重...

迪allen
2014/03/31
10.7K
11

没有更多内容

加载失败,请刷新页面

加载更多

Hibernate 5 的模块/包(modules/artifacts)

Hibernate 的功能被拆分成一系列的模块/包(modules/artifacts),其目的是为了对依赖进行独立(模块化)。 模块名称 说明 hibernate-core 这个是 Hibernate 的主要(main (core))模块。定义...

honeymoose
今天
4
0
CSS--属性

一、溢出 当内容多,元素区域小的时候,就会产生溢出效果,默认是纵向溢出 横向溢出:在内容和容器之间再套一层容器,并且内部容器要比外部容器宽 属性:overflow/overflow-x/overflow-y 取值...

wytao1995
今天
4
0
精华帖

第一章 jQuery简介 jQuery是一个JavaScript库 jQuery具备简洁的语法和跨平台的兼容性 简化了JavaScript的操作。 在页面中引入jQuery jQuery是一个JavaScript脚本库,不需要特别的安装,只需要...

流川偑
今天
7
0
语音对话英语翻译在线翻译成中文哪个方法好用

想要进行将中文翻译成英文,或者将英文翻译成中文的操作,其实有一个非常简单的工具就能够帮助完成将语音进行翻译转换的软件。 在应用市场或者百度手机助手等各大应用渠道里面就能够找到一款...

401恶户
今天
3
0
jenkins 插件下载加速最终方案

推荐做法 1、告诉jenkins 我哪些插件需要更新 jenkins插件清华大学镜像地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 1.进入jenkins系统管理 2.进入插件管...

vasks
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部