出处: https://www.jianshu.com/p/de4d56433848
3. Hadoop 安装
3.1 下载 Hadoop
-
Hadoop 安装地址:/usr/local/hadoop/hadoop-3.2.0
# 解压 Hadoop 到指定文件夹
tar -zxf hadoop-3.2.0.tar.gz -C /usr/local/hadoop
# 查看 Hadoop 版本信息
cd /usr/hadoop/local/hadoop-3.2.0
./bin/hadoop version
4. Hadoop 配置
4.1 建立目录
# 在 /usr/hadoop/ 目录下,建立 tmp、hdfs/name、hdfs/data 目录
mkdir /usr/local/hadoop/tmp
mkdir /usr/local/hadoop/hdfs
mkdir /usr/local/hadoop/hdfs/data
mkdir /usr/local/hadoop/hdfs/name
4.2 设置环境变量
# 设置环境变量
vi /etc/profile
# set hadoop path
export HADOOP_HOME=/usr/hadoop/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin
# 使环境变量生效
source /etc/profile
# CentOS版本用
source ~/.bash_profile
4.3 修改 Hadoop 配置文件
配置以下 5 个文件:
hadoop-3.2.0/etc/hadoop/hadoop-env.sh
hadoop-3.2.0/etc/hadoop/core-site.xml
hadoop-3.2.0/etc/hadoop/hdfs-site.xml
hadoop-3.2.0/etc/hadoop/mapred-site.xml
hadoop-3.2.0/etc/hadoop/yarn-site.xml
4.3.1 hadoop-env.sh
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_152
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
另一种配置用户:
start-dfs.sh、stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh、stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
4.3.2 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
####注释 : HDFS的URI,文件系统://namenode标识:端口号
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
###注释: namenode上本地的hadoop临时文件夹
</property>
</configuration>
4.3.3 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
</configuration>
4.3.4 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4.3.5 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
HDFS 启动
(1)先配置文件
修改 core-site.xml 如下
修改 hdfs-site.xml 如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
dfs.replication 配置的是 HDFS存储时的备份数据(datanode的备份),因为我们刚开始测试,只有一个结点比较好,股设置为1.
(2) 格式化 HDFS
Bin/hdfs namenode -format
格式化是对 HDFS这个分布式文件系统中的 DataNode 进行分块,统计所有分块后的初始元数据的存储在namenode中。(如果服务器再次启动,也需要进行这步,否则启动可能会失败)
(3)启动 NameNode
Sbin/hadoop-daemon.sh start namenode
(4) 启动 DataNode
Sbin /hadoop-daemon.sh start datanode
(5) 启动 SecondaryNameNode
Sbin/hadoop-daemon.sh start secondarynamenode
(6) 使用 jps 命令查看是否启动成功,有结果就成功了。
(7) 然后就可以使用 bin/hdfs dfs —help 里面的命令了,比如 -ls -mkdir 等和 linux 类似的命令。
hdfs dfs -ls /