最近在学厦门大学的《大数据技术原理与应用》公开课,参考学习内容自己部署了一个Hadoop 平台,整个分布式集群分一个Master服务器和两个Slave服务器,方便后面学习。
参考安装过程:厦门大学数据库实验室
1 安装环境和必要软件
3 台 ubuntu 16.04
vim
2 创建hadoop用户
sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop
sudo adduser hadoop sudo
3 更新软件源
公司环境限制系统的的源无法下载java sdk所以这里更新到阿里源,3台服务器都需要
cd /etc/apt
cp sources.list sources.list.bak
vim sources.list
#al Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties deb http://archive.canonical.com/ubuntu xenial partner deb-src http://archive.canonical.com/ubuntu xenial partner deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
sudo apt-get update
4 更改计算机名称和IP映射
sudo vim /etc/hostname
sudo vim /etc/hosts
三台服务器都要改成只保留一个内部地址映射,以及对另外两条服务器的ip映射,完成后重启生效
5 安装ssh
sudo apt-get install openssh-server
这里直接配置对三台服务器的公用key,如果没有如果没有 ~/.ssh 目录,先执行一次ssh localhost
cd ~/.ssh #
rm ./id_rsa*
ssh-keygen -t rsa
Master服务器上
cat ./id_rsa.pub >> ./authorized_keys
其他两台Slave服务器,后续还要用scp复制文件到Slave
scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/
在设置为公用key
cd ~/.ssh #
cat ./id_rsa.pub >> ./authorized_keys
安装和配置JAVA JDK
直接用如下命令安装,如安装提示无法下载,要更新源,安装的版本都是1.8
sudo apt-get install default-jre default-jdk
配置java 到环境变量中
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/default-java #在打开的bashrc开头添加
source ~/.bashrc
6 安装 Hadoop
因为java-sdk是1.8 目前用2.9到3.0版本没发现问题,现在Master服务器上安装
下载网址:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.9.0
如果不行请使用如下地址
https://mirrors.cnnic.cn/apache/hadoop/common/
http://mirror.bit.edu.cn/apache/hadoop/common/
下载hadoop
sudo wget http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz
我的是下载在HOME下,复制到/usr/local/中
cp hadoop-2.9.0.tar.gz /usr/local
在/usr/local/ 解压
sudo tar -zxf hadoop-2.9.0.tar.gz
重命名文件夹并更改权限
sudo mv ./hadoop-2.9.0/ ./hadoop
sudo chown -R hadoop ./hadoop
在解压的hadoop文件中切换到配置文件目录,配置code-site.xml /hdfs-site.xml/ mapred-site.xml /yarn-site.xml
后面有时间深入研究一下配置文档节点的含义。
但是注意的是3.0版本以上的对应配置的web 端口有变化,后续补充一下。
cd ./etc/hadoop/
code-site.xml
hdfs-site.xml
mapred-site.xml 默认文件名为 mapred-site.xml.template 需修改名称
yarn-site.xml
复制到两个Slave服务器上:
scp -r ./hadoop Slave2:/home/
正常配置了ssh公钥登录是不需要输入账号的,如提示没权限用如下复制,添加账号进行,提示yes/no 一定要完整的输入
scp -r ./hadoop hadoop@Slave1:/home/
登录到Slave上,将/home中的hadoop复制到/usr/local中,并添加权限
sudo cp hadoop/ /usr/local
sudo chown -R hadoop /usr/local/hadoop
7 添加Hadoop到path变量中
8 启动服务
Master服务器上格式化NameNode和启动hadoop
hdfs namenode -format #如果配置好执行一次就好,多次自行会导致后续在启动时Slave datanode无法启动
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
执行jps查看运行的进程:
在Master服务器上执行 hdfs dfsadmin -report,查看data节点的信息
打开网页端 http://10.19.52.80:50070 的结果:
后面再记录一下 用Python开发 HDFS 的上传下载
网友评论