hadoop安装及使用
过程整体分文五步骤
(1)安装Linux操作系统:比如可以安装Ubuntu 16.04。
(2)安装Hadoop:需要在Linux系统上安装Hadoop。
注意:配置文件中所有地址相关的内容均更改为自己操作机器的地址
1.安装Linux
1.安装三台centos7虚拟机
2.配置网络
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 地址分配模式
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 # 网卡名称
UUID=1fccfa54-98bd-4101-9eca-bc976d7c042a
DEVICE=ens33
ONBOOT=yes # 是否开机激活
IPADDR=192.168.56.135 # IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.56.2 # 网关地址
DNS1=114.114.114.114 # DNS地址
DNS2=8.8.8.8 # DNS地址
systemctl restart network
3.使用xshell进行远程链接
如果出现链接缓慢等问题是因为检查dns导致的,需要进行更改
vi /etc/ssh/sshd_config //进入到配置文件中
#找到文件中:
UseDNS yes
#改为:
UseDNS no
systemctl restart sshd //重启sshd服务
4.安装vim、lrzsz等工具
yum install vim -y
yum install lrzsz -y
2.安装hadoop
1.安装jdk
安装前检测JDK是否以安装(可以忽略)
Linux系统中安装JDK之前需要首先检测一下是否存在自带的JDK,如果存在,则需要先进行卸载。检测方法可以通过在命令终端执行命令:
java -version
如果发现有存在版本,则需要执行命令:
rpm -qa|grep jdk和rpm -qa|grep gcj。
然后根据查找到的软件,通过执行yum -y remove进行卸载。
说明:这一步根据具体的Linux系统版本来决定,如果没有就不需要此操作(ubuntu不需要,centos需要)
完成上面的测试步骤之后,可以从网上下载JDK的压缩包,完成安装。
将下载好的tar包放在/data/soft下
解压到路径/data/bigdata下
tar –zxvf jdk-8u73-linux-x64.tar.gz -C /data/bigdata #参数 –C 指定解压目录
配置环境变量(/etc/profile或者~/.bashrc)
vi /etc/profile
添加JDK的安装目录
export JAVA_HOME=/data/bigdata/jdk
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin # $PATH 加载的是系统命令
保存后,执行
source /etc/profile 注:此命令只能在当前终端暂时生效,要使完全生效需要重启
2.永久关闭防火墙
先查看防火墙状态systemctl status firewalld.service
如果还在运行则关闭防火墙systemctl stop firewalld.service
禁用防火墙systemctl disable firewalld.service
3.修改主机名和IP的映射关系
vim /etc/hosts
4.做节点之间的免密配置
生成密钥
ssh-keygen将公钥追加到authorized_keys(访问文件)
cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys测试
ssh localhost (不需要密码登录说明成功)发送
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
5.上传并解压hadoop
6.配置环境变量
vi /etc/profile
export JAVA_HOME=/home/java/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/home/hadoop/hadoop2.7
export HADOOP_LOG_DIR=/home/hadoop/hadoop2.7/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
export PATH=.:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
source /etc/profile
7.创建目录
mkdir /home/hadoop/hadoop2.7/tmp 用来存放临时文件
mkdir /home/hadoop/hadoop2.7/logs 用来存放日志文件
mkdir /home/hadoop/hadoop2.7/hdfs 用来存储集群数据
mkdir /home/hadoop/hadoop2.7/hdfs/name 用来存储文件系统元数据
mkdir /home/hadoop/hadoop2.7/hdfs/data 用来存储真正的数据
8.修改 hadoop-env.sh和yarn-env.sh中Javahome值
export JAVA_HOME=/tmdb/jdk1.8.0_162
9.修改核心配置文件
vi core-site.xml
<property>
<name> fs.default.name </name>
<value>hdfs://master:9000</value>
<description>指定HDFS的默认名称</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
<description>HDFS的URI</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop2.7/tmp</value>
<description>节点上本地的hadoop临时文件夹</description>
</property>
vi hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop2.7/hdfs/name</value>
<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop2.7/hdfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,默认是3,应小于datanode机器数量</description>
</property>
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>指定mapreduce使用yarn框架</description>
</property>
vi yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
<description>指定resourcemanager所在的hostname</description>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行 MapReduce程序</description>
</property>
vi slaves
node1
node2
node3
10.远程发送包含有jdk和hadoop的文件夹以及profile文件给其他节点
scp -r /tmdb root@slave2:/
scp -r /etc/profile root@slave2:/etc
11.格式化hdfs
hdfs namenode -format
12.启动hadoop
如果没有配置环境变量则进入hadoop下的sbin目录
start-all.sh
输入yes即可启动
13.使用jps查看每个节点的进程
14. 用web端查看节点信息
在浏览器打开master:8088以及master:50070
打开后显示节点的信息并都正常运行,即搭建成功