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

[经验分享] hadoop(2.5) 分布式部署

[复制链接]

尚未签到

发表于 2018-10-30 12:32:02 | 显示全部楼层 |阅读模式
1. 部署环境
  系统:  CentOS 6.3
  需要安装jdk.
  JDK的RPM下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
  hadoop手册地址: http://hadoop.apache.org/docs/r1.2.1/index.html
  关闭iptables和selinux
/etc/init.d/iptables stop  
chkconfig iptables off
  
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  
setenforce 0
2. SSH配置
useradd hadoop  
echo 123456 | passwd --stdin hadoop
  
su - hadoop
  

  
ssh-keygen -t rsa                                      #生成密钥对
  
ssh-copy-id user@ip                                    #将ssh公钥copy到指定的主机
  

  
cd .ssh #每台服务器本机也需要配置ssh免密码登录
  
cat id_rsa.pub  >> authorized_keys
3. 部署hadoop
  官网: http://hadoop.apache.org/
  下载: http://mirror.bit.edu.cn/apache/hadoop/common/
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.5.0/hadoop-2.5.0.tar.gz  
tar xf hadoop-2.5.0.tar.gz
  

  
cd hadoop-2.5.0
  
mkdir data                         #用来存放数据块的,在slave中才会用到
  
mkdir name                         #用来存放元数据的,在namenode中才会用
  
mkdir tmp                          #tmp主要用来存放临时数据
修改配置
  涉及到的配置文件有7个:
  etc/hadoop/hadoop-env.sh
  etc/hadoop/yarn-env.sh
  etc/hadoop/slaves
  etc/hadoop/core-site.xml
  etc/hadoop/hdfs-site.xml
  etc/hadoop/mapred-site.xml
  etc/hadoop/yarn-site.xml
  以上个别文件默认不存在的, 可以复制相应的template文件获得
    1. etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67    2. etc/hadoop/yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67    3. etc/hadoop/slaves
  secondarynamenode和master分离的时候在masters文件中记录
hadoop2  
hadoop3
     4. etc/hadoop/core-site.xml
  

  
fs.defaultFS
  
hdfs://hadoop1:9200
  

  

  

  
io.file.buffer.size
  
131072
  

  

  

  
hadoop.tmp.dir
  
file:/home/hadoop/hadoop-2.5.0/tmp                                #设置hadoop临时目录
  
Abase for other temporary directories.
  

  

  

  
hadoop.proxyuser.hduser.hosts
  
*
  

  

  

  
hadoop.proxyuser.hduser.groups
  
*
  

  

    5. etc/hadoop/hdfs-site.xml
  

  
dfs.namenode.secondary.http-address
  
hadoop1:9001
  

  

  

  
dfs.namenode.name.dir
  
file:/home/hadoop/hadoop-2.5.0/name
  

  

  

  
dfs.datanode.data.dir
  
file:/home/hadoop/hadoop-2.5.0/data
  

  

  

  
dfs.replication
  
1
  

  

  

  
dfs.webhdfs.enabled
  
true
  

  

    6. etc/hadoop/mapred-site.xml
  

  
mapreduce.framework.name
  
yarn
  

  

  

  
mapreduce.jobhistory.address
  
hadoop1:10020
  

  

  

  
mapreduce.jobhistory.webapp.address
  
hadoop1:19888
  

  

    7. etc/hadoop/yarn-site.xml
  

  
yarn.nodemanager.aux-services
  
mapreduce_shuffle
  

  

  

  
yarn.nodemanager.aux-services.mapreduce.shuffle.class
  
org.apache.hadoop.mapred.ShuffleHandler
  

  

  

  
yarn.resourcemanager.address
  
hadoop1:8032
  

  

  

  
yarn.resourcemanager.scheduler.address
  
hadoop1:8030
  

  

  

  
yarn.resourcemanager.resource-tracker.address
  
hadoop1:8031
  

  

  

  
yarn.resourcemanager.admin.address
  
hadoop1:8033
  

  

  

  
yarn.resourcemanager.webapp.address
  
hadoop1:8088
  

  

4.  启动集群并检验
  将hadoop目录分发到各节点
scp -r /home/hadoop/hadoop-2.5.0  ip:/home/hadoop  格式化namenode
./bin/hdfs namenode -format  启动hdfs
./sbin/start-dfs.sh  此时在hadoop1上面运行的进程有: NameNode   SecondaryNameNode
  hadoop2和hadoop3上面运行的进程有: DataNode
  启动yarn
./sbin/start-yarn.sh  此时在hadoop1上面运行的进程有: NameNode   SecondaryNameNode  ResourceManager
  hadoop2和hadoop3上面运行的进程有: DataNode  NodeManager
  通过jps可以查看进程, 以下是通过oracle 安装的rpm的jdk.
/usr/java/jdk1.7.0_67/bin/jps控制台报错:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable  通过配置DEBUG变量,可以查看错误细节,
export HADOOP_ROOT_LOGGER=DEBUG,console  可以看到所依赖的GLIBC版本不符合要求...
DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: /home/hadoop/hadoop-2.5.0/lib/native/libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/hadoop/hadoop-2.5.0/lib/native/libhadoop.so.1.0.0)升级GLIBC....
  下载地址: http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
  下载地址: http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.5.tar.bz2   #编译glibc需要
tar xf glibc-2.14.tar.gz  
cd glibc-2.14
  
tar xf ../glibc-linuxthreads-2.5.tar.bz2
  
cd ..
  
export CFLAGS="-g -O2"
  
./glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
  
make
  
make install
  安装编译过程中需要注意三点:
  1. 要将glic-linuxthreads解压到glibc目录下
  2. 不能在glibc当前目录下运行configure
  3. 加上优化开关, export CFLAGS="-g -O2", 否则会出现错误..
如果安装的hadoop本地库是32位而系统是64位的:
  重新编译hadoop...
  暂时可以解决的办法, 使用以下的环境变量.... ,让hadoop找不到本地库,,,会使用java的标准库..
export HADOOP_COMMON_LIB_NATIVE_DIR=/home/hadoop/hadoop-2.2.0/lib/native  
export HADOOP_OPTS="-D java.library.path=/home/hadoop/hadoop-2.2.0/lib"
总结:
  安装JDK
  编辑hosts文件
  关闭防火墙和selinux
  部署免密码ssh
  下载hadoop 2.5 并解压
  修改配置文件
  分发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.yunweiku.com/thread-628500-1-1.html 上篇帖子: hadoop(1.2) 分布式部署 下篇帖子: hadoop 2.2 本地库编译
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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