在ubuntu里面安装hadoop操作记录(1)

ubuntu版本是12.04,64位,首先安装JDK,JDK版本是1.8.0_111,把JDK解压到 /home/software/jdk1.8.0_111 中后,设置环境变量,在~/.bashrc中添加下列语句:


export JAVA_HOME=/home/k/software/jdk1.8.0_111/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


照着hadoop官方网站上面写的安装了ssh和pdsh工具,不知道pdsh工具有什么用,姑且先装上,执行下面两条语句就可以:

$ sudo apt-get install ssh
$ sudo apt-get install pdsh
 
 
 下载hadoop版本并解压。这次下载的是2.7.3版本,解压到路径/home/k/software/hadoop-2.7.3/,在其中找到 
etc/hadoop/hadoop-env.sh这个文件,把JAVA_HOME路径写进去,虽然已经配置了java的环境变量,但是不写这个的话在后面启动namenode的时候会报错,修改如下: 

export JAVA_HOME=/home/k/software/jdk1.8.0_111/jdk

也就是要和ubuntu里面的java环境变量一致

设置ssh免口令登录,这也是hadoop官方文档上写的步骤,如下:

  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys


执行了之后再执行 ssh localhost 命令应该就可以不用输口令登录了。


这时候应该可以试试hadoop的单点模式是不是能正常运行了,测试的方法是执行下面这写命令:

首先试试bin/hadoop能不能启动,执行命令:bin/hadoop


下面填写配置文件,搭建成伪分布式模式

先修改etc/hadoop/core-site.xml,这次是改成了下面这个样子:

<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/home/k/data/hadoop/tmp</value>
        </property>

        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://localhost:9000</value>
        </property>
</configuration>


修改etc/hadoop/hdfs-site.xml文件,这次是改成了下面这个样子:

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>


<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/k/data/hadoop/tmp/dfs/name</value>

</property>


<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/k/data/hadoop/tmp/dfs/data</value>

</property>

</configuration>


格式化namenode:

bin/hdfs namenode -format

格式化成功的话应该会看到返回值是0


然后开启namenode和datanode:

sbin/start-dfs.sh


运行成功的话,可以通过执行jps命令看到NameNode,DataNode,SecondaryNameNode三个进程,并且通过浏览器也能访问管理页面,端口号用50070.


在伪分布式模式下执行WordCount,

先创建目录:

bin/hdfs dfs -mkdir /user

bin/hdfs dfs -mkdir /user/k


把本地etc/hadoop文件夹复制到分布式文件系统中的/user/k/input文件夹:

bin/hdfs dfs -put etc/hadoop /user/k/input,中间会弹出一些警告信息,暂时不理会。


运行MapReduce程序,进行词频统计:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+'


查看运行结果:

bin/hdfs dfs -cat output/*


运行结果位于分布式文件系统中,也可以取回到本地文件系统中:

bin/hdfs dfs -get output output





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值