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

[经验分享] CentOS上Hadoop环境的搭建与管理

[复制链接]

尚未签到

发表于 2018-10-30 08:49:39 | 显示全部楼层 |阅读模式
  CentOS上Hadoop环境的搭建与管理
  please down load the attachment
  编辑日期:2015年9月1日
  实验要求:
  完成Hadoop平台安装部署、测试Hadoop平台功能和性能,记录实验过程,提交实验报告。
  1)    掌握Hadoop安装过程
  2)    理解Hadoop工作原理
  3)    测试Hadoop系统的可扩展性
  4)    测试Hadoop系统的稳定性
  一、先决条件
  确保在集群中的每个节点上都安装所有必需软件:JDK ,ssh,Hadoop (2.6.0)。
  1)JDK,必须安装(版本1.7以上),建议选择Sun公司发行的Java版本。
  2)ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。
  二、Hadoop的安装与配置
  HDFS在Master节点启动dfs和yarn服务时,需要自动启动Slave节点服务,HDFS需要通过ssh访问Slave节点机。HDFS需要搭建多台服务器组成分布式系统,节点机间需要无密码访问。本节任务是进行ssh的设置、用户的创建、hadoop参数的设置,完成HDFS分布式环境的搭建。
  任务实施:
  本节任务需要四台节点机组成集群,每个节点机上安装CentOS-6.5-x86_64系统。四台节点机使用的IP地址分别为:192.168.23.111、192.168.23.112、192.168.23.113、192.168.23.114,对应节点主机名为:node1、node2、node3、node4。节点机node1作为NameNode,其他作为DataNode。
  在node1主机上,
  编辑 vi /etc/hosts,添加如下内容:
  192.168.23.111 node1
  192.168.23.112 node2
  192.168.23.113 node3
  192.168.23.114 node4
  编辑 vi /etc/sysconfig/network,修改
  HOSTNAME=node1
  关闭防火墙
  chkconfig iptables off
  service iptables stop
  在其他节点主机上进行类似的操作,但需要将HOSTNAME的值分别修改为对应的主机名。
  步骤1
  创建hadoop用户,分别在四台节点机上创建用户hadoop,uid=660,密码分别为h1111, h2222, h3333, h4444。登录node1节点机,创建hadoop用户和设置密码。操作命令如下。
  [root@node1 ~]# useradd -u 660 hadoop
  [root@node1 ~]# passwd hadoop
  其他节点机的操作相同。
  步骤2
  设置master节点机ssh无密码登录slave节点机。
  (1)在node1节点机上,以用户hadoop用户登录或者使用su – hadoop切换到hadoop用户。操作命令如下。
  [root@node1 ~]# su - hadoop
  (2)使用ssh-keygen生成证书密钥,操作命令如下。
  [hadoop@node1 ~]$ssh-keygen -t dsa
  (3)使用ssh-copy-id分别拷贝证书公钥到node1,node2,node3,node4节点机上,操作命令如下。
  [hadoop@node1 ~]$ cd ~
  hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node1
  [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node2
  [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node3
  [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node4
  (4)在node1节点机上使用ssh测试无密码登录node1节点机,操作命令如下。
  [hadoop@node1 ~]$ ssh node1
  Last Login: Mon Dec 22 08:42:38 2014 from node1
  [hadoop@node1 ~]$ exit
  Logout
  Connection to node1 closed.
  以上表示操作成功。
  在node1节点机上继续使用ssh测试无密码登录node2、node3和node4节点机,操作命令如下。
  [hadoop@node1 ~]$ ssh node2
  [hadoop@node1 ~]$ ssh node3
  [hadoop@node1 ~]$ ssh node4
  测试登录每个节点机后,输入exit退出。
  步骤3
  上传或下载hadoop-2.6.0.tar.gz软件包到node1节点机的root目录下。如果hadoop软件包在node1节点机上编译,则把编译好的包拷贝到root目录下即可。首先找到所需软件包的地址http://mirror.bit.edu.cn/apache/hadoop/common/,如图所示。
  然后使用wget命令或其他命令下载所需的软件包,操作示例如:
  wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz
  步骤4
  解压文件,安装文件。操作命令如下。
  [root@node1 ~]# cd
  [root@node1 ~]# tar xvzf hadoop-2.6.0.tar.gz
  [root@node1 ~]# cd hadoop-2.6.0
  [root@node1 hadoop-2.6.0]# mv * /home/hadoop/
  步骤5
  修改hadoop配置文件。Hadoop配置文件主要有:hadoop-env.sh、yarn-env.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。配置文件在/home/hadoop/etc/hadoop/目录下,可进入该目录进行配置。操作命令如下。
  [root@node1 hadoop-2.6.0]# cd /home/hadoop/etc/hadoop/
  (1)修改hadoop-env.sh,
  如果还没有安装java,先安装java
  yum -y install java-1.7.0-openjdk*
  安装出现问题可以参考以下网址教程进行处理.
  http://jingyan.baidu.com/article/4853e1e51d0c101909f72607.html
  检查各主机的/etc/profile是否有JAVA_HOME变量,没有就在末尾添加:
  JAVA_HOME=/usr/lib/jvm/java-1.7.0
  export JAVA_HOME
  PATH=$JAVA_HOME/bin:$PATH
  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  export PATH

  export>  export HADOOP_HOME=/home/hadoop/
  export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  保存退出后执行 source /etc/profile
  将hadoop-env.sh文件中的export JAVA_HOME=${JAVA_HOME}修改为
  export JAVA_HOME=/usr/lib/jvm/java-1.7.0
  (2)修改slaves,该文件登记DataNode节点主机名,本处添加node2,node3,node4三台节点主机名。如下所示。
  [root@node1 hadoop]# vi slaves
  node2
  node3
  node4
  (3)修改core-site.xml,将文件中的修改为如下内容。
  
  
  fs.defaultFS
  hdfs://node1:9000
  
  
  io.file.buffer.size
  131072
  
  
  hadoop.tmp.dir
  file:/home/hadoop/tmp
  Abase for other temporary directories.
  
  
  hadoop.proxyuser.hadoop.hosts
  *
  
  
  hadoop.proxyuser.hadoop.groups
  *
  
  
  其中node1为集群的NameNode(Master)节点机,node1可以使用IP地址表示。
  (4)修改hdfs-site.xml,将文件中的修改为如下内容。
  
  
  dfs.namenode.secondary.http-address
  node1:9001
  
  
  dfs.namenode.name.dir
  file:/home/hadoop/dfs/name
  
  
  dfs.datanode.data.dir
  file:/home/hadoop/dfs/data
  
  
  dfs.replication
  3
  
  
  dfs.webhdfs.enabled
  true
  
  
  其中为了便于教学,第二个NameNode也使用node1节点机,NameNode产生的数据存放在/home/hadoop/dfs/name目录下,DataNode产生的数据存放在/home/hadoop/dfs/data目录下,设置3份备份。
  (5)将文件mapred-site.xml.template改名为mapred-site.xml。操作如下。
  [root@node1 hadoop]# mv mapred-site.xml.template mapred-site.xml
  将文件中的修改为如下内容。
  
  
  mapreduce.framework.name
  yarn
  
  
  mapreduce.jobhistory.address
  node1:10020
  
  
  mapreduce.jobhistory.webapp.address
  node1:19888
  
  
  (6)修改yarn-site.xml,将文件中的修改为如下内容。
  
  
  yarn.resourcemanager.hostname
  192.168.23.111
  
  
  yarn.nodemanager.aux-services
  mapreduce_shuffle
  
  
  yarn.nodemanager.aux-services.mapreduce.shuffle.class
  org.apache.hadoop.mapred.ShuffleHandler
  
  
  yarn.resourcemanager.address
  node1:8032
  
  
  yarn.resourcemanager.scheduler.address
  node1:8030
  
  
  yarn.resourcemanager.resource-tracker.address
  node1:8031
  
  
  yarn.resourcemanager.admin.address
  node1:8033
  
  
  yarn.resourcemanager.webapp.address
  node1:8088
  
  
  步骤6
  修改“/home/hadoop/”文件用户主/组属性,操作如下。
  [root@node1 hadoop]# chown -R hadoop:hadoop /home/hadoop
  步骤7
  将配置好的hadoop系统复制到其他节点机上,操作如下。
  [root@node1 hadoop]# cd /home/hadoop
  [root@node1 hadoop]# scp -r hadoop-2.6.0 hadoop@node2:/home/hadoop
  [root@node1 hadoop]# scp -r hadoop-2.6.0 hadoop@node3:/home/hadoop
  [root@node1 hadoop]# scp -r hadoop-2.6.0 hadoop@node4:/home/hadoop
  步骤8
  分别登录node2,node3,node4节点机,修改 “/home/hadoop/”文件用户主/组属性。
  [root@node2~]# chown -R hadoop:hadoop /home/hadoop
  [root@node3~]# chown -R hadoop:hadoop /home/hadoop
  [root@node4~]# chown -R hadoop:hadoop /home/hadoop
  至此,整个hadoop分布式系统搭建完成。
  三、Hadoop的管理
  1.格式化一个新的分布式文件系统
  先格式化一个新的分布式文件系统
  $ cd /home/hadoop
  $ bin/hadoop namenode -format
  成功情况下系统输出:
  /opt/hadoop/hadoopfs/name has been successfully formatted.
  查看输出保证分布式文件系统格式化成功
  执行完后可以到master机器上看到/home/hadoop/name目录。
  2.启动分布式文件服务
  sbin/start-all.sh
  或
  sbin/start-dfs.sh
  sbin/start-yarn.sh
  使用浏览器浏览Master节点机 http://192.168.23.111:50070,查看NameNode节点状态和浏览Datanodes数据节点。
  使用浏览器浏览Master节点机 http://192.168.23.111:8088查看所有应用。
  3.关闭分布式文件服务
  sbin/stop-all.sh
  4.文件管理
  在hdfs创建swvtc目录,操作命令如下。
  [hadoop@node1 ~]$ hdfs dfs -mkdir /swvtc         #类似 mkdir /swvtc
  在hdfs查看当前目录,操作命令如下。
  [hadoop@node1 ~]$ hdfs dfs -ls /                 #类似 ls /
  Found 1 items
  drwxr-xr-x   - hadoop supergroup          0 2014-12-23 10:07 /swvtc
  在本地系统编辑文件jie.txt,操作命令如下。
  [hadoop@node1 ~]$ vi jie.txt
  添加内容:
  Hi,Hadoop!
  上传文件jie.txt到hdfs的/swvtc目录中,操作命令如下。
  [hadoop@node1 ~]$ hdfs dfs -put jie.txt /swvtc
  从hdfs中下载文件。操作命令:
  [hadoop@node1 ~]$ hdfs dfs -get /swvtc/jie.txt
  查看hdfs中/swvtc/jie.txt的内容,操作命令:
  [hadoop@node1 ~]$ hdfs dfs -text /swvtc/jie.txt
  Hi,Hadoop!
  hadoop dfs -get in getin 从HDFS获取文件并且重新命名为getin,同put一样可操作文件也可操作目录
  hadoop dfs -rmr out 删除指定文件从HDFS上
  hadoop dfs -cat in/* 查看HDFS上in目录的内容
  hadoop dfsadmin -report 查看HDFS的基本统计信息,结果如下
  hadoop dfsadmin -safemode leave 退出安全模式
  hadoop dfsadmin -safemode enter 进入安全模式
  5.添加节点
  可扩展性是HDFS的一个重要特性,首先在新加的节点上安装hadoop,然后修改$HADOOP_HOME/conf /master文件,加入 NameNode主机名,然后在NameNode节点上修改$HADOOP_HOME/conf/slaves文件,加入新加节点主机名,再建立到新加节点无密码的SSH连接。
  运行启动命令:
  ./start-all.sh
  然后可以通过http://(Masternode的主机名):50070查看新添加的DataNode
  6.负载均衡
  运行命令:
  ./start-balancer.sh
  可以使DataNode节点上选择策略重新平衡DataNode上的数据块的分布。


运维网声明 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-628253-1-1.html 上篇帖子: Greenplum Hadoop分布式平台大数据解决方案实战教程 下篇帖子: 安装hadoop-2.3.0-cdh5.1.2
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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