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

[经验分享] CDH版本hadoop2.6伪分布式安装

[复制链接]

尚未签到

发表于 2018-10-28 14:27:11 | 显示全部楼层 |阅读模式
  CDH版本hadoop的一个重要分支,使用hadoop-2.6.0-cdh5.9.0在单台CentOS配置hadoop伪分布式环境;

1、基础环境配置

主机名
IP地址
角色
Hadoop用户
localhost
192.168.30.139
NameNode、ResourceManager、SecondaryNameNode、DataNode、NodeManager
hadoop
1.1、关闭防火墙和SELinux

1.1.1、关闭防火墙
  

$ systemctl stop firewalld  
$ systemctl disable firewalld
  

1.1.2、关闭SELinux
  

$ setenforce 0  
$ sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
  

  注:以上操作需要使用root用户

1.2、hosts配置
  

$ vi /etc/hosts  

########## Hadoop host ##########  
192.168.30.139   localhost
  

  注:以上操作需要使用root用户,通过ping 主机名可以返回对应的IP即可

1.3、配置无密码访问
  首先要创建hadoop用户,然后在4台主机上使用hadoop用户配置无密码访问,所有主机的操作相同,以hadoop-master为例
  生成私钥和公钥
  

$ ssh-keygen -t rsa  

  拷贝公钥到主机(需要输入密码)
  

$ ssh-copy-id hadoop@hadoop  

  

  注:以上操作需要在hadoop用户,通过hadoop用户ssh到其他主机不需要密码即可。

1.4、Java环境配置

1.4.1、下载JDK
  注:使用hadoop用户操作
  

$ cd /home/hadoop  
$ curl -o jdk-8u151-linux-x64.tar.gz http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz?AuthParam=1516091623_fa4174d4b1eed73f36aa38230498cd48
  

1.4.2、安装java
  安装java可使用hadoop用户操作;
  

$ mkdir -p /home/hadoop/app/java  
$ tar -zxf jdk-8u151-linux-x64.tar.gz
  
$ mv jdk1.8.0_151 /home/hadoop/app/java/jdk1.8
  


  • 配置Java环境变量:  

    $ vi /home/hadoop/.bash_profile
  

export JAVA_HOME=/home/hadoop/app/java/jdk1.8  
export JRE_HOME=$JAVA_HOME/jre

  
export>  
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  

  启用环境变量
  $ source /home/hadoop/.bash_profile
  注:通过java –version命令返回Java的版本信息即可

2、安装hadoop

2.1、下载安装CDH版本的hadoop
  

$ cd ~  
$ curl -O http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.13.0.tar.gz
  
$ mkdir -p app/hadoop
  
$ tar -zxf hadoop-2.6.0-cdh5.9.0.tar.gz -C ./app/hadoop/
  

2.2、安装配置hadoop
  hadoop的安装配置使用hadoop用户操作;


  • 创建目录,用于存放hadoop数据
  

$ mkdir -p /home/hadoop/app/hadoop/hdfs/{name,data}  

2.2.1、配置core-site.xml
  

$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/core-site.xml  

  
  fs.defaultFS
  hdfs://localhost:9000
  
  
  hadoop.tmp.dir
  file:/home/hadoop/app/hadoop/tmp
  
  

  

2.2.2、配置hdfs-site.xml
  

$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/hdfs-site.xml  

  
  dfs.replication
  1
  
  
  dfs.namenode.name.dir
  /home/hadoop/app/hadoop/hdfs/name
  
  
  dfs.datanode.data.dir
  /home/hadoop/app/hadoop/hdfs/data
  
  
  dfs.webhdfs.enabled
  true
  
  

  

2.2.3、配置mapred-site.xml
  

$ cd /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/  
$ cp mapred-site.xml.template mapred-site.xml
  

$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/mapred-site.xml  

  
  mapreduce.framework.name
  yarn
  
  

  

2.2.4、配置yarn-site.xml
  

$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/yarn-site.xml  

  

  

  
  yarn.nodemanager.aux-services
  mapreduce_shuffle
  
  

  

2.2.5、配置slaves
  

$ vi app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/slaves  

localhost  

2.2.6、配置hadoop-env
  修改hadoop-env.sh文件的JAVA_HOME环境变量,操作如下:
  $ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/hadoop-env.sh
  export JAVA_HOME=/home/hadoop/app/java/jdk1.8

2.2.7、配置yarn-env
  修改yarn-env.sh文件的JAVA_HOME环境变量,操作如下:
  

$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/hadoop-env.sh  

export JAVA_HOME=/home/hadoop/app/java/jdk1.8  

2.2.8、配置mapred-env
  修改mapred-env.sh文件的JAVA_HOME环境变量,操作如下:
  

$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/hadoop-env.sh  

export JAVA_HOME=/home/hadoop/app/java/jdk1.8  

2.2.9、配置HADOOP_PREFIX
  

$ vi /home/hadoop/.bash_profile  

####HADOOP_PREFIX  
export HADOOP_PREFIX=/home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0
  
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
  

  启用环境变量
  

$ source /home/hadoop/.bash_profile  

  注:通过echo $HADOOP_PREFIX命令返回hadoop的安装目录

3、启动hadoop伪分布式

3.1、启动hdfs


  •   格式化hdfs
      

    $ hdfs namenode -format  


  •   启动dfs
      

    $ start-dfs.sh  


  • 启动的进程  

    $ jps  
    15376 NameNode
      
    15496 DataNode
      
    15656 SecondaryNameNode
      
    15759 Jps
      

      注:关闭dfs命令为:stop-dfs.sh

3.2、启动yarn
  

$ start-yarn.sh  

  注:关闭yarn命令为:stop-yarn.sh

3.3、启动集群
  hdfs和yarn的启动可以使用一条命令执行:


  •   启动:start-all.sh

  •   关闭: stop-all.sh

  •   启动后的所有进程:
      

    $ jps  
    15376 NameNode
      
    16210 Jps
      
    15811 ResourceManager
      
    15907 NodeManager
      
    15496 DataNode
      
    15656 SecondaryNameNode
      


  • MapReducer PI运算  

    $ hadoop jar /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.9.0.jar pi 5 10
  返回的结果是:Estimated value of Pi is 3.28000000000000000000


  • YARN管理界面:http://192.168.30.139:8088
  • HDFS管理界面:http://192.168.30.139:50070
4、hdfs的shell操作和Wordcount演示

4.1、简单的hdfs shell操作


  •   创建目录
      

    $ hadoop fs -mkdir /input  
    $ hadoop fs -mkdir /output
      


  •   查看目录
      

    $ hadoop fs -ls /  
    Found 4 items
      
    drwxr-xr-x   - hadoop supergroup          0 2018-01-19 10:56 /input
      
    drwxr-xr-x   - hadoop supergroup          0 2018-01-19 10:56 /output
      
    drwx------   - hadoop supergroup          0 2018-01-19 10:51 /tmp
      
    drwxr-xr-x   - hadoop supergroup          0 2018-01-19 10:51 /user
      


  •   上传文件
      

    $ hadoop fs -put  /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/LICENSE.txt /input  


  • 查看文本文件内容  

    $ hadoop fs -cat /input/LICENSE.txt
4.2、Wordcount
  将HDFS上/input/LICENSE.txt 使用hadoop内置Wordcount的jar包统计文档的Wordcount


  •   启动测试
      

    $ hadoop jar /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.9.0.jar wordcount /input /output/wordcounttest  


  • 查看结果  

    $ hadoop fs -ls /output/wordcounttest  
    Found 2 items
      
    -rw-r--r--   1 hadoop supergroup          0 2018-01-19 11:04 /output/wordcounttest/_SUCCESS
      
    -rw-r--r--   1 hadoop supergroup      22117 2018-01-19 11:04 /output/wordcounttest/part-r-00000
      
    $
      
    $ hadoop fs -cat /output/wordcounttest/part-r-00000|sort -k2 -nr|head
      
    the 641
      
    of  396
      
    or  269
      
    and 255
      
    to  241
      
    this    164
      
    in  162
      
    OR  161
      
    OF  160
      
    a   128

5、遇到的问题

5.1、WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java>  解决:导致该问题的改版本是因为${HADOOP_PREFIX}/lib/native目录没有lib库,解决办法是到hadoop官网下载2.6的包,把lib/native目录下的数据拷贝过去。

5.2、openssl: false Cannot load libcrypto.so (libcrypto.so: 无法打开共享对象文件: 没有那个文件或目录)!
  解决:/usr/lib64/目录下做一个libcrypto.so软连
  接
  

cd /usr/lib64/  
ln -s /usr/lib64/libcrypto.so.1.0.1e libcrypto.so
  


  • 使用命令export HADOOP_ROOT_LOGGER=DEBUG,console可以在终端上看到更详细的日志信息方便排查问题;
  • 以上两个问题可以使用命令检查是否为true:hadoop checknative
  注:${HADOOP_PREFIX}表示hadoop的安装目录,或者说是${HADOOP_HOME}

6、参考资料
  http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.5/hadoop-project-dist/hadoop-common/SingleCluster.html



运维网声明 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-627590-1-1.html 上篇帖子: 部署Ganglia监控Hadoop&Hbase 下篇帖子: hadoop+hive+spark+zookeeper+hbase大数据环境构建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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