1.建立Hadoop用户
三部曲:添加用户,设置密码,给该用户设置管理员权限
为 hadoop 用户增长管理员权限,方便部署,避免一些对新手来讲比较棘手的权限问题html
sudo useradd -m hadoop -s /bin/bash sudo passwd hadoop sudo adduser hadoop sudo
2.登录hadoop用户后,更新apt
当前用户为hadoop,咱们先更新一下 apt,后续咱们使用 apt 安装软件,若是没更新可能有一些软件安装不了。按 ctrl+alt+t 打开终端窗口,执行以下命令:java
sudo apt-get update
3.安装ssh并设置ssh免密登录
注意:每次配置时,须要注意当前目录为hadoop。
集群、单节点模式都须要用到 SSH 登录(相似于远程登录,你能够登陆某台 Linux 主机,而且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还须要安装 SSH server:node
hadoop@master:~$sudo apt-get install openssh-server //设置免密登录,下面命令将建立一个新的密钥 ssh-keygen -t rsa -P ""
以下图:linux
并将生成的密钥加入到受权中:git
hadoop@master:~$cat /home/hadoop/.ssd/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys #测试SSH设置经过“hadoop”用户链接到locahost,就是先su hadoop,而后使用ssh hadoop@master:~$ssh localhost
4.安装javavim
先检查 Ubuntu 操做系统的架构是32位仍是64位bash
xugui@master:~$file /sbin/init
而后安装相应的jdk,例如,jdk-8-linux-x64.tar.gz
在本教程中,咱们将提取的下载文件到 /usr/local ,以下命令:架构
xugui@master:~$ sudo tar -xvf jdk-8u60-linux-64.tar.gz -C /usr/local #添加环境变量 vim /etc/porfile
添加下面内空到系统变量,即 /etc/profile 文件的结束ssh
JAVA_HOME=/usr/local/jdk1.8.0_60 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin export JAVA_HOME export PATH
如今让 Ubuntu 知道 JDK/JRE 的位置分布式
xugui@master:~$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/jdk1.8.0_60/bin/java" 1 xugui@master:~$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/jdk1.8.0_60/bin/javac" 1 xugui@master:~$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/jdk1.8.0_60/bin/javaws" 1
告诉 Ubuntu 咱们安装的即 jdk1.8.0_60 必须是默认的Java
xugui@master:~$ sudo update-alternatives --set java /usr/local/jdk1.8.0_60/bin/java xugui@master:~$ sudo update-alternatives --set javac /usr/local/jdk1.8.0_60/bin/javac xugui@master:~$ sudo update-alternatives --set javaws /usr/local/jdk1.8.0_60/bin/javaws
最后查看Java的版本:java -version
5.下载并安装hadoop
去hadoop官网下载hadoop-2.6.0.tar.gz
咱们选择将 Hadoop 安装至 /usr/local/ 中:
sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中 cd /usr/local/ sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改成hadoop sudo chown -R hadoop ./hadoop # 修改文件权限
Hadoop伪分布式配置
添加环境变量:vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop export JAVA_HOME=/usr/local/jdk1.8.0_60 export PATH=$PATH:$HADOOP_HOME/bin
而后 source ~/.bashrc
配置关联HDFS,设置 JAVA_HOME 在文件 /usr/local/hadoop/etc/hadoop/hadoop-env.sh 中
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh #添加jdk export JAVA_HOME=/usr/local/jdk1.8.0_60
Hadoop 能够在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既做为 NameNode 也做为 DataNode,同时,读取的是 HDFS 中的文件。
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式须要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每一个配置以声明 property 的 name 和 value 的方式来实现。
修改配置文件 :core-site.xml vim /usr/local/hadoop/etc/hadoop/core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/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> #修改配置文件 hdfs-site.xml: vim /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/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property> </configuration>
Map Reduce 配置
#修改配置文件: mapred-site.xml vim /usr/local/hadoop/etc/hadoop/mapred-site.xml <configuration> <property> <name>mapreduce.jobtracker.address</name> <value>localhost:9001</value> </property> </configuration>
在hadoop用户下,先用ssh localhost,而后格式化hdfs:
#./bin/hdfs是相对路径,就是先cd到/usr/local/hadoop目录下 hadoop@master:~$./bin/hdfs namenode -format
显示格式化成功
#./sbin同上是相对路径,启动hdfs和 ./sbin/start-dfs.sh ./sbin/start-yarn.sh #而后输入jps,查看是否启动成功 jps
以下图:
终止这两个守护进程hdfs和yarn
./sbin/stop-dfs.sh ./sbin/stop-yarn.sh
到目前为止,伪分布式环境已经搭建成功了。
我也是新手,写个教程总结一下,而后也是踩了很多坑过来的,能够参考一下如下两个教程:
http://dblab.xmu.edu.cn/blog/...
https://wizardforcel.gitbooks...