Hadoop环境搭建笔记
来源:互联网 发布:js 判断是否为整数 编辑:程序博客网 时间:2024/05/01 18:34
1.安装ubuntu系统14.04(该步骤比较简单,故不展开)
2.创建hadoop用户组以及用户
(1)创建用户组:sudo addgroup hadoop
(2)创建用户:sudo adduser --ingroup hadoop hadoop
(3)设置管理员权限:
1)sudo vim /etc/sudoers
2)在root ALL=(ALL:ALL)ALL后面增加 : hadoop ALL=(ALL:ALL)ALL
3)source /etc/sudoers
PS: 1)创建完hadoop用户之后所有的操作都在该用户下执行:su hadoop
2)创建hadoop用户只是为了方便管理,并非必须步骤;
3.安装JAVA
(1)官网下载jdk(jdk1.8.0_45)
(2)直接解压:tar -zxvf
(3)配置环境变量:
1)vim ~/.bashrc
2)添加指令:
export JAVA_HOME=jdk解压路径
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
3)source ~/.bashrc
(4)测试是否安装成功:java -version 与javac -version
4.下载hadoop(hadoop-1.2.1.tar.gz)
(1)直接解压:tar -zxvf
(2)配置环境变量:
1)vim ~/.bashrc
2)添加指令:export PATH=/usr/local/lib/hadoop-1.2.1/bin:$PATH
3)source ~/.bashrc
5.配置hadoop-env.sh
(1)进入hadoop目录;
(2)vim hadoop-env.sh
(3)添加指令:
export JAVA_HOME=jdk解压路径
(4)source hadoop-env.sh
6.测试是否安装成功:hadoop version
(一)单机模式
1.安装ssh并配置无密码登陆
(1)安装ssh:sudo apt-get install ssh
(2)生成公钥/私钥对:ssh-keygen -t rsa -P " "
PS:1)ssh有2种生成密钥的认证协议,分别是rsa与dsa,这里我们选用rsa;
2)-P表示密码,“ ”表示密码为空;
(3)在/home/hadoop/.ssh/目录下,生成2个文件:id_rsa与id_rsa.pub,也就是私钥/公钥对;
(4)将公钥追加到authorized_keys中:cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
(5)测试是否可以免密码登陆:ssh localhost
2.运行demo(wordcount)
(1)创建输入:mkdir inputcp conf/* input
PS:单机模式下没有启动hdfs,因此创建文件还是在linux原来的文件系统上创建;
(2)运行例子: hadoop jar hadoop-examples-1.2.1.jar wordcount input output
(3)显示输出:运行例子后生成一个output目录,cat output/*
(二)伪分布模式
1.在单机模式基础上,配置core-site.xml,hdfs-site.xml,mapred-site.xml文件
(1)core-site.xml:Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://localhost:9000</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/usr/local/lib/hadoop-1.2.1/tmp</value>
- </property>
- </configuration>
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>2</value>
- </property>
- <property>
- <name>dfs.name.dir</name>
- <value>/usr/local/lib/hadoop-1.2.1/datalog1,/usr/local/lib/hadoop-1.2.1/datalog2</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/usr/local/lib/hadoop-1.2.1/data1,/usr/local/lib/hadoop-1.2.1/data2</value>
- </property>
- </configuration>
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
2.格式化namenode:hadoop namenode -format
3.运行demo(wordcount)
(1)启动hadoop所有服务:start-all.sh
(2)可以用java的jps指令来列出所有的守护进程:
也可以登录web管理控制台:
http://localhost:50030/ - Hadoop 管理介面
http://localhost:50060/ - Hadoop Task Tracker 状态
http://localhost:50070/ - Hadoop DFS 状态
(3)在hdfs系统中创建input目录:hadoop dfs -mkdir input
(4)将conf目录下的文件复制到input中:hadoop dfs -copyFromLocal /usr/local/lib/hadoop-1.2.1/conf/* input
(5)在伪分布模式下运行wordcount:hadoop jar /usr/local/lib/hadoop-1.2.1/hadoop-examples-1.2.1.jar wordcount input output
(6)查看运行结果:hadoop dfs -cat output/*
(7)关闭hadoop所有服务:stop-all.sh
(三)全分布模式
1.配置局域网络:这里我们以3台机子进行测试,分别是master,slave1,slave2,修改/etc/hosts文件:
master:192.168.237.128
slave1:192.168.237.129
slave2:192.168.237.130
2.配置hadoop目录下的masters文件以及slaves文件:
(1)masters文件输入:
master
(2)slaves文件输入:
master
slave1
slave2
3.配置ssh无密码登陆:
(1)在master上生成密钥:
sudo apt-get install ssh
ssh-keygen -t rsa -P " "
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
(2)将公钥复制到slave1跟slave2上:
scp authorized_keys slave1:/home/hadoop/.ssh
scp authorized_keys slave2:/home/hadoop/.ssh
(3)此时就可以从master无密码ssh登陆slave1根slave2了;
4.运行demo(跟伪分布式一样)
- Hadoop环境搭建笔记
- hadoop环境搭建笔记
- hadoop集群环境搭建笔记
- hadoop集群环境搭建笔记
- Hadoop集群环境搭建笔记
- Hadoop平台环境搭建笔记
- Hadoop学习笔记-Hadoop HDFS环境搭建
- Hadoop学习笔记(一)环境搭建
- Hadoop单机环境搭建笔记(ubuntu)
- hadoop完全分布式环境搭建笔记
- Hadoop学习笔记之<搭建环境>
- Hadoop学习笔记-搭建源码学习环境
- 【Hadoop学习笔记】1、环境搭建
- hadoop学习笔记2:hadoop分布式环境搭建
- Hadoop学习笔记(一)-- Hadoop环境搭建
- Hadoop学习笔记之Hadoop伪分布式环境搭建
- Hadoop学习之Ubuntu12.04 Hadoop 环境搭建笔记
- Hadoop学习笔记3、Hadoop环境搭建及测试
- 面向AngularJS开发人员的21款实用工作流工具
- URAL 1139. City Blocks (数论)
- 进程与线程的一个简单解释
- Oracle 尽量避免在SQL语句中使用 OR
- AndroidStudio----git
- Hadoop环境搭建笔记
- 如果apache安装成为linux的服务的话
- [LeetCode] Single Number II
- BoF-SIFT Features with OpenCV
- linux新的API signalfd、timerfd、eventfd使用说明
- 控件textbox的TextMode="MultiLine"时的限制字数多少问题
- Bash中一些重要的命令
- hdu 5266 pog loves szh III LCA+RMQ
- C# 代码规范