Hadoop集群环境搭建
1、准备资料
虚拟机、Redhat6.5、hadoop-1.0.3、jdk1.6
2、基础环境设置
2.1配置机器时间同步
#配置时间自动同步
crontab -e
0 1 * * * root /usr/sbin/ntpdate cn.pool.ntp.org |
#手动同步时间
/usr/sbin/ntpdate cn.pool.ntp.org
2.2配置机器网络环境
#配置主机名 (hostname)
vi /etc/sysconfig/network
NETWORKING=yes #启动网络 NETWORKING_IPV6=no HOSTNAME=master #主机名 |
#修第一台 hostname 为 master
hostname master
#检测
hostname
#使用 setup 命令配置系统环境
setup
#检查ip配置
cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth0 BOOTPROTO=none HWADDR=00:0c:29:fc:3a:09 ONBOOT=yes NETMASK=255.255.255.0 IPADDR=192.168.1.100 TYPE=Ethernet |
#重新启动网络服务
/sbin/service network restart
#检查网络ip配置
/sbin/ifconfig
2.3关闭防火墙
2.4配置集群hosts列表
vi /etc/hosts
#添加一下内容到 vi 中
192.168.1.100 master 192.168.1.101 node1 #全分布式用到 192.168.1.101 node2 #全分布式用到
|
2.5创建用户账号和Hadoop部署目录和数据目录
#创建 hadoop 用户
/usr/sbin/groupadd hadoop
#分配 hadoop 到 hadoop 组中
/usr/sbin/useradd hadoop -g hadoop
#修改hadoop用户密码
Passwd hadoop
#创建 hadoop 代码目录结构
mkdir -p /opt/modules/hadoop/
#修改 目录结构权限拥有者为为hadoop
chown -R hadoop:hadoop /opt/modules/hadoop/
2.6生成登陆密钥
#切换到Hadoop 用户下
su hadoop
cd /home/hadoop/
#在master、node1、node2三台机器上都执行下面命令, 生成公钥和私钥
ssh-keygen -q -t rsa -N "" -f /home/hadoop/.ssh/id_rsa
cd /home/hadoop/.ssh
#把node1、node2上的公钥拷贝到master上
scp /home/hadoop/.ssh/ id_rsa.pub hadoop@master:/home/hadoop/.ssh/node1_pubkey
scp /home/hadoop/.ssh/ id_rsa.pub hadoop@master:/home/hadoop/.ssh/node2_pubkey
#在master上生成三台机器的共钥
cp id_rsa.pub authorized_keys
cat node1_pubkey >> authorized_keys
cat node2_pubkey >> authorized_keys
rm node1_pubkey node2_pubkey
#吧master上的共钥拷贝到其他两个节点上
scp authorized_keys node1: /home/hadoop/.ssh/
scp authorized_keys node1: /home/hadoop/.ssh/
#验证
ssh master
ssh node1
ssh node2
没有要求输入密码登陆,表示免密码登陆成功
3、伪分布式环境搭建
3.1下载并安装 JAVA JDK系统软件
#下载jdk
wget http://60.28.110.228/source/package/jdk-6u21-linux-i586-rpm.bin
#安装jdk
chmod +x jdk-6u21-linux-i586-rpm.bin
./jdk-6u21-linux-i586-rpm.bin
#配置环境变量
vi /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.6.0_21/ export PATH=$JAVA_HOME/bin: $PATH |
#手动立即生效
source /etc/profile
3.2 Hadoop 文件下载和安装
#切到 hadoop 安装路径下
cd /opt/modules/hadoop/
#从 hadoop.apache.org 下载Hadoop 安装文件
wget http://labs.renren.com/apache-mirror/hadoop/common/hadoop-1.0.3/hadoop-1.0.3.tar.gz
#如果已经下载,请复制文件到 安装hadoop 文件夹
cp hadoop-1.0.3.tar.gz /opt/modules/hadoop/
#解压hadoop-1.0.3.tar.gz
cd /opt/modules/hadoop/
tar -xvf hadoop-1.0.3.tar.gz
#配置环境变量
vi /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.6.0_21/ export HADOOP_HOME=/opt/modules/hadoop/hadoop-1.0.3/ export HADOOP_HOME_WARN_SUPPRESS=1 export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH |
#手动立即生效
source /etc/profile
3.3配置 hadoop-env.sh 环境变量
#配置jdk。
# The java implementation to use. Required.
export JAVA_HOME=/usr/java/jdk1.6.0_21/
3.4 Hadoop Common组件 配置 core-site.xml
#编辑 core-site.xml 文件
vi /opt/modules/hadoop/hadoop-1.0.3/conf/core-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> <description>hadoop namenode 服务器地址和端口,以域名形式</description> </property> </configuration> |
3.5 HDFS NameNode,DataNode组建配置 hdfs-site.xml
vi /opt/modules/hadoop/hadoop-1.0.3/conf/hdfs-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration> <property> <name>dfs.replication</name> <value>2</value> <description>HDFS数据保存份数,通常是3 </description> </property> </configuration> |
3.6 配置MapReduce - JobTracker TaskTracker 启动配置
vi /opt/modules/hadoop/hadoop-1.0.3/conf/mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> <description>JobTracker rpc主机和端口</description> </property> </configuration> |
3.7格式化文件
#启动切换到hadoop用户
su hadoop
#格式化文件
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop namenode -format
3.8 Hadoop单机系统,启动执行和异常检查
#启动 Master node :
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start namenode
#启动 JobTracker:
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start jobtracker
#启动 secondarynamenode:
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start secondarynamenode
#启动 DataNode && TaskTracker:
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start datanode
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start tasktracker
停止,命令相同,将start换为stop
#出现错误可查看日志
tail -f /opt/modules/hadoop/hadoop-1.0.3/logs/*
#jps列出所有守护进程验证安装成功
3.9 通过界面查看集群部署部署成功
#检查 namenode 和 datanode 是否正常
|
#检查 jobtracker 和 tasktracker 是否正常
|
3.10 通过执行 Hadoop pi 运行样例检查集群是否成功
cd /opt/modules/hadoop/hadoop-1.0.3
bin/hadoop jar hadoop-examples-1.0.3.jar pi 10 100
#集群正常效果如下
12/07/15 10:50:48 INFO mapred.FileInputFormat: Total input paths to process : 10 12/07/15 10:50:48 INFO mapred.JobClient: Running job: job_201207151041_0001 12/07/15 10:50:49 INFO mapred.JobClient: map 0% reduce 0% 12/07/15 10:51:42 INFO mapred.JobClient: map 40% reduce 0% 12/07/15 10:52:07 INFO mapred.JobClient: map 70% reduce 13% 12/07/15 10:52:10 INFO mapred.JobClient: map 80% reduce 16% 12/07/15 10:52:11 INFO mapred.JobClient: map 90% reduce 16% 12/07/15 10:52:22 INFO mapred.JobClient: map 100% reduce 100% ..................... 12/07/15 10:52:28 INFO mapred.JobClient: Virtual memory (bytes) snapshot=2155343872 12/07/15 10:52:28 INFO mapred.JobClient: Map output records=20 Job Finished in 100.608 seconds Estimated value of Pi is 3.14800000000000000000 |
3.11 安装部署 常见错误
主机文件/etc/hosts中主机列表IP错误。物理硬盘的权限均应为hadoop:hadoop,执行启动也应su为hadoop用户。比较常见是出现权限错误导致无法启动故障。
如果遇到服务无法启动。请检查 $HADOOP_HOME/logs/ 目录具体日志情况。
tail -n 100 $HADOOP_HOME/logs/*namenode* #检查namenode 服务日志
tail -n 100 $HADOOP_HOME/logs/*datanode* #检查datanode服务日志
Tail -n 100 $HADOOP_HOME/logs/*jobtracker* #检查jobtracker服务日志
4、全分布式环境搭建
4.1 配置master 集群服务器地址 stop-all.sh start-all.sh 的时候调用
#设置 hadoop secondary node hostname批量启动的地址
#配置secondary的地址
vi /opt/modules/hadoop/hadoop-1.0.3/conf/masters
master |
#配置 datanode 和 tasktracker 的地址
vi /opt/modules/hadoop/hadoop-1.0.3/conf/slaves
node1 node2 |
4.2复制 master hadoop到 node1 node2节点服务器上
#切换到 hadoop 用户下
su hadoop
scp -r /opt/modules/hadoop/hadoop-1.0.3/ node1:/opt/modules/hadoop/
scp -r /opt/modules/hadoop/hadoop-1.0.3/ node1:/opt/modules/hadoop/
4.3 格式化node1 node2 上的HDFS文件系统
hadoop namenode –format
4.4 批量启动和关闭集群
#全部启动
/opt/modules/hadoop/hadoop-1.0.3/bin/start-all.sh
#全部关闭
/opt/modules/hadoop/hadoop-1.0.3/bin/stop-all.sh
4.5 通过界面查看集群部署部署成功
#检查 namenode 和 datanode 是否正常
#检查 jobtracker 和 tasktracker 是否正常
hadoop fs -ls /
hadoop fs -mkdir /data/
5 自动化安装脚本
为加快服务器集群的安装和部署,会使用自动化安装脚本安装。以下为自动化部署脚本样例 。脚本中#红色部分具体参考以上配置做具体修改。本脚本里面的安装包用于 64位服务器安装,32位安装包需要单独下载修改。
5.1 master 服务器自动安装脚本
#hadoop_install.sh,将以下放入shell脚本中并执行。
vi hadoop_install.sh
#!/bin/sh yum -y install lrzsz gcc gcc-c++ libstdc++-devel ntp #安装gcc 基础环境 echo "0 1 * * * root /usr/sbin/ntpdate cn.pool.ntp.org" >> /etc/crontab #配置时间同步 /usr/sbin/ntpdate cn.pool.ntp.org #手动同步时间 /usr/sbin/groupadd hadoop #新增hadoop 群组 /usr/sbin/useradd hadoop -g hadoop #新增Hadoop 用户并绑定到hadoop 群中
#安装依赖包并设置hadoop用户 mkdir -p /opt/modules/hadoop/ mkdir -p /opt/data/hadoop/ chown hadoop:hadoop /opt/data/hadoop/
#配置 /etc/hosts ip 对应主机名称 echo -e "127.0.0.1\tlocalhost.localdomain localhost #::1\tlocalhost6.localdomain6 localhost6 #机架1 192.168.1.100\thadoopmaster 192.168.1.101\thadoopslave 192.168.1.101\thadoop-node-101 " > /etc/hosts
#获取服务器外网IP并替换host中127.0.0.1 collect-* IP=`/sbin/ifconfig eth0 | grep "inet addr" | awk -F":" '{print $2}' | awk -F" " '{print $1}'` sed -i "s/^127.0.0.1\tcollect/${IP}\tcollect/g" /etc/hosts
echo "----------------env init finish and prepare su hadoop---------------"
HADOOP=/home/hadoop
cd $HADOOP
#生成密钥 sudo -u hadoop mkdir .ssh ssh-keygen -q -t rsa -N "" -f $HADOOP/.ssh/id_rsa Cd$HADOOP/.ssh/ && echo "#此处需要 cat master id_rsa.pub" > $HADOOP/.ssh/authorized_keys chmod go-rwx $HADOOP/.ssh/authorized_keys #修改文件权限
cd $HADOOP
#下载已经配置好的 Hadoop 集群包 wget http://60.28.110.228/source/package/hadoop/hadoop_gz.tar.gz wget http://60.28.110.228/source/package/hadoop/hadoop_rpm.tar.gz
mkdir $HADOOP/hadoop mv *.tar.gz $HADOOP/hadoop cd $HADOOP/hadoop tar zxvf hadoop_rpm.tar.gz tar zxvf hadoop_gz.tar.gz
rpm -ivh jdk-6u21-linux-amd64.rpm rpm -ivh lrzsz-0.12.20-19.x86_64.rpm rpm -ivh lzo-2.04-1.el5.rf.x86_64.rpm rpm -ivh hadoop-gpl-packaging-0.2.8-1.x86_64.rpm
tar xzvf lzo-2.06.tar.gz cd lzo-2.06 && ./configure --enable-shared && make && make install cp /usr/local/lib/liblzo2.* /usr/lib/ cd ..
tar xzvf lzop-1.03.tar.gz cd lzop-1.03 ./configure && make && make install && cd ..
chown -R hadoop:hadoop /opt/modules/hadoop/
cp hadoop-node-0.20.203.0.tar.gz /opt/modules/hadoop/ cd /opt/modules/hadoop/ && tar -xzvf hadoop-node-0.20.203.0.tar.gz
chown -R hadoop:hadoop /opt/modules/hadoop/ chown -R hadoop:hadoop /home/hadoop |
|
相关推荐
Hadoop集群环境搭建是大数据处理的核心组件之一,本文将详细介绍Hadoop集群环境的搭建过程,包括集群规划、前置条件、免密登录、集群搭建、提交服务到集群等几个方面。 集群规划 在搭建Hadoop集群环境时,需要首先...
"hadoop集群环境的搭建" Hadoop 是一个开源的大数据处理框架,由Apache基金会开发和维护。它可以实现大规模数据的存储和处理,具有高可扩展性、可靠性和高性能等特点。搭建 Hadoop 集群环境是实现大数据处理的重要...
基于Centos7下的hadoop2.7集群的搭建。(在vmware中的2台虚拟机。)
在Linux环境下搭建Hadoop集群是一项复杂但至关重要的任务,它为大数据处理提供了强大的分布式平台。以下将详细介绍如何在一台虚拟机上安装多台Linux服务节点,并构建Hadoop集群环境。 首先,我们需要准备一个基础...
Hadoop 集群架构搭建分析是指设计和搭建一个高效、可靠、可扩展的 Hadoop 集群环境,以满足大数据处理和分析的需求。本文将从概述、环境准备、环境搭建三个方面对 Hadoop 集群架构搭建进行分析。 一、概述 Hadoop ...
Hadoop集群环境搭建,实战篇
在大数据领域,Hadoop是一个广泛使用的开源框架,用于存储和处理海量数据。本文将详细讲解如何搭建一个...这个超详细的教程覆盖了从零开始到集群搭建完成的全过程,按照步骤执行,可以轻松掌握Hadoop集群搭建技术。
在Eclipse中,可以通过以下步骤建立与Hadoop集群的连接: 1. **打开Map/Reduce Locations**:在Eclipse下方窗口找到“Map/Reduce Locations”。 2. **新建Hadoop Location**:在空白区域右键单击,选择“New Hadoop...
### 基于Hadoop集群搭建HBase集群详解 #### 一、引言 随着大数据技术的迅猛发展,海量数据的高效存储与处理成为企业关注的重点。Hadoop作为一款能够处理大量数据的基础框架,被广泛应用于各类场景之中。然而,在...
Linux Info: Ubuntu 16.10 x64 Docker 本身就是基于 Linux 的,所以首先以我的一台服务器做实验。虽然最后跑 wordcount 已经由于内存不足而崩掉,但是之前的过程还是可以参考的。 连接服务器 使用 ssh 命令连接远程...
根据提供的文件信息,下面将详细介绍在虚拟机上搭建Hadoop集群环境的相关知识点。 1. 安装虚拟机和操作系统 首先,需要安装虚拟机软件,例如文档中提到的VMware Workstation,它是一款流行的虚拟化软件,可以安装在...
综上所述,这个压缩包提供了全面的Hadoop集群搭建教程,涵盖了从基础环境准备、服务器配置、Hadoop安装、SSH和FTP服务的设置,到集群管理和维护等多个环节。对于想要学习和实践Hadoop大数据处理的人来说,这是一个...
hadoop单机和集群搭建过程,一共三个节点,很详细,每一步都有截图
以上内容是Hadoop集群搭建的基础步骤和关键知识点,具体的实施过程中可能需要根据实际环境进行调整。提供的文档资料应详细记录了每一步的操作,帮助读者理解和实践Hadoop集群的搭建。通过这份文档,你可以学习到...
搭建一个Hadoop集群是一个复杂的过程,但为了更好的理解,我们将这个过程拆解成几个主要步骤,并且由于本文档是在Mac环境下进行Hadoop集群搭建的指南,我们需要专注于特定于Mac和VMware Fusion的步骤。 1. 创建...
脚本搭建hadoop集群 可以自定义主机名和IP地址 可以自定义安装jdk和hadoop(格式为*tar.gz) 注意事项 1、安装完jdk和hadoop请手动source /etc/profile 刷新环境变量 2测试脚本环境为centOS6,其他操作系统会有些...
Hadoop集群搭建详解 Hadoop是一个开源的分布式计算平台,由 Apache 软件基金会开发,核心组件包括HDFS(Hadoop Distributed Filesystem)和MapReduce。HDFS是一个分布式文件系统,提供了对文件系统的命名空间和...
本教程“Hadoop集群搭建详细简明教程”将带你逐步走进Hadoop的世界,了解并掌握如何构建一个高效稳定的Hadoop集群。 Hadoop是由Apache基金会开发的一个开源项目,其核心包括两个主要组件:Hadoop Distributed File ...