伪分布模式:Hadoop 守护进程运行在本地机器上, 模拟一个小规模集群
操作系统信息:Linux 4.9.0-deepin4-amd64 可以当做是Ubuntu ~
安装Hadoop之前系统需要具备的条件如下↓↓↓
- 安装JDK,并且修改/etc/profile添加环境变量,步骤不再多说。
- 安装 ssh 并且确保 sshd 服务已经开启,安装pdsh。
$ sudo apt-get install ssh
$ sudo apt-get install pdsh
Apache Download Mirrors
将 hadoop-x.y.z.tar.gz 解压到 /usr/local
vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/latest
vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://localhost:9000value>
property>
configuration>
vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.http.addressname>
<value>0.0.0.0:50070value>
property>
<property>
<name>dfs.replicationname>
<value>1value>
property>
configuration>
vim etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker.http.addressname>
<value>0.0.0.0:50030value>
property>
<property>
<name>mapred.task.tracker.http.addressname>
<value>0.0.0.0:50060value>
property>
configuration>
vim sbin/start-dfs.sh
& vim sbin/stop-dfs.sh
最上方添加
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
最后如果需要可以配置一下hadoop的环境变量
vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# pdsh默认登录方式为rsh,需要修改为ssh登录
export PDSH_RCMD_TYPE=ssh
确保 $ ssh localhost 不需要密码
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
首先格式化分布式文件系统
$ hdfs namenode -format
可以通过查看控制台输出 successful 等字样, 有即为成功格式化。格式化之后会在/tmp目录下边生成 /tmp/hadoop-root 目录, 如果多次执行了格式化, 可能会出现再次启动 hdfs时, datanode 启动失败的问题, 这时候可以先将 hdfs 关闭, 然后删除 /tmp/hadoop-root 重新启动即可。
启动 hdfs
$ sbin/start-dfs.sh
启动日志保存在logs文件夹下, 如果启动不成功可以查看报错信息以便分析。启动成功后可以使用 jps
命令查询, 如下代表启动成功
21570 Jps
18548 NameNode
18677 DataNode
18878 SecondaryNameNode
然后访问 http://localhost:50070/, 即可在控制台查看 namenode, datanode 信息。
关闭 hdfs
$ sbin/stop-dfs.sh
hadoop 具体用法可以查看 share 目录下的文档~