centos7.1安装部署Hadoop

简介: http://blog.csdn.net/u012852986/article/details/51488496明明之前已经在Ubuntu上部署过Hadoop了,换到CentOS又卡了好久,还是好弱,赶紧写篇博客记录下来。

http://blog.csdn.net/u012852986/article/details/51488496

明明之前已经在Ubuntu上部署过Hadoop了,换到CentOS又卡了好久,还是好弱,赶紧写篇博客记录下来。

一、安装JDK,配置环境变量

(1)查看CentOS自带JDK是否已安装

yum list installed|grep java

[图片上传中...(image-714da0-1513668920940-33)]

[图片上传中...(image-b5ea8f-1513668920938-20)]

**这里

我已经安装过了java-1.8.0-openjdk,为了方便演示所以就当做自带环境了,不影响接下来的操作。(这里补充一下jdk和openjdk的区别:简单来讲,openjdk只包含最精简的jdk,而且两者授权协议不同,openjdk采用GPL V2协议,jdk采用JRL,虽然都是开源,但前者可以用于商业,后者只能用于个人)**

(2)卸载自带的Java环境

yum -y remove java-1.8.0-openjdk

(注意不要漏掉*,表示卸载所有openjdk相关文件,-y表示选项默认选yes)

[图片上传中...(image-b60898-1513668920937-4)]

[图片上传中...(image-9b7fb-1513668920937-7)]

(3)查看yum库中的Java包

*yum -y list java

注意*

)**

[图片上传中...(image-5cfd82-1513668920938-19)]

[图片上传中...(image-220169-1513668920937-6)]

(4)使用yum安装Java环境

*yum -y install java-1.8.0-openjdk

注意*

)**

[图片上传中...(image-990a11-1513668920937-3)]

[图片上传中...(image-385943-1513668920936-0)]

安装

完成后,就可以通过java -version和javac来查看刚安装的Java版本信息了

[图片上传中...(image-b4f49b-1513668920937-2)]

[图片上传中...(image-203962-1513668920937-1)]

(5)配置环境变量

vim /etc/profile

添加下面几行内容

[图片上传中...(image-35926f-1513668920938-18)]

[图片上传中...(image-989626-1513668920937-5)]

保存退出之后,再执行source /etc/profile

至此Java环境就配置成功了,接下来是Hadoop的配置。

二、配置Hadoop

(1)下载Hadoop压缩包

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz

[图片上传中...(image-48952e-1513668920938-17)]

**(

2)解压缩**

tar -zxvf hadoop-1.2.1.tar.gz

[图片上传中...(image-9d28ce-1513668920939-32)]

[图片上传中...(image-ca525a-1513668920938-16)]

**(

3)4个需要配置的文件**

[图片上传中...(image-92961a-1513668920939-31)]

[图片上传中...(image-b6991b-1513668920938-15)]

**(

3-1)配置hadoop-env.sh**

这个文件是hadoop配置的环境变量等信息

vim hadoop-env.sh

[图片上传中...(image-58f914-1513668920939-30)]

[图片上传中...(image-dbfe6e-1513668920938-14)]

**将

这行的注释取消(去掉#)同时修改JAVA_HOME路径为上文配置Java环境变量时的JAVA_HOME路径**

(3-2)配置core-site.xml

这个文件是用做全局配置

vim core-site.xml

[图片上传中...(image-783d57-1513668920939-29)]

[图片上传中...(image-e37302-1513668920938-13)]

**具体

配置情况如上图,其中doarcutine为我主机的hostname,hostname通过输入**

hostname

就可以得到,这里还要注意主机名尽量不要包含特殊符号,centos修改主机名可以通过如下指令

sudo hostname doarcutine

[图片上传中...(image-b7c2b7-1513668920939-28)]

(3-3)配置hdfs-site.xml

这个文件是hdfs的局部配置(hadoop的关键就是hdfs和MapReduce,自然要对这两个分别做设置)

vim hdfs-site.xml

[图片上传中...(image-a350f8-1513668920939-27)]

[图片上传中...(image-283547-1513668920938-12)]

**配置

情况如上图**

(3-4)配置mapred-site.xml(mapred其实就是MapReduce的意思)

vim mapred-site.xml

[图片上传中...(image-8075e5-1513668920939-26)]

[图片上传中...(image-f7ef66-1513668920938-11)]

(4)配置环境变量

vim /etc/profile

添加如下两项内容

[图片上传中...(image-ef91ed-1513668920939-25)]

[图片上传中...(image-f2f862-1513668920938-10)]

**s

ource /etc/profile**

执行之后,可以通过执行

hadoop

[图片上传中...(image-582199-1513668920939-24)]

查看hadoop是否可以正常找到执行程序

[图片上传中...(image-c399fc-1513668920938-9)]

**(

5)格式化namenode**

这里可能遇到问题,见下文(7)

这是执行之前的第一步,为什么要格式化呢?因为hadoop可以看做一个单独的文件系统(准确的说是hdfs),所以就像空硬盘需要格式化一样,通过格式化让存储空间知道以什么方式组织数据。

**hadoop namenode -format (

建议在bin目录下执行

)**

[图片上传中...(image-22f042-1513668920938-23)]

[图片上传中...(image-e3f021-1513668920937-8)]

**(

6)启动start-all.sh**

这里可能遇到问题,见下文(7)

cd /opt/hadoop-1.2.1/bin

进入这个目录下,我们可以看到有start-all.sh这样一个文件,我们可以在任意一个地方执行这个文件。

start-all.sh

启动成功后如下图,输入jps可以看到启动的项目

[图片上传中...(image-954755-1513668920938-22)]

[图片上传中...(image-cf3756-1513668920938-21)]

大功告成

(7)一些可能遇到的问题

(7-1)执行(5)时如果报错,则很有可能是Java路径配置有问题,注意查看/etc/profile和/opt/hadoop-1.2.1/conf/hadoop-env.sh这两个文件中Java路径是否正确。

**(7-2)执行(6)时

如果报错异常了,并且有一句是Caused by: java.lang.RuntimeException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence。那么原因就是当前系统用的语言是GBK,所以需要前面配置的3个xml用GBK编码,当然更好的方式是把系统语言改成utf8,具体修改方法参考http://blog.csdn.net/wave_1102/article/details/45116783**

(7-3)执行(6)总提示localhost的密码不对。

**执行命令 ssh localhost,查看ssh是否可以免密码登录,如果不可以,启动下面命令:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys**

之后应该可以了 如果还是不可以就从新设置一下ssh文件权限之后再执行上述命令应该就可以了

**(7-4)执行jps后,进程数目不正常(比截图中要少,只有其中的个别几个),这个原因在于配置文件中主机名错误,建议修改为一个没有特殊字符的主机名,修改方式见(3-2),然后/opt/hadoop-1.2.1/conf/core-site.xml和

/opt/hadoop-1.2.1/conf/mapred-site.xml修改两个文件中主机名。**

相关文章
|
3月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
201 0
|
21天前
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
3月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
291 80
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
89 2
|
2月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
228 0
虚拟机centos7.9一键部署docker
|
3月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
567 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
3月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
135 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
4月前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
95 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
3月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
142 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
4月前
|
Linux 数据安全/隐私保护 虚拟化
centos7部署openVPN
centos7部署openVPN