条件:
先下载VMware1.2,然后安装。
下载ubuntu-1.4.05-desktop-amd64.iso。下载地址:http://mirrors.aliyun.com/ubuntu-releases/14.04.5/
下载hadoop2.7。下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.7.1/
下载jdk-8u171-linux-x64.tar.gz。到官网下载。参考教程:https://blog.csdn.net/zl007700/article/details/50533675
将ubuntu安装在VMware上。
1.创建hadoop用户
sudo useradd -m hadoop -s /bin/bash
设置密码
sudo passwd hadoop
增加管理员权限
sudo adduser hadoop sudo
最后退出当前用户,然后重新登陆hadoop用户。
2.更新apt
sudo apt-get update
3.安装SSH,配置SSH无密码登录
安装SSH server:
sudo apt-get install openssh-server
安装后,用命令登录:
ssh localhost
但是这样登陆需要密码。所以首先退出刚才的 ssh,利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
然后就可以无密码登录了
3.免配置环境安装jdk
sudo apt-get install default-jre default-jdk
上述安装过程需要访问网络下载相关文件,请保持联网状态。安装结束以后,需要配置JAVA_HOME环境变量,请在Linux终端中输入下面命令打开当前登录用户的环境变量配置文件.bashrc:
vim ~/.bashrc
在文件最前面添加如下单独一行(注意,等号“=”前后不能有空格),然后保存退出:
export JAVA_HOME=/usr/lib/jvm/default-java
接下来,要让环境变量立即生效,请执行如下代码:
source ~/.bashrc
执行上述命令后,可以检验一下是否设置正确:
4.安装hadoop
将下载好的hapoop解压到/usr/local/
sudo tar -zxf ~/Downloads/hadoop-2.7.6.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.7.6/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop # 修改文件权限
我在写文件夹名时写错了。所以用来查看当前目录下的文件夹的命令是 Is 文件名
最后查看hadoop的版本:
5.单机配置hadoop
hadoop默认为非分布式模式(本地模式)。无需进行其他配置即可。
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
修改成:
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。
此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
配置完成后,执行 NameNode 的格式化:
./bin/hdfs namenode -format
我执行命令时一直提醒找不到路径,需要先cd到/usr/local/hadoop目录下
然后发现原来的xml文件写错了,正确的应该写成:
然后再执行:
接着开启 NameNode 和 DataNode 守护进程。
./sbin/start-dfs.sh