Hadoop(单机版)安装配置
1.添加Hadoop的启动用户(root用户启动则不用):
- [root@localhost ~]# groupadd hdfs
- [root@localhost ~]# useradd hdfs -g hdfs -s /bin/false
2.修改主机名,添加一下内容
- [root@localhost ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node01
- [root@localhost ~]# vim /etc/hosts
IP node01 (这里的IP为服务器的IP) node01为节点名
3.生成配置 SSH免登陆密匙
-[root@localhost local]# cd ~/.ssh
-[root@localhost .ssh]# ssh-keygen -t rsa
# 将公钥拷贝到要免登陆的机器上
-[root@localhost .ssh]# ssh-copy-id node01
4.解压安装 Hadoop
- [root@localhost src]# tar -zxvf hadoop-3.0.3.tar.gz
5.修改配置文件,添加内容
5.1 配置 hadoop-env.sh:
JAVA_HOME=/usr/java/jdk1.8.0_191/ (服务器中JDK安装路径)
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_NODEMANAGER_USER=root
export YARN_RESOURCEMANAGER_USER=root
5.2 配置core-site.xml: (全局配置)
<configuration>
<!-- 配置默认采用的文件系统 -->
<property> (JAVA API连接地址)
<name>fs.default.name</name>
<value>hdfs://IP</value>
</property>
<!-- 配置hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/xq/hdfs/hadoop-3.0.3/data</value>
</property>
</configuration>
5.3 配置hdfs-site.xml:
<configuration>
<!-- 客户端将文件存到hdfs的时候,会存放在多个副本。value一般指定3,但因为搭建的是伪分布式就只有一台机器,所以只能写1 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- HDFS管理界面的访问地址 -->
<property>
<name>dfs.http.address</name>
<value>IP:50070</value>
</property>
<property>
<name>dfs.permissions</name> (文件操作时的权限检查标识)
<value>false</value>
</property>
</configuration>
5.4 配置mapred-site.xml:
<configuration>
<property> (job-tracker交互端口)
<name>mapred.job.tracker</name>
<value>IP:9001</value>
</property>
<!-- 指定MapReduce程序应该放在哪个资源调度集群上运行。若不指定为yarn,那么MapReduce程序就只会在本地运行而非在整个集群中运行。 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.5 配置配置yarn-site.xml:
<configuration>
<!-- 指定yarn集群中的主节点 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
<!-- 指定map产生的中间结果传递给reduce采用的机制是shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6.添加环境变量(可省略)
- [root@localhost hadoop]# vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop-3.0.3 (安装路径)
export PATH=.:$PATH:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- [root@localhost hadoop]# source /etc/profile
7.启动
- [root@node01 ~]# cd /usr/local/hadoop-3.0.3/bin/ (进入安装目录bin)
- [root@node01 bin]# ./hdfs namenode -format (初始化)
- [root@node01 sbin]# ./start-all.sh (进入sbin目录,执行启动命令)
- [root@node01 sbin]# jps (检测是否启动,端口不一样)
46198 Jps
45943 ResourceManager
45291 NameNode
45691 SecondaryNameNode
45421 DataNode
46079 NodeManager
- 几个Web管理界面:
HDFS的Web管理界面:http://IP:50070/
MR的Web管理界面:http://IP:8088/
基本命令
1.创建目录(这个目录需要服务器存在,不然命令会执行失败)
[root@localhost bin]# ./hadoop fs -mkdir /data/
2.使用put命令上传本地文件:
[root@localhost bin]# ./hadoop fs -put /home/test.txt /data/
3.列出hdfs的目录的文件: -ls
[root@localhost bin]# ./hadoop fs -ls /data
4.查看hdfs上的文件: cat
[root@localhost bin]# ./hadoop fs -cat /data/test.txt
5.下载hdfs上的文件:get
[root@localhost bin]# ./hadoop fs -get /data/test.txt /home/hdfs_test.txt
6.删除hdfs上的文件:-rm
[root@localhost bin]# ./hadoop fs -rm /data/test.txt
7.删除hdfs上的目录及其目录下面的所有文件: -rm -r
[root@localhost bin]# ./hadoop fs -rm -r /data/