CentOS7下安装配置Hadoop(单机版)
买泛域名SSL证书 送5斤装现摘猕猴桃一箱、同时提供技开源商城搭建免费技术支持。
泛域名ssl证书 239元1年送1个月、单域名39元1年,Sectigo(原Comodo证书)全球可信证书,强大的兼容性,高度安全性,如有问题7天内可退、可开发票
加微信VX 18718058521 备注SSL证书
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价
添加Hadoop的启动用户(如果使用root用户启动则可以省略):
| [root@localhost ~]# groupadd hdfs [root@localhost ~]# useradd hdfs -g hdfs -s /bin/false |
修改主机名:
| [root@localhost ~]# vim /etc/sysconfig/network |
添加以下内容:
NETWORKING=yes
HOSTNAME=node01
| [root@localhost ~]# vim /etc/hosts |
添加以下内容:
注:这里的IP为当前服务器IP
同时需要将localhost.localdomain的地方修改成node01
生成并配置生成ssh免登陆密钥:
| [root@localhost local]# cd ~/.ssh [root@localhost .ssh]# ssh-keygen -t rsa # 将公钥拷贝到要免登陆的机器上 [root@localhost .ssh]# ssh-copy-id node01 |
解压并安装Hadoop:
下载地址:http://hadoop.apache.org/releases.html
| [root@localhost ~]# cd /usr/local/src [root@localhost src]# wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz [root@localhost src]# tar -zxvf hadoop-3.0.3.tar.gz [root@localhost src]# mv hadoop-3.0.3 ../ |
修改配置文件:
i)配置hadoop-env.sh:
| [root@localhost local]# cd /usr/local/hadoop-3.0.3/etc/hadoop/ [root@localhost hadoop]# vim hadoop-env.sh |
修改以下内容:
JAVA_HOME=/usr/java/jdk1.8.0_161/
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
ii)配置core-site.xml:
| [root@localhost hadoop]# mkdir /usr/local/hadoop-3.0.3/data [root@localhost hadoop]# vim core-site.xml |
修改完成之后内容如下:
| <configuration> <!-- 配置默认采用的文件系统 --> <property> <name>fs.defaultFS</name> <value>hdfs://node01:9000/</value> </property> <!-- 配置hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop-3.0.3/data</value> </property> </configuration> |
iii)配置hdfs-site.xml:
| [root@localhost hadoop]# vim 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>192.168.197.130:50070</value> </property> </configuration> |
iv)配置mapred-site.xml:
| [root@localhost hadoop]# vim mapred-site.xml |
指定MapReduce程序应该放在哪个资源调度集群上运行。若不指定为yarn,那么MapReduce程序就只会在本地运行而非在整个集群中运行。
修改完成之后内容如下:
| <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> |
v)配置yarn-site.xml
| [root@localhost hadoop]# vim 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> |
给Hadoop添加环境变量(可以省略):
| [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 |
启动:
i)初始化:
| [root@node01 ~]# cd /usr/local/hadoop-3.0.3/bin/ [root@node01 bin]# ./hdfs namenode -format |
ii)启动:
| [root@node01 ~]# cd /usr/local/hadoop-3.0.3/sbin/ [root@node01 sbin]# ./start-all.sh Starting namenodes on [node01] 上一次登录:三 7月 11 18:10:36 CST 2018pts/1 上 Starting datanodes 上一次登录:三 7月 11 18:12:29 CST 2018pts/1 上 Starting secondary namenodes [node01] 上一次登录:三 7月 11 18:12:31 CST 2018pts/1 上 Starting resourcemanager 上一次登录:三 7月 11 18:12:47 CST 2018pts/1 上 Starting nodemanagers 上一次登录:三 7月 11 18:12:58 CST 2018pts/1 上 |
iii)检查是否已经启动:
| [root@node01 sbin]# jps 46198 Jps 45943 ResourceManager 45291 NameNode 45691 SecondaryNameNode 45421 DataNode 46079 NodeManager |
如果以上几个进程都存在,则说明已经启动成功。
iv)几个Web管理界面:
测试Hadoop的基本操作:
详细命令可以参考:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html
i)新建一个本地文件,在Hadoop中新建一个工作目录:
| [root@localhost ~]# cd /usr/local/hadoop-3.0.3/bin [root@localhost bin]# echo "test word" > /home/test.txt # 创建目录(这个目录需要服务器存在,不然命令会执行失败) [root@localhost bin]# ./hadoop fs -mkdir /data/ |
ii)使用put命令上传本地文件:
将本地的/home/test.txt文件上传到hdfs的/data/目录:
| [root@localhost bin]# ./hadoop fs -put /home/test.txt /data/ |
iii)列出hdfs的/data/目录的文件:
| [root@localhost bin]# ./hadoop fs -ls /data Found 1 items -rw-r--r-- 1 root supergroup 10 2018-07-13 15:43 /data/test.txt |
iv)查看hdfs上的文件:
| [root@localhost bin]# ./hadoop fs -cat /data/test.txt test word |
v)下载hdfs上的文件:
将hdfs上的/data/test.txt下载到/home/目录,并重命名为hdfs_test.txt:
| [root@localhost bin]# ./hadoop fs -get /data/test.txt /home/hdfs_test.txt [root@localhost bin]# cat /home/hdfs_test.txt test word |
vi)删除hdfs上的文件:
| [root@localhost bin]# ./hadoop fs -rm /data/test.txt Deleted /data/test.txt [root@localhost bin]# ./hadoop fs -ls /data |
vii)删除hdfs上的目录及其目录下面的所有文件:
| [root@localhost bin]# ./hadoop fs -rm -r /data/ Deleted /data |
找梯子最重要的就是稳定,这个已经上线三年了,一直稳定没有被封过,赶紧下载备用吧!