您的位置:首页 > 运维架构

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

2016-11-11 14:48 429 查看
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/jdkexport JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport 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 /userbin/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: