Hadoop(liunx操作系统)
Linux 环境下 HDFS 安装(多节点参考以下)
https://blog.csdn.net/xiaohu21/article/details/108028516#t8
宝塔面板安装:
curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh
Linux 环境下 HDFS 安装(单节点)
1. 安装环境
VMWare15.x
centos7.x
hadoop 3.2.0
2. 第一台虚拟机基础配置
2.1 先安装好一台 linux 虚拟机,并且设置好宿主 windows 的 ip 地址,VMWare 中虚拟交换机的地址(宿主 windows 和虚拟交换机的 ip 地址必须同一网段,并且宿主 windows 的网关 ip 需要设置为虚拟交换机的 ip 地址)。
2.2 设置好这台虚拟 linux 的配置,包括主机名(/etc/hosname)、ip 地址 / 网关 / 子网掩码 /DNS1 等信息(/etc/sysconfig/network-scripts/ifcfg-ens33)、host 可以后续集群克隆完毕后再设置
2.3 安装基本环境,JDK1.8、mysql
# java JDK 环境变量
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
3. 安装 Hadoop
3.1 下载压缩包,版本是 3.2.1,注意是 linux 下版本
3.2 在 opt 下创建安装软件目录,apps(也可在 usr 下创建安装目录)
3.3 使用命令把 hadoop 的 Linux 压缩包解压到当前目录 tar -zxf xxxxx。这里的参数不加 v,不显示解压进度,解压速度更快。
3.4 设置 hadoop 的环境变量,/etc/profile ,添加一个 HADOOP_HOME 变量
# hadoop
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/jre/bin:$PATH
4. 修改 Hadoop 配置信息(在 Hadoop 安装目录下:etc/hadoop)
- JAVA_HOME 的位置, hadoop-env.sh 在文件的第 54 行 54+shift+G(vi 命令)
export JAVA_HOME=/usr/local/jdk
- namenode 机器的位置 ,hdfs-site.xml
<!--namenode 存放元数据的位置 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/name</value>
<description>namenode</description>
</property>
<!--datanode 存储数据的位置 -->
<property>
<name>dfs.datanode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/data</value>
<description>datanode</description>
</property>
<!-- 主从复制 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
- 配置默认的文件系统 core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.253.132:8020</value>
</property>
<span class="hljs-tag"><<span class="hljs-name">property</span>></span>
<span class="hljs-tag"><<span class="hljs-name">name</span>></span>hadoop.proxyuser.hadoop.hosts<span class="hljs-tag"></<span class="hljs-name">name</span>></span>
<span class="hljs-tag"><<span class="hljs-name">value</span>></span>*<span class="hljs-tag"></<span class="hljs-name">value</span>></span>
<span class="hljs-tag"></<span class="hljs-name">property</span>></span>
<span class="hljs-tag"><<span class="hljs-name">property</span>></span>
<span class="hljs-tag"><<span class="hljs-name">name</span>></span>hadoop.proxyuser.hadoop.groups<span class="hljs-tag"></<span class="hljs-name">name</span>></span>
<span class="hljs-tag"><<span class="hljs-name">value</span>></span>*<span class="hljs-tag"></<span class="hljs-name">value</span>></span>
<span class="hljs-tag"></<span class="hljs-name">property</span>></span>
添加 hadoop 账号
adduser hadoop #(添加hadoop用户)
passwd hadoop # (给hadoop用户设置密码)
su hadoop #切换为hadoop用户执行以下操作
- 虚拟机配置免密通信
每台虚拟机按照如下操作,注意都是以 hadoop 账号操作
- 查看是否已经生成过 ssh key,有的话,去自己家目录下删除.ssh 目录
- ssh-keygen 输入指令后,按下 enter 键,一路 enter
- ssh-copy-id {自己以及其他虚拟机的域名,ip 也可},一定给包括自己在内所有虚拟机发送这个指令
- 输入 yes,再输入对应虚拟机的密码
- 提示成功后,测试一下 ssh 虚拟机域名或者 ip,这时候应该是无密码登录过去的,没问题后,注意 exit 退出,回到自己当前所在虚拟机。
- 初始化 namenode
去 hadoop 安装目录下的 bin 中,调用以下指令
./hadoop namenode -format
启动
start-dfs.sh
start-all.sh
- 单节点启动 HDFS
去到 namenode 所在机器,去安装目录下的 sbin 中
- 先启动 namenode(顺序不能乱,因为 datanode 启动后需要去向 namenode 注册,所以 namenode 必须先启动)
./hadoop-daemon.sh start namenode 单个启动namenode
- 再启动 datanode
./hadoop-daemon.sh start datanode单个启动namenode