Ubuntu16下Hadoop安装

1. 安装Ubuntu

2. 新装Ubuntu常用软件安装和系统设置

(1) 安装vim

yum install vim

(2) 更改hostname为hadoop_master

sudo vim /etc/hostname

(3) 关闭防火墙

sudo ufw disable

(4) 安装rz sz用于服务器文件与本地文件交互

apt-get install lrzsz

(5) 安装 vm tools

(6) 将 tar.gz 包复制到其他目录,解压后,

3. JAVA 环境安装配置

1 Java下载的jdk包放到root用户下的 /usr/local/java下

解压包tar xvf jdk1.8.*

2 配置JAVA环境变量

(1) Root用户权限下,在 /etc/profile.d 文件夹下创建java.sh

(2) 在java.sh里写入以下内容,保存后用 source java.sh 刷新配置文件是配置文件生效:

注:很多网上资料是说在 /etc/profile 文件里直接加以下设置,但比较新的Ubuntu版本里,系统会先读 profile 文件,然后由 profile 文件遍历 profile.d 文件夹下所有 *.sh 文件, 这样就比把所有配置都写在一个 profile 文件里容易管理。

(3) 上一步是在root 下配置,接下来在 Hadoop 用户下将环境变量写入 ~/.bashrc 里,同样,保存后用 source ~/.bashrc刷新。

注:每个用户根目录有独立的 ~/.bashrc 文件

如果还不成功,可以root账号下试试以下命令:

执行赋权语句即可:
chmod 777 /etc/java/jdk1.8

备注:chmod是赋权限命令,777表示赋值所有权限对本用户,本组用户、其他用户。

设置完成后,可以用 java –version 测试是否成功。

4. 安装SSH

sudo apt-get install openssh-server

测试:ssh localhost

此时,要输入密码,还要按一次确认 yes

(1),避免输入密码

ssh-keygen -t rsa

一路回车,最后在 home/hadoop/.ssh 下有两个文件

运行:cat id_rsa.pub >> authorized_keys

这样就可以避免输入密码了。等克隆玩从机,使用同样的操作,并且将主机的 id_rsa.pub 追加到从机的 authorized_keys 中,这样,主机可以无密码访问从机了。

(2) 避免需要输入yes

在文件 /etc/ssh/ssh_config 添加以下两行

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

5. 安装rsync

sudo apt-get install rsync

因为之前更新了Ubuntu系统,已经是最新的了

修改网卡

原先的ip信息

查看host信息

键入命令:

vi hosts

注释掉 127.0.1.1 ubuntu

新增一行 10.0.0.81 ubuntu

(这里必须改,否则后面会遇到连接拒绝问题)

6. hadoop 相关账户权限设置

添加一个hadoop组

sudo addgroup hadoop

将当前用户hadoop 加入到Hadoop组

sudo usermod -a -G hadoop hadoop

将hadoop组加入到sudoer

sudo vi etc/sudoers

在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL

7. 安装Hadoop

  1. 下载Hadoop2.7.2
  2. 将解压文件放到 /usr/local下,

  1. 配置Hadoop

(1) 修改  ~/.bashrc 文件

添加以下这些行到 ~/.bashrc 文件的末尾,内容如下所示:

#Set HADOOP_HOME

export HADOOP_HOME=/usr/local/hadoop

# Add bin/ directory of Hadoop to PATH

export PATH=$PATH:$HADOOP_HOME/bin

 

(2) 配置关联HDFS

设置 JAVA_HOME 在文件 /usr/local/hadoop/etc/hadoop/hadoop-env.sh 中,使用以下行代替,即写上完整的 Java 安装路径。如下所示:

(3) core-site.xml 配置

在 $HADOOP_HOME/etc/hadoop/core-site.xml 文件中还有两个参数需要设置:

1. ‘hadoop.tmp.dir‘ - 用于指定目录让 Hadoop 来存储其数据文件。

2. ‘fs.default.name‘ - 指定默认的文件系统

为了设置两个参数,打开文件 core-site.xml

<configuration>

<property>

    <name>hadoop.tmp.dir</name>

    <value>/usr/local/hadoop/dfs/tmp</value>

    <description>Parent directory for other temporary directories.</description>

</property>

<property>

    <name>fs.defaultFS </name>

    <value>hdfs://master:9000</value>

    <description>The name of the default file system. </description>

</property>

</configuration>

现在创建一个目录,如上面配置 core-site.xml 中使用的目录:/usr/local/hadoop/dfs/tmp

sudo mkdir -p /usr/local/hadoop/dfs/tmp

授予权限目录 /app/hadoop/tmp,执行如下的命令:

sudo chown -R hadoop:hadoop  /usr/local/hadoop/dfs/tmp

sudo chmod 750  /usr/local/hadoop/dfs/tmp

 

(4) Map Reduce 配置

在设置这个配置之前, 我们需要设置 HADOOP_HOME 的路径,执行以下命令:

sudo vi /etc/profile.d/hadoop.sh

然后输入以下一行,

export HADOOP_HOME=/usr/local/hadoop

再执行以下命令:

[email protected]: sudo chmod +x /etc/profile.d/hadoop.sh

退出命令行终端再次进入,并输入以下命令:echo $HADOOP_HOME 以验证 hadoop 的路径:

[email protected]: echo $HADOOP_HOME

/usr/local/hadoop

现在复制文件,执行以下命令:

sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml

使用vi 打开文件 mapred-site.xml

sudo vi $HADOOP_HOME/etc/hadoop/mapred-site.xml

添加以下的设置内容到标签<configuration> 和 </configuration> 中,如下图所示:

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.address</name>

        <value>master:10020</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.webapp.address</name>

        <value>master:19888</value>

    </property>

</configuration>

hdfs-site.xml配置

打开 $HADOOP_HOME/etc/hadoop/hdfs-site.xml 文件如下:

sudo vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

添加以下的设置内容到标签<configuration> 和 </configuration> 中,如下图所示:

<configuration>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>/usr/local/hadoop/dfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>/usr/local/hadoop/dfs/data</value>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>2</value>

    </property>

    <property>

        <name>dfs.namenode.secondary.http-address</name>

        <value>master:9001</value>

    </property>

    <property>

    <name>dfs.webhdfs.enabled</name>

    <value>true</value>

    </property>

</configuration>

创建以上配置指定的目录并授权目录给用户,使用以下命令:

sudo mkdir -p /usr/local/hadoop/dfs/name

sudo mkdir -p /usr/local/hadoop/dfs/data 

sudo chown -R hadoop:hadoop /usr/local/hadoop/dfs/name

sudo chown -R hadoop:hadoop /usr/local/hadoop/dfs/data 

sudo chmod 750  /usr/local/hadoop/dfs/name

sudo chmod 750  /usr/local/hadoop/dfs/data

 

(5) 格式化HDFS

在第一使用 Hadoop 之前,需要先格式化 HDFS,使用下面的命令

hadoop namenode -format

输入:y,继往下..

(6) 启动/停止 Hadoop 的单节点集群

$HADOOP_HOME/sbin/start-dfs.sh

 

$HADOOP_HOME/sbin/start-yarn.sh

 

现在使用 ‘jps‘ 工具/命令, 验证是否所有 Hadoop 相关的进程正在运行。

如果 Hadoop 成功启动,那么 jps 输出应显示: NameNode, NodeManager, ResourceManager, SecondaryNameNode, DataNode.

停止 Hadoop 的单节点集群

$HADOOP_HOME/sbin/stop-dfs.sh

$HADOOP_HOME/sbin/stop-yarn.sh

$HADOOP_HOME/sbin/stop-all.sh

上述步骤只是安装测试虚拟机使用,实际生产环境中,这几个配置文件都还要根据实际需求做很多调优设置。特别是cpu,内存,日志路径等等都需要调

8. 虚拟机克隆slave机

前三步是single模式的环境,接下来是做完全分布式环境,添加从机。

*原本是直接在复制粘贴两份虚拟机作为slave1和slave2,但后来发现不能上网,会出现连不上网络的问题,用克隆出来的虚拟机可以避免这个问题。

1)克隆虚拟机

VMware ==》 虚拟机 ==》 管理 ==》 克隆

克隆出 Hadoop_slave1  Hadoop_slave2

2)修改三个虚拟机的hostname

修改 etc/hostname ,分别将ubuntu 改为 master , slave1, slave2

*千万别设置成下划线格式的如: hadoop_master  会导致启动namenode时出错

  1. 三虚拟机hosts里添加ip地址与hostname映射

通过命令 ifconfig 查看三个虚拟机的ip4 地址

然后在三个虚拟机里都添加三行ip hostname映射,如下:

添加完后,三个虚拟机就可以互相用hostname Ping通了,

master机ping slave2结果:

9. 配置SSH实现无密码登陆

无密码登陆,效果也就是在master上通过 ssh slave1或 ssh slave2 就可以登陆到对方计算机上。而且不用输入密码。

3台虚拟机上,使用   ssh-keygen -t rsa    一路按回车就行了。

刚才都作甚了呢?主要是设置ssh的密钥和密钥的存放路径。 路径为~/.ssh下。

打开~/.ssh 下面有三个文件,输入命令  ls -la

authorized_keys,已认证的keys

id_rsa,私钥

id_rsa.pub,公钥   三个文件。

下面就是关键的地方了,(我们要做ssh认证。进行下面操作前,可以先搜关于认证和加密区别以及各自的过程。)

  (1)在master上将公钥放到authorized_keys    里。命令:sudo cat id_rsa.pub >> authorized_keys,在slave机上也同样操作,这一步使本机可以无密码操作。

  (2) 将master上的authorized_keys放到其他linux的~/.ssh目录下。

sudo scp authorized_keys [email protected]:~/.ssh

sudo scp authorized_keys hadoop@slave2:~/.ssh       

sudo scp authorized_keys 远程主机用户名@远程主机名或ip:存放路径。

slave机上,一个master的,一个本机的

master机上,只有master的

(3)修改authorized_keys权限,命令:chmod 644 authorized_keys

(4)测试是否成功

ssh slave1输入用户名密码,然后重启master虚拟机,再次ssh slave1不用密码,直接进入系统。这就表示成功了。

10. 在master上配置slaves信息

配置/usr/local/hadoop/etc/hadoop目录下的slaves

删除默认的localhost,增加2从节点,

192.168.159.132

192.168.159.133

11. 正常安装后几个检查网址

http://192.168.159.129:50070/dfshealth.html#tab-datanode

http://192.168.159.130:8088/cluster/scheduler

12. 同步几个服务器的时间

集群上个服务器时间上可能不同步,这会导致很多麻烦事,要同步集群时间。

(未装成功,先跳过,但是Hbase对时间同步有要求)

(1)安装ntpdate工具

sudo apt-get install ntpdate

(2)设置系统时间与网络时间同步

sudo ntpdate cn.pool.ntp.org

(3)将系统时间写入硬件时间

sudo hwclock --systohc

13.安装 lrzsz

安装lrzsz,使用rz或sz命令可以方便地上传和下载文件

14.安装zookeeper

下载地址:

http://pan.baidu.com/s/1qWyoFhU?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0

执行:

解压后

sudo mv zookeeper-3.4.5.tar.gz  /usr/local/zookeeper

cd /usr/local/zookeeper/conf

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

修改:dataDir=/usr/local/zookeeper/data

添加:

server.0=master:2888:3888

server.1=slave1:2888:3888

server.2=slave2:2888:3888

创建/usr/local/zookeeper/data 文件夹,并创建myid文件

并设置第一台server为0

echo 0 > myid

复制zookeeper目录至其余两台服务器中:

scp -r /usr/local/zookeeper slave1:/usr/local/

scp –r /usr/local/zookeeper slave2:/usr/local/

scp –r /usr/local/zookeeper slave3:/usr/local/

如果没权限,就先复制到 /tmp 文件夹,然后在 mv 到/usr/local

或者修改 /usr/local 权限,添加写权限

复制环境变量配置文件至其余两台服务器中:

  scp /etc/profile.d/zookeeper.sh [email protected]:/etc

  scp /etc/profile.d/zookeeper.sh [email protected]:/etc

  scp /etc/profile.d/zookeeper.sh [email protected]:/etc

在其余几台服务器中修改myid文件:设置为1和2,3;

启动ZooKeeper,分别在每个节点中执行命令:zkServer.sh start

查看状态 /usr/local/zookeeper/bin/zkServer.sh status

(11)可以使用以下命令来连接一个zk集群:

/usr/local/zookeeper/bin/zkCli.sh -server master:2181,slave1:2181,slave2:2181,slave3:2181

附录:

Ubuntu Keyboard Shortcuts

Ubuntu终端复制粘贴快捷键

原文地址:https://www.cnblogs.com/zjc10203/p/9064927.html

时间: 2024-10-09 23:25:22

Ubuntu16下Hadoop安装的相关文章

Ubuntu-64位下hadoop安装

本文是hadoop学习系列的第一篇文章本文将介绍Ubuntu环境下JDK的安装以及hadoop的安装阅读本文需要有一定Linux命令基础 前期准备 安装环境:ubuntu-16.04.3-desktop 64bit所需软件:jdk-8u161-linux-x64 ?? hadoop-3.0.0 JDK与hadoop的下载 下载上面的JDK安装包至~/Downloads目录,切换至该目录并解压缩.下载上面的hadoop安装包至~/Downloads目录,切换至该目录并解压缩. 也可以通过以下方式下

Ubuntu16下Hive 安装

0.安装环境和版本 Ubuntu16,hadoop版本是2.7.2 ,选择Hive版本为  hive-2.1.17 1. Hive安装包下载 地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hive/ 2.上传到服务器后解压 sudo mv apache-hive-2.1.1-bin.tar.gz /usr/local sudo tar zxvf apache-hive-2.1.1-bin.tar.gz sudo mv apache-hive-2.

mac 下hadoop安装并运行例子

1 安装 #brew install hadoop 安装的是2.6.0,目录为/usr/local/Cellar/hadoop,如果想安装其他版本,则下载tar包解压即可.地址:http://mirrors.cnnic.cn/apache/hadoop/common/ 2 配置 将hadoop可执行路径bin和sbin都配置到环境变量中 export HADOOP_HOME=/usr/local/Cellar/hadoop/2.6.0/libexec export JAVA_HOME=/Libr

【转】Linux环境下hadoop安装过程

原文链接 http://blog.csdn.net/xumin07061133/article/details/8682424 一 实验环境: 1.三台物理机(可以虚拟机虚拟出的三台主机),其中一台做为主节点(namenode)ip:192.168.30.50,两台做为从节点(datanode)ip:192.168.30.51 /   192.168.30.52 2.为每一台主机安装JDK1.6以上,并设置好环境变量,推荐(如:JAVA_HOME=/usr/java/java1.7.0_17),

Centos下Hadoop安装配置

首先声明本人的配置是根据: http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html 进行修改的,因此在这里表示感谢. 在这里我自己对于原有的文章进行了修改. 原作的某些命令不适合在centos上进行使用. 以及一些不太注意的细节,在这里我提了出来. 首先在安装之前,应先建立hadoop的用户组和hadoop用户, 然后再进行以下的安装配置.这里是很多新手都忽略的地方. 1.2 环境说明 集群中包括4个节点:1个Master,

(十二)linux下hadoop安装配置

1.准备Linux环境 1.1关闭防火墙 #查看防火墙状态 service iptables status #关闭防火墙 service iptables stop #查看防火墙开机启动状态 chkconfig iptables --list #关闭防火墙开机启动 chkconfig iptables off 1.2修改sudo su root vim /etc/sudoers 给hadoop用户添加执行的权限 hadoop  ALL=(ALL) ALL 关闭linux服务器的图形界面:vi /

DigitalOcean 推荐的ubuntu16下LAMP安装过程

LAMP安装过程: How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 16.04 安装 PHPMyAdmin过程: 如何在Ubuntu 16.04上安装和安装phpMyAdmin

Ubuntu16下apache2安装ssl阿里云证书

1.用下面的命令确保ssl模块已经加载进apache: a2enmod ssl 如果你看到了"Module ssl already enabled"这样的信息就说明你成功了,如果你看到了"Enabling module ssl",那么你还需要用下面的命令重启apache: service apache2 restart 最后像下面这样修改你的虚拟主机文件(通常在/etc/apache2/sites-enabled 下):#注意是sites-enabled文件夹下 D

ubuntu 下的 hadoop 安装

这两天一直在安装hadoop 道路比较曲折,记录一下 在redhat下安装完成以后一直无法启动datanode,原因是jdk 的版本一直有问题,换了一个jdk后问题依旧,自己推测是redhat版本太低的原因,于是只好舍弃,换ubuntu ubantu版本是13.04.比较稳定. 安装前首先准备好材料. vmare 虚拟机 ,准备好jdk  和hadoop 因为是虚拟机安装所以放到vmvare 共享文件夹下面. ===========================================