一) 单机安装
1. 下载安装包
官网地址:https://hadoop.apache.org/releases.html
这里下在最新3.1.2 binary
解压到指定目录 tar -zxvf hadoop-3.1.2.tar.gz -C /work/service/
2. 安装前准备 jdk, ssh
jdk: export JAVA_HOME=/java/default 这个软链到具体jdk解压路径
ssh: 安装openssh => sudo yum install openssh*
这是单机模式,只需要本机ssh免密,要是集群模式,需要namenode对datanode ssh免密
生成ssh的公钥,私钥: ssh-keygen -t rsa -P ""
添加公钥验证文件: cat id_rsa_pyb >> authorized_keys
3. 设置HADOOP_HOME环境变量
vim /etc/profile
export HADOOP_HOME=/work/service/hadoop-3.1.2
export PATH=$PATH:$HADOOP_HOME/bin
至此可以在任意地方 hadoop fs ...,hdfs dfs ..., yarn app ...等命令了
4. 启动hadoop之前脚本修改(以root用户启动),配置文件修改
cd $HADOOP_HOME/sbin 这里面放着启动的脚本以及配置文件
4.1 四大项配置文件修改core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml(最简配置,详细配置见官网)
4.1.1 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
4.1.2 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4.1.3 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
4.1.4 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
》》》》》》 如果以root用户启动则需要以下修改《《《《《《
4.2 脚本修改 start-dfs.sh start-yarn.sh (stop-dfs.sh stop-yarn.sh与之对应,修改相同)
因为start-all.sh是调用 start-dfs.sh和start-yarn.sh, 所以本质上修改这两个脚本(stop类同)
4.2.1 start-dfs.sh
开头添加各类用户名
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
4.2.2 start-yarn.sh
开头添加各类用户名
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
》》》》》》 如果以hadoop用户启动则无需以上修改, 需要注意以下《《《《《《
hadoop用户ssh免密时需要注意修改 /home/hadoop/.ssh 和 /home/hadoop/.ssh/authorized_keys 的文件权限
chmod 700 /home/hadoop/.ssh
chmod 644 /home/hadoop/.ssh/authorized_keys
hadoop 用户添加管理员权限
visudo
找到 root ALL=(ALL) ALL 这行(应该在第98行,可以先按一下键盘上的 ESC 键,然后输入 :98 (按一下冒号,接着输入98,再按回车键),可以直接跳到第98行 ),然后在这行下面增加一行内容:hadoop ALL=(ALL) ALL (当中的间隔为tab)
5. 启动 bash $HADOOP_HOME/sbin/start-all.sh
打开集群web http://localhost:8088
打开HDFS文件系统Web http://localhost:9870