设为首页 收藏本站
查看: 909|回复: 0

[经验分享] 1 Hadoop集群环境搭建

[复制链接]

尚未签到

发表于 2016-12-3 10:53:04 | 显示全部楼层 |阅读模式
Hadoop集群环境搭建
1、准备资料
虚拟机、Redhat6.5hadoop-1.0.3jdk1.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/
 
#masternode1node2三台机器上都执行下面命令, 生成公钥和私钥
ssh-keygen -q -t rsa -N "" -f /home/hadoop/.ssh/id_rsa
cd  /home/hadoop/.ssh
#node1node2上的公钥拷贝到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 是否正常
http://master:50070/
 
1

 
  
 
#检查 jobtracker tasktracker 是否正常
http://master:50030/
 
1

 
  
 
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,执行启动也应suhadoop用户。比较常见是出现权限错误导致无法启动故障。
如果遇到服务无法启动。请检查 $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 是否正常
http://master:50070/

 
#检查 jobtracker tasktracker 是否正常
http://master:50030/
 
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并替换host127.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
 
 

 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-309064-1-1.html 上篇帖子: mac Hadoop安装 下篇帖子: hadoop单机安装要点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表