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

[经验分享] Ubuntu 下 安装 hadoop

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-3-12 09:02:57 | 显示全部楼层 |阅读模式
本帖最后由 辅导费 于 2014-3-12 09:09 编辑

一、单机模式

1、创建hadoop用户

在终端下输入:
zk@zk-pc:~$sudo addgroup hadoop  
zk@zk-pc:~$sudo adduser -ingroup hadoop hadoop  

这样就完成了hadoop用户的创建,接下来在终端输入以完成用户权限的更改:
zk@zk-pc:~$sudo gedit /etc/sudoers  

找到文件的“root   ALL=(ALL:ALL)   ALL”这行,在其下行添加:
hadoop  ALL=(ALL:ALL) ALL  


2、安装jdk

终端下输入:
zk@zk-pc:~$sudo apt-get install openjdk-6-jre  

完成后可以在终端输入java -version来查看安装成功与否。
3、安装ssh

在终端下输入以下内容完成ssh的安装:
zk@zk-pc:~$sudo apt-get install openssh-server   

完成安装后启动ssh:
zk@zk-pc:~$sudo /etc/init.d/ssh start   
进入hadoop用户:
zk@zk-pc:~$su - hadoop  

通过如下命令可以查看ssh是否正常启动:  

hadoop@zk-pc:~$ps -e | grep ssh  


作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:  

hadoop@zk-pc:~$ssh-keygen -t rsa -P ""  

中间点击回车跳过,然后再在终端输入如下内容,将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):  

hadoop@zk-pc:~$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  

现在可以登入ssh确认以后登录时不用输入密码:  

hadoop@zk-pc:~$ssh localhost  


退出:  

hadoop@zk-pc:~$exit  

4、安装hadoop1.0.4  

下载hadoop1.0.4源文件:http://mirrors.tuna.tsinghua.edu ... ommon/hadoop-1.0.4/  

下载hadoop-1.0.4.tar.gz文件,放到/usr/local/hadoop目录  

zk@zk-pc:~$sudo tar xzf hadoop-1.0.2.tar.gz   

zk@zk-pc:~$sudo mv hadoop-1.0.2 /usr/local/hadoop  

要确保所有的操作都是在用户hadoop下完成的:  

zk@zk-pc:~$sudo chown -R hadoop:hadoop /usr/local/hadoop  

5、设定hadoop-env.sh路径  

进入hadoop路径,打开文件hadoop-env.sh:  

hadoop@zk-pc:~cd /usr/local/hadoop  

hadoop@zk-pc:~sudo gedit conf/hadoop-env.sh  

添加如下内容:  

            export JAVA_HOME=/usr/lib/jvm/java-6-openjdk #视你本机的java安装路径决定  
            export HADOOP_HOME=/usr/local/hadoop  
            export PATH=$PATH:/usr/local/hadoop/bin  


完成更改后保存关闭,并使更改生效:  

hadoop@zk-pc:~source /usr/local/hadoop/conf/hadoop-env.sh  


至此,单机模式配置成功,终端下输入如下内容以查看安装成功与否:  

hadoop@zk-pc:~hadoop version  


6、运行hadoop自带例子以验证成功安装  

在hadoop目录下新建input文件夹:  

hadoop@zk-pc:/usr/local/hadoop$mkdir input  


将conf中的所有文件拷贝到input文件夹中:  

hadoop@zk-pc:/usr/local/hadoop$cp conf/* input  

运行WordCount程序,并将结果保存到output中:  

hadoop@zk-pc:/usr/local/hadoop$bin/hadoop jar hadoop-examples-1.0.4.jar wordcount input output  

查看结果:  

hadoop@zk-pc:/usr/local/hadoop$cat output/*  

你会看到conf所有文件的单词和频数都被统计出来。  

二、伪分布模式  

1、设定*-site.xml  

这里需要设定3个文件:core-site.xml,hdfs-site.xml,mapred-site.xml,都在/usr/local/hadoop/conf目录下  
core-site.xml:  Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。  
hdfs-site.xml:  Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。  
mapred-site.xml: MapReduce 守护进程的配置项,包括jobtracker和tasktracker。    首先在hadoop目录下新建几个文件夹:  

hadoop@zk-pc:/usr/local/hadoop$ mkdir tmp   

hadoop@zk-pc:/usr/local/hadoop$ mkdir hdfs   

hadoop@zk-pc:/usr/local/hadoop$ mkdir hdfs/name   

hadoop@zk-pc:/usr/local/hadoop$ mkdir hdfs/data  #(要保证data文件夹的权限是755)  

接下来编辑那三个文件:  
core-site.xml:  

    <configuration>   
        <property>   
            <name>fs.default.name</name>   
            <value>hdfs://localhost:9000</value>   
        </property>   
        <property>   
            <name>hadoop.tmp.dir</name>   
            <value>/usr/local/hadoop/tmp</value>   
        </property>   
    </configuration>   


hdfs-site.xml:  

    <configuration>   
        <property>   
            <name>dfs.replication</name>   
            <value>1</value>   
        </property>   
        <property>   
            <name>dfs.name.dir</name>   
            <value>/usr/local/hadoop/hdfs/name</value>   
        </property>   
        <property>   
            <name>dfs.data.dir</name>   
            <value>/usr/local/hadoop/hdfs/data</value>   
        </property>   
    </configuration>   


mapred-site.xml:  

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


2、格式化HDFS  

通过以上步骤,我们已经设定好Hadoop单机测试到环境,接着就是启动Hadoop到相关服务,格式化namenode,secondarynamenode,tasktracker:  

hadoop@zk-pc:/usr/local/hadoop$source /usr/local/hadoop/conf/hadoop-env.sh   
hadoop@zk-pc:/usr/local/hadoop$hadoop namenode -format  

3、配置ID  

查看hdfs/name/current/VERSION文件里面的namespaceID的值,然后将hdfs/data/current/VERSION的值改成相同值。(可以避免datanode或namenode无法启动)  

4、启动hadoop  

hadoop@zk-pc:/usr/local/hadoop$bin/start-all.sh  

用Java的jps命令列出所有守护进程来验证安装成功:  

hadoop@zk-pc:/usr/local/hadoop$jps  
519 NameNode  
1385 TaskTracker  
767 DataNode  
1631 Jps  
1027 SecondaryNameNode  
1125 JobTracker  

可以看到有如上六个进程。  

5、检查运行状态  

所有的设置已完成,Hadoop也启动了,现在可以通过下面的操作来查看服务是否正常,在Hadoop中用于监控集群健康状态的Web界面:  
http://localhost:50030/     - Hadoop 管理介面  
http://localhost:50060/     - Hadoop Task Tracker 状态  
http://localhost:50070/     - Hadoop DFS 状态  

6、运行wordcount验证安装成功  

   至此,hadoop的伪分布模式已经安装成功,于是,再次在伪分布模式下运行一下hadoop自带的例子WordCount来感受以下MapReduce过程:  

这时注意程序是在文件系统dfs运行的,创建的文件也都基于文件系统。  

首先在dfs中创建input目录:  

hadoop@zk-pc:/usr/local/hadoop$bin/hadoop dfs -mkdir input  


将conf中的文件拷贝到dfs中的input:  

hadoop@zk-pc:/usr/local/hadoop$hadoop dfs -copyFromLocal conf/* input   

在伪分布式模式下运行WordCount:  

hadoop@zk-pc:/usr/local/hadoop$hadoop jar hadoop-examples-1.0.4.jar wordcount input output  

显示输出结果:  

hadoop@zk-pc:/usr/local/hadoop$hadoop dfs -cat output/*   

当Hadoop结束时,可以通过stop-all.sh脚本来关闭Hadoop的守护进程:  

hadoop@zk-pc:/usr/local/hadoop$bin/stop-all.sh  


结语:这样就在ubuntu12.04上搭建成功了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-15783-1-1.html 上篇帖子: hadoop 分布式缓存 下篇帖子: hadoop2.3.0单点伪分布与多点分布的配置 IP地址 master 局域网 软件版本 local
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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