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

[经验分享] Ubuntu14.04下hadoop-2.6.0单机配置和伪分布式配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-2-9 10:05:33 | 显示全部楼层 |阅读模式


    hadoop的管理员最好就是以后要登录桌面环境运行eclipse的用户,否则后面会有拒绝读写的问题出现。当然不是也有办法办法解决。

    1. 创建hadoop用户组;

        

            sudo addgroup hadoop  

    2. 创建hadoop用户;

        

            sudo adduser -ingroup hadoop hadoop  

    3. 给hadoop用户添加权限,打开/etc/sudoers文件;

        

            sudo gedit /etc/sudoers  


        在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL.

在Ubuntu下安装JDK

    具体见:http://blog.iyunv.com/ggz631047367/article/details/42366687           //JAVA_HOME=/usr/lib/jvm/jdk1.8.0_25

安装ssh服务

   

        sudo apt-get install ssh openssh-server  


建立ssh无密码登录本机

    切换到hadoop用户,执行以下命令:

        

            su - hadoop  

    ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。

    1. 创建ssh-key,,这里我们采用rsa方式;

        

            ssh-keygen -t rsa -P "" (注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)  

    2. 进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的;

        

            cd ~/.ssh  
            cat id_rsa.pub >> authorized_keys (完成后就可以无密码登录本机了。)  

    3. 登录localhost;

        

            ssh localhost  

    4. 执行退出命令;

        

            exit  

安装hadoop

    下载地址:http://apache.fayea.com/hadoop/common/stable/hadoop-2.6.0.tar.gz

    1. 把hadoop解压到/usr/local下:

        

            sudo tar -zxvf hadoop-2.6.0.tar.gz  
            sudo mv hadoop-2.6.0 /usr/local/hadoop  
            sudo chmod -R 775 /usr/local/hadoop  
            sudo chown -R hadoop:hadoop /usr/local/hadoop  //否则ssh会拒绝访问  

    2.配置

            修改bashrc的配置:

               

                    sudo gedit ~/.bashrc  


                在文件末尾添加:

               

                    #HADOOP VARIABLES START  
                     
                    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_25  
                     
                    export HADOOP_INSTALL=/usr/local/hadoop  
                     
                    export PATH=$PATH:$HADOOP_INSTALL/bin  
                     
                    export PATH=$PATH:$HADOOP_INSTALL/sbin  
                     
                    export HADOOP_MAPRED_HOME=$HADOOP_INSTALL  
                     
                    export HADOOP_COMMON_HOME=$HADOOP_INSTALL  
                     
                    export HADOOP_HDFS_HOME=$HADOOP_INSTALL  
                     
                    export YARN_HOME=$HADOOP_INSTALL  
                     
                    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native  
                     
                    export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"  
                     
                    #HADOOP VARIABLES END  


                如果不知道JAVA_HOME可以通过命令获得:

               

                    update-alternatives --config java  

                目录取到java根目录即可。


                执行下面命令使改动生效:

               

                    source ~/.bashrc  

            修改hadoop-env.sh的配置:

               

                    sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh  


                找到JAVA_HOME改为上面的值。


测试

        通过执行hadoop自带实例WordCount验证是否安装成功

         /usr/local/hadoop路径下创建input文件夹  
        

            mkdir input  
            cp README.txt input  

        在hadoop目录下执行WordCount:
        

            bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar  
            org.apache.hadoop.examples.WordCount input output  


Hadoop伪分布式配置

        sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

        

            <configuration>  
                <property>  
                    <name>hadoop.tmp.dir</name>  
                    <value>/usr/local/hadoop/tmp</value>  
                    <description>Abase for other temporary directories.</description>  
                </property>  
                <property>  
                    <name>fs.defaultFS</name>  
                    <value>hdfs://localhost:9000</value>  
                </property>  
            </configuration>  


         sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml //此项不必要

        

            <configuration>  
             <property>     
                  <name>mapred.job.tracker</name>   
                  <value>localhost:9001</value>     
                 </property>     
            </configuration>  

         sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml

        

            <configuration>  
            <property>  
            <name>mapreduce.framework.name</name>  
            <value>yarn</value>  
            </property>  
              
            <property>  
            <name>yarn.nodemanager.aux-services</name>  
            <value>mapreduce_shuffle</value>  
            </property>  
            </configuration>  


         sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
        

            <configuration>  
            <property>  
                    <name>dfs.replication</name>  
                    <value>1</value>  
                </property>  
                <property>  
                    <name>dfs.namenode.name.dir</name>  
                    <value>file:/usr/local/hadoop/dfs/name</value>  
                </property>  
                <property>  
                    <name>dfs.datanode.data.dir</name>  
                    <value>file:/usr/local/hadoop/dfs/data</value>  
                </property>  
                <property>                 //这个属性节点是为了防止后面eclopse存在拒绝读写设置的  
                        <name>dfs.permissions</name>  
                        <value>false</value>  
                 </property>  
             </configuration>  

        sudo gedit /usr/local/hadoop/etc/hadoop/masters 添加:localhost

        sudo gedit /usr/local/hadoop/etc/hadoop/slaves  添加:localhost


        关于配置的一点说明:上面只要配置 fs.defaultFS 和 dfs.replication 就可以运行,不过有个说法是如没有配置 hadoop.tmp.dir 参数,此时 Hadoop 默认的使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在每次重启后都会被干掉,必须重新执行 format 才行(未验证),所以伪分布式配置中最好还是设置一下。

        配置完成后,首先在 Hadoop 目录下创建所需的临时目录:
        

            cd /usr/local/hadoop  
            mkdir tmp dfs dfs/name dfs/data  


    接着初始化文件系统HDFS。
   

        bin/hdfs namenode -format  

    成功的话,最后的提示如下,Exitting with status 0 表示成功,Exitting with status 1: 则是出错。

   

        sbin/start-dfs.sh  
        sbin/start-yarn.sh  


    Unable to load native-hadoop library for your platform这个提示,解决方式:
    1、重新编译源码后将新的lib/native替换到集群中原来的lib/native
    2、修改hadoop-env.sh ,增加
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib:$HADOOP_PREFIX/lib/native"

    Namenode information:http://localhost:50070来查看Hadoop的信息。

    All Applications:http://http://2xx.81.8x.1xx:8088/,将其中的2xx.81.8x.1xx替换为你的实际IP地址。


    运行例子:

    1.先在hdfs上建个文件夹  bin/hdfs dfs -mkdir -p /user/ha1/input

                                      bin/hdfs dfs -mkdir -p /user/ha1/output

    2.上传一些文件:bin/hdfs dfs -put etc/hadoop/  /user/ha1/input  把etc/hadoop文件上传到hdfs的/user/ha1/input中

    3.执行指令

    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep /user/ha1/input/hadoop  /user/ha1/output/temp 'dfs[a-z.]+'

    4.查看结果

    bin/hdfs dfs -cat /user/ha1/output/temp/*
   

        8   dfs.audit.logger  
        4   dfs.class  
        3   dfs.server.namenode.  
        2   dfs.audit.log.maxbackupindex  
        2   dfs.period  
        2   dfs.audit.log.maxfilesize  
        1   dfsmetrics.log  
        1   dfsadmin  
        1   dfs.servers  
        1   dfs.replication  
        1   dfs.file  
        1   dfs.datanode.data.dir  
        1   dfs.namenode.name.dir  


运维网声明 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-42267-1-1.html 上篇帖子: win764bit下Eclipse连接ubuntu中hadoop2.6经验总结 下篇帖子: win7中的eclipse连接虚拟机中Linux(Ubuntu)的Hadoop (附上配置时遇到的错误和解决的方法) 单机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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