一:ssh的免密登陆
伪分布式模式下工作时必须必须启动守护进程,启动守护进程:SSH连接到相关的主机并启动一个守护进程。
基于空口令生成一个新的SSH密钥,以实现无密码登录
# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 0600 ~/.ssh/authorized_keys
# ls ~/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
使用以下指令测试是否能够成功,如果能成功则无需键入密码
# ssh localhost
二:配置文件
在hadoop安装目录的etc/hadoop有相关的配置文件:
# cd /usr/local/hadoop/etc/hadoop/
core-site.xml配置修改:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost</value>
</property>
</configuration>
fs.defaultFS: 设置Hadoop的默认文件系统
hdfs-site.xml配置修改:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
备注:dfs.replication参数表示hdfs中文件的副本数
mapred-site.xml配置修改:
若没有mapred-site.xml,选择以下方法复制
# cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
mapreduce.framework.name:指定mapreduce 编程模型运行在yarn上
yarn-site.xml配置修改:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
yarn.resourcemanager.hostname: 指定resource manager的主机host
yarn.nodemanager.aux-services:节点管理器运行的附加服务列表
hadoop-env.sh修改
把export JAVA_HOME=${JAVA_HOME}改成实际的JAVA_HOME地址
如export JAVA_HOME=/opt/jdk1.8.0_121
否则会在启动hadoop出现如下报错:
JAVA_HOME is not set and could not be found
三:格式化hdfs文件系统
# hdfs namenode -format
四:启动hadoop
分别启动HDFS、YARN和MapReduce守护进程
# start-dfs.sh
# start-yarn.sh
# mr-jobhistory-daemon.sh start historyserver
备注:如果配置文件不在默认的conf目录中,则需要在启动守护进程时通过--config选项指向配置目录
例如: start-dfs.sh --config /opt/config
想要确定hadoop是否配置成功,可使用jps来查询进程
# jps
15920 NameNode
21298 Jps
15219 ResourceManager
16580 JobHistoryServer
13078 Kafka
12716 QuorumPeerMain
16204 SecondaryNameNode
16444 NodeManager
16045 DataNode
五:HDFS集群的简单操作命令
# hdfs dfs -ls /
Found 1 items
drwxrwx--- - root supergroup 0 2018-12-29 03:13 /tmp
# hdfs dfs -mkdir -p /user/test