安装SSH、配置SSH无密码登录
- 安装SSH Server
- 登录本机
$ sudo apt-get install openssh-server
$ ssh localhost
- 配置无密码登录
$ exit # 退出ssh localhost
$ cd ~/.ssh/ # 执行一次localhost,即有该目录
$ ssh-keygen -t rsa # 按回车即可
$ cat ./id_rsa.pub >> ./authorized_keys # 加入授权
安装Hadoop
- 官网下载安装包并解压。(wget、tar)
- 修改hadoop文件夹权限
$ sudo chown -R meow:meow ./hadoop
Hadoop伪分布式配置
Hadoop可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的Java进程来运行,节点既作为NameNode也作为DataNode,同时,读取的是HDFS中的文件。
需要修改/usr/local/hadoop/etc/hadoop/下的 core-site.xml 和 hdfs-site.xml 两个配置文件。
- 修改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://172.18.23.188:9000</value>
</property>
</configuration>
其中的172.18.23.188是服务器的私网IP。
- 修改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>
- 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的格式化
$ cd /usr/local/hadoop
$ ./bin/hdfs namenode -format
- 开启NameNode和DataNode的守护进程
./sbin/start-dfs.sh
启动成功后,使用 jps
指令查询进程,如显示以下四个进程,则hadoop启动成功。
[image:ADB6ECED-8792-4C2B-966A-9BE88F72ADD2-15881-0000B04288A9A0C8/B214F8ED-8F19-4738-93DA-DD39B87E555D.png]