大数据实践(一)--Hadoop单机搭建(Ubuntu)
前置环境及工具:
Ubuntu 16
VirtualBox
Hadoop 2.7.3
xftp6
jdk1.8
1、VirtualBox环境准备
001、设置网卡
双网卡:选择桥接模式与仅主机模式。
保证主机与虚拟机之间相互ping通、关闭防火墙。
sudo ufw disable
002、更新apt-get(最好更新)
使用以下命令更新apt-get。
sudo apt-get update
如果速度太慢,可以更换源。
步骤如下:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份原源列表文件
将原源文件(/etc/apt/sources.list)中地址替换为以下地址:
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
003、下载vim(可略去)
使用gedit也是可以的。
sudo apt-get install vim
004、下载ssh
通过以下命令查看是否存在ssh服务,不存在需要安装:
ps -e|grep ssh
5310 ? 00:00:00 sshd # 存在ssh
安装openssh相关组件:
sudo apt-get install openssh-server
此时如果报错openssh-client的话,是Ubuntu自带的client版本不适配server,安装一个适配的版本:
启动ssh服务。
service sshd restart
005、配置本地ssh登录服务
cd ~/.ssh/ # 若没有该目录,请先执行一次 ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
2、Hadoop环境准备
001、上传jdk以及hadoop
使用xftp等工具都可以。
注意Ubuntu下需要给与文件夹上传的权限。
sudo chmod 777 xxx
002、解压并配置环境变量(略去)
配置jdk、hadoop的环境变量。
# java_home
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
#hadoop home
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
003、修改读写权限(可略去)
使用以下命令可以使当前用户具有对文件的读写修改权限。
sudo chmod -R xxx(用户)
/.. #R代表队当前目录及其子目录拥有权限
004、修改Hadoop配置文件
hadoop-env.sh 记录脚本要用的环境变量,以运行hadoop
core-site.xml hadoop core的配置项,例如hdfs和mapreduce常用的i/o设置等
hdfs-site.xml hadoop守护进程的配置项,包括namenode、辅助namenode和datanode等
mapred-site.xml mapreduce守护进程的配置项,包括jobtracker和tasktracker
.....
单机只设置前面三个就可以。
1、修改hadoop-env.sh文件
建议修改并配置jdk环境。
# The java implementation to use.
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191
2、修改core-site.xml文件
<property>
<name>hadoop.tmp.dir</name>
<value>file:///usr/local/hadoop/hadoopTmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.56.102:9000</value>
</property>
3、修改hdfs-site.xml 文件
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/hadoopTmp/dfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file:///usr/local/hadoop/hadoopTmp/dfs/data</value>
</property>
3、测试
001、格式化NameNode
hdfs namenode -format
002、启动hdfs守护进程
start-dfs.sh
# 使用jps出现以下进程
7952 DataNode
8246 Jps
8135 SecondaryNameNode
7804 NameNode
003、在Web端查看相关信息
打开浏览器,输入local host:50070,出现相关页面。
004、停止守护进程
stop-dfs.sh
此时进程停止。