大数据学习系列(7)-- hadoop集群搭建
2024-08-31 20:44:44
1、配置ssh免登陆
#进入到我的home目录
cd ~/.ssh
ssh-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/app
2.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/sbin source /etc/profile 3.3 格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format) 3.4 启动hadoop
先启动HDFS
sbin/start-dfs.sh 再启动YARN
sbin/start-yarn.sh 3.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/moudles
tar -zxf hadoop-2.8.3/hadoop-2.8.3.tar.gz -C /opt/moudles
cd /opt/moudles/hadoop-2.8.3
mkdir wcinput
touch wc.input
vim 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>
# 启动namenode
sbin/hadoop-daemon.sh start namenode
# 启动datanode
sbin/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 一起启动
最新文章
- python爬取github数据
- 注解的方式搭建springmvc步骤
- 【java基础】成员变量和局部变量02
- 利用Maple推导向量方程的微分公式
- jsp的9大对象
- 13Mybatis_SqlMapConfig.xml专题讲解
- hdu 5535 Cake 构造+记忆化搜索
- [转]永久告别Android的背景选择器Selector!无需切很多图了!
- HTTP Response Spliting 防范策略研究
- Swift 面向对象
- bashrc - PS1(提示符配色)
- SVN中与资源库同步时报告了错误。1 中的 0 个资源已经同步
- 安装mysql8.0.12
- 错误ERROR datanode.DataNode (DataXceiver.java:run(278)) - hadoop07:50010DataXceiver error processing unknown operation src:127.0.0.136479 dst:127.0.0.150010
- Yii2 设计模式——Yii2 中用到哪些设计模式?
- iOS12系统应用开发发送邮件
- Qt 半模式对话框
- 获取windows鼠标的当前坐标
- RabbitMQ添加rabbitmqadmin和其使用方法(类似Redis的redis-cli)
- N!(N的阶乘)最末位非0的求解方法
热门文章
- 在linux下玩转usb摄像头
- ant安装配置
- [Angular] Angular ngSwitch Core Directive In Detail
- Linux 各个子系统以及监控、测试、优化这些子系统所用到的工具
- Effective JAVA 创建和销毁对象 遇到多参构造器考虑使用构建器
- sql server 类oracle vm_contact() 函数创建
- 给UITextField设置头或尾空白
- TCP是如何保证包的顺序传输
- PHP设置会话(Session)超时过期时间实现登录时间限制
- HDU 5294 Tricks Device (最大流+最短路)