1、配置ssh免登陆
#进入到我的home目录
cd ~/.sshssh-keygen -t rsa
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id localhost
---------------------------
ssh免登陆:
生成key:
ssh-keygen
复制从A复制到B上:
ssh-copy-id B
验证:
ssh localhost/exit,ps -e|grep ssh
ssh A #在B中执行
2、安装JDK
2.1 wget 下载jdk tar包2.2 解压jdk
#创建文件夹
mkdir /home/hadoop/app
#解压
tar -zxvf jdk1.8.0_144.tar.gz -C /home/hadoop/app2.3 将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin #刷新配置
source /etc/profile
3.安装hadoop2.8.3先上传hadoop的安装包到服务器上去/home/hadoop/
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改如下配置文件:3.1配置hadoop
第一个:hadoop-env.sh
vim hadoop-env.sh
# 修改jdk环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_144第二个:core-site.xml <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.8.3/tmp</value>
</property>第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property> <property>
<name>dfs.secondary.http.address</name>
<value>192.168.1.152:50090</value>
</property>第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>3.2 将hadoop添加到环境变量vim /etc/proflie
export JAVA_HOME=/usr/java/jdk1.8.0_144
export HADOOP_HOME=/itcast/hadoop-2.8.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinsource /etc/profile3.3 格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format)3.4 启动hadoop
先启动HDFS
sbin/start-dfs.sh 再启动YARN
sbin/start-yarn.sh3.5 验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode http://node1:50070 (HDFS管理界面)
http://node1:8088 (MR管理界面)注意:
1、确保集群节点防火墙关闭2、datanode可以正常启动,但是就是无法与namenode通讯,查看logs/下日志,会发现: Unable to connect to remote host:Connection refused
namenode下/etc/hosts 中有127.0.1.1(它监听的本地地址,是一个本地回环地址)
本地模式
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.8.3/hadoop-2.8.3.tar.gz#解压到/opt/moudlestar -zxf hadoop-2.8.3/hadoop-2.8.3.tar.gz -C /opt/moudlescd /opt/moudles/hadoop-2.8.3mkdir wcinputtouch wc.inputvim wc.input #写入一些单词bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.3.jar wordcount wcinput wcoutput
伪分布式
# hadoop中创建一个临时目录mkdir data
mkdir data/tmp# core-site.xml<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://aly_ye:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/moudles/hadoop-2.8.3/data/tmp</value>
</property>
</configuration># hdfs-site.xml<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration># 启动namenodesbin/hadoop-daemon.sh start namenode# 启动datanodesbin/hadoop-daemon.sh start datanode
官方文档:http://hadoop.apache.org/docs/r2.8.3/hadoop-project-dist/hadoop-common/SingleCluster.html
hdfs垃圾回收
在core-site.xml配置垃圾回收时间:
<configuration>
<property>
<name>fs.trash.interval</name>
<value>1000</value>
</property>
</configuration>
启动方式
1、hadoop-daemon.sh、yarn-daemon.sh 逐一启动
2、start-dfs.sh、start-yarn.sh 分开启动(比较常用)
3、start-all.sh 一起启动