通用命令
hdfs dfs -get /user
单击安装, 主要使用Hdfs
1, 创建新文件夹
mkdir -p /data/hadoop/hdfs/tmp /data/hadoop/hdfs/data /data/hadoop/hdfs/name
2, 打通ssh
cd
cd .ssh
ssh-keygen -t rsa
添加ssh登录
方式1:
ssh-copy-id hadoop001
具体看你自己想使用那个登录服务器, 可以是localhost也可以是ip
方式2:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa.pub
测试
ssh hadoop001
ssh localhost
3, 卸载系统自带的JDK, 使用自己的JDK
tar -xvf jdk8.tar.gz // 自己下载即可
vim /etc/profile
profile追加以下内容
export JAVA_HOME=/data/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/data/hadoop/hadoop-3.3.1
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
测试
java -version 看看是不是你的jdk版本
3.1 配置用户环境变量, 选择性配置
cd
vim .bash_profile
追加如下内容
export PATH
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
export JAVA_HOME=/data/jdk8
export HADOOP_HOME=/data/hadoop/hadoop-3.3.1
export HDFS_NAMENODE_USER=hdfs
export HDFS_DATANODE_USER=hdfs
export HDFS_SECONDARYNAMENODE_USER=hdfs
export YARN_RESOURCEMANAGER_USER=hdfs
export YARN_NODEMANAGER_USER=hdfs
4, 开始部署hadoop,
本次只使用hdfs, 其主要有以下配置文件, 位置在于hadoop的根目录下的etc/hadoop/下文件夹
- hadoop-env.sh
- core-site.xml
- hdfs-site.xml
hadoop-env.sh
export JAVA_HOME=/data/jdk8
export HADOOP_HOME=/data/hadoop/hadoop-3.3.1
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
core-site.xml
<configuration>
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/hdfs/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/hdfs/data</value>
<final>true</final>
</property>
以下内容选择性配置
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
5, 剩余配置文件可按需调整
mapre-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6, 启动
可以直接使用sbin/start-all.sh启动
也可以单独只启动hdfs, sbin/start-dfs.sh
测试
hdfs dfs -ls /
hdfs dfs -mkdir /user
只要没有error信息就代表成功
或者直接访问 IP:50070 查看hdfs的可视化界面
7, 问题
- 如果hadoop正常启动, 但是hdfs的datanode或者namenode无法启动, 执行hdfs命令一直提示无法连接localhost:9000等信息, 说明hdfs的配置有问题
解决:
1, 查看core-site.xml的配置, 看看里边配置的fs的ip或者hostname, 是否已经打通了ssh,
2, 查看hdfs-site.xml的dfs.http.address是否打开
3, 查看防火墙状态
4, 重置hdfs, 执行如下命令cd hadoop根路径/bin ./hdfs namenode -format cd .. sbin/star-dfs.sh 或者可以直接试试 hdfs namenode -format, 我没试