Hadoop 伪分布式搭建
参考 博客园 YSOcean 博文
笔者按照《大数据技术原理与应用》进行搭建,捣鼓了很久未能成功搭建起来,下面的教程比较靠谱
Hadoop版本:2.7.6
ubuntu版本:16.04 LTS
1、安装 JDK
2、配置本机 ssh 免密码登录
多台机器的 ssh 免密码登录教程在此,下面是本机配置:
ssh-keygen -t rsa -P ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
代替方案:
ssh-keygen -t rsa
ssh-copy-id *.*.*.*(或者是hosts中的名字,/etc/hosts可以设置ip)
完成之后,sudo 修改 ssh 配置文件
sudo vim /etc/ssh/sshd_config
把文件中的下面几条信息的注释去掉:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径
然后重启服务
service sshd restart
使用
ssh localhost
如果中间不需要输入密码,即配置完成。
3、安装 Hadoop
1、解压,输入以下命令,将 Hadoop 安装在自己的目录下,安装在自己的 /home 下可以省去很多权限问题
tar -zxvf hadoop-2.7.6.tar.gz -C /home/guo/hadoop
解压后的目录为 /home/guo/hadoop/hadoop-2.7.6
2、新建文件夹 tmp,用来存放数据,我建立在在 /home/guo/hadoop/ 下
3、使用 root 权限配置 hadoop 的环境变量
sudo vim /etc/profile
添加:
export HADOOP_HOME=/home/guo/hadoop/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后输入如下命令保存生效:
source /etc/profile
4、验证
hadoop version
出现版本信息则说明安装成功
4、修改配置文件
1、配置 JAVA_HOME,修改 hadoop 安装目录中 /etc/hadoop/ 下的 hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
2、配置 core-site.xml,修改 hadoop 安装目录中 /etc/hadoop/ 下的 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/guo/hadoop/tmp</value>
</property>
</configuration>
3、配置 hdfs-site.xml,修改 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:/home/guo/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/guo/hadoop/tmp/dfs/data</value>
</property>
</configuration>
到此我们便配置完成一个 HDFS 伪分布式环境
启动 HDFS Single Node
1、初始化 HDFS 文件系统
hdfs namenode -format
2、启动 HDFS
start-dfs.sh
3、输入 jps 应该会显示 NameNode 等信息
那么我们就可以 通过 http://localhost:50070 来访问 NameNode
4、关闭 HDFS
stop-dfs.sh