热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop2.7集群安装指南

Hadoop2.7集群安装安装环境是centOS环境。有三个下面的主机:balance01hadoop_masterbalance02node02balance0

Hadoop 2.7集群安装

安装环境是centOS环境。有三个下面的主机:

balance01 hadoop_master
balance02 node02
balance03 node03

配置Linux安装账号

三步创建一个用户,使他有与root一样的权限。

1) 用root下,创建一个用户“app” 组 

[root@daddylinux~]#groupadd app

2) 创建APP并添加到app组

[root@daddylinux~]#useradd app –g app
[root@daddylinux~]#passwd app

3) 限定app使用root特权,如下所示,编辑visudo文件。

[root@daddylinux~]# visudo
# 在最后一行,添加下列信息。
app ALL=(ALL) ALL

退出并保存。

安装必要的依赖库

在目标集群的机器上执行下面shell脚本:

sudo yum -y install lzo-devel zlib-devel gcc autoconf automake libtool cmake openssl-devel

安装protobuf-java

下载最新版的protobuf java版本2.5.0:

$curl -i
https://github-cloud.s3.amazonaws.com/releases/23357588/09f5cfca-d24e-11e4-9840-20d894b9ee09.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAISTNZFOVBIJMK3TQ%2F20161021%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20161021T025702Z&X-Amz-Expires=300&X-Amz-Signature=a7df369f2f7b389193306c85f4d5aba58a6cc2bf7778da54f59658af6bc27b00&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dprotobuf-2.5.0.tar.gz&response-content-type=application%2Foctet-stream $ tar xvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
##安装
$./configure && make && make install

安装maven

下载最新的maven包,现在最新的是apache-maven-3.3.9-bin.tar。解压做到指定的目录下。下面是具体的执行命令:

$ ls
apache-maven-3.3.9-bin.tar.gz
$pwd
/opt/h2
$ tar xvf apache-maven-3.3.9-bin.tar.gz
$ mv apache-maven-3.3.9 maven

配置mvn

$sudo vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_77
export M2HOME=/opt/h2/maven
export PATH=$JAVA_HOME/bin:$M2HOME/bin:$PATH
#保存并退出$source /etc/profile
$mvn -version
$mvn -versioin
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /opt/h2/maven
Java version: 1.8.0_77, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.8.0_77/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-279.el6.x86_64", arch: "amd64", family: "unix"

编译Hadoop源码

下载最新的稳定版本hadoop源码(现在最新是hadoop-2.7.3-src.tar.gz)。

$tar –xvf hadoop-2.7.3-src.tar.gz
$mv hadoop-2.7.3 hadoop
$cd hadoop
$mvn clean package -Pdist,native -DskipTests -Dtar

编译成功后,可以看到上面的信息。

Hadoop-dist/target/hadoop-2.7.3.tar.gz

为需要的编译文件。解压缩到/opt/h2目录下。 

修改hostname

修改hostname只需要两个步骤:

### 显示hostname
#$ hostname
localhost.localdomain
### 修改hostname
#hostname balance02
#vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=balance02
###保存并退出即可

安装上面步骤设置balance01,balance02, balance03主机。最后,修改每台机器的hosts文件,添加下面内容: 

192.168.234.155 balance03 node2
192.168.234.33 balance02 node1
192.168.234.154 balance01 hadoopmaster

SSH设置

在每台机上运行: 

ssh-keygen -t rsa

接着不断按Enter键,记住不能够设置密码。

cd ~/.ssh

进入到.ssh 目录中,运行:

cp id_rsa.pub authorized_keys

每个节点运行上面命令。 
然后,运行: 

#master machine
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
ssh-copy-id -i ~/.ssh/id_rsa.pub node2
#slavemachine

ssh-copy-id -i ~/.ssh/id_rsa.pub Hadoopmaster

hadoopmaster能够直接通过ssh node1或者ssh node2登陆对应节点,表示配置成功了。 

配置Hadoop

设置haoop环境变量

确保已经安装了jvm1.8.0_77,没有安装,执行下面shell脚本。 

curl -L --COOKIE "oraclelicense=accept-securebackup-COOKIE"
http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.tar.gz -o jdk-8-linux-x64.tar.gz
tar -xvf jdk-8-linux-x64.tar.gz
mkdir -p /usr/lib/jvm
mv ./jdk1.8.* /usr/lib/jvm/ update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_77/bin/java" 1
update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_77/bin/javac" 1
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.0_77/bin/javaws" 1 chmod a+x /usr/bin/java
chmod a+x /usr/bin/javac
chmod a+x /usr/bin/javaws rm jdk-8-linux-x64.tar.gz
java –version

配置环境变量 
$vi ~/.bashrc 

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_77
export HADOOP_INSTALL=/opt/h2
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
export YARN_HOME=$HADOOP_INSTALL

$source ~/.bashrc 

Hadoop-env.sh

修改hadoop-env.sh,添加配置Namenode使用parallelGC: 

export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"

core-site.xml

#修改为: fs.defaultFS hdfs://hadoopmaster:9000 NameNode URI

hdfs-site.xml

dfs.permissions.enabledfalsedfs.replication2dfs.namenode.name.dir/opt/h2/hdfs/namenodedfs.datanode.data.dir/opt/h2/hdfs/datanode

mapred-site.xml


mapreduce.framework.nameyarnExecution framework.

mapreduce.jobtracker.addresshadoopmaster:9001


yarn-site.xml


yarn.resourcemanager.hostnamehadoop_master

yarn.nodemanager.aux-services.mapreduce_shuffle.classorg.apache.hadoop.mapred.ShuffleHandler

yarn.nodemanager.aux-servicesmapreduce_shuffle

yarn.resourcemanager.addresshadoopmaster:8032

yarn.resourcemanager.scheduler.addresshadoopmaster:8030

yarn.resourcemanager.resource-tracker.addresshadoopmaster:8031

yarn.nodemanager.vmem-pmem-ratio3


masters slaves

添加masters slaves文件的ip地址。 
mastes文件:

hadoopmaster

slaves文件:

node1
node2

验证是否安装成功

启动fds

运行start-dfs.sh命令启动fds。成功启动后,可以使用下面命令验证是否成功。

[app@balance01 h2]$ hdfs dfs -mkdir /tmp
[app@balance01 h2]$ hdfs dfs -put NOTICE.txt /tmp/
[app@balance01 h2]$ hdfs dfs -ls /tmp
Found 1 items
-rw-r--r-- 2 app supergroup 14978 2016-10-24 11:27 /tmp/NOTICE.txt

启动yarn

运行start-yarn.sh命令启动yarn。成功启动后,可以使用下面命令验证是否成功。

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar pi 2 5
……
Job Finished in 28.235 seconds
Estimated value of Pi is 3.60000000000000000000

浏览WEB UI

NameNode的管理界面: http://{hadoopmaster}:8088/cluster

MapReduce JobHistory 的浏览界面:

http://{jms_address}:8088/cluster

必须启动JobHistory的进程,

mr-jobhistory-daemon.sh start historyserver

MapReduce 管理页面:

http://{hadoopmaster}:8088/cluster


欢迎加入微信公众号



推荐阅读
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 在安装 iOS 开发所需的 CocoaPods 时,用户可能会遇到多种问题。其中一个常见问题是,在执行 `pod setup` 命令后,系统无法连接到 GitHub 以更新 CocoaPods/Specs 仓库。这可能是由于网络连接不稳定、GitHub 服务器暂时不可用或本地配置错误等原因导致。为解决此问题,建议检查网络连接、确保 GitHub API 限制未被触发,并验证本地配置文件是否正确。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 在使用 `requests` 库进行 HTTP 请求时,如果遇到 `requests.exceptions.SSLError: HTTPSConnectionPool` 错误,通常是因为 SSL 证书验证失败。解决这一问题的方法包括:检查目标网站的 SSL 证书是否有效、更新本地的 CA 证书库、禁用 SSL 验证(不推荐用于生产环境)或使用自定义的 SSL 上下文。此外,确保 `requests` 库和相关依赖项已更新到最新版本,以避免潜在的安全漏洞。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 在无网络环境下于CentOS 7系统中离线部署Nginx服务器
    nginx背景俄罗斯程序员IgorSysoev创建,于2004年NGINX首次发布,来解决C10K问题(10000并发客户端连接到单个服务器,导致服务器连接数过多崩溃的问题),是一 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 如何使用 `org.apache.tomcat.websocket.server.WsServerContainer.findMapping()` 方法及其代码示例解析 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
author-avatar
学生联盟v
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有