Hadoop在Ubuntu上的安装

来源:互联网 发布:阿里云域名实名认证 编辑:程序博客网 时间:2024/06/05 18:59


#1、安装两个ubuntu服务器(虚拟机)

主机名分别叫做:
hd1(在虚拟机上正常安装)

安装虚拟机工具VMWare Tools:
cd /media/ubuntu/VMware\ Tools/
cp VMwareTools-10.0.6-3595377.tar /tmp
cd vmware-tools-distrib/
sudo ./vmware-install.pl

安装vim工具
sudo apt install vim

hd2(将hd1拷贝,并修改displayname)

#2、修改主机名称和hosts文件
在hd1上
sudo apt install vim

在hd1上
sudo vim /etc/hosts
192.168.58.147 hd1
192.168.58.148 hd2

在hd2上
sudo vim /etc/hosts
192.168.58.147 hd1
192.168.58.148 hd2

sudo hostname hd2
sudo vim /etc/hostname

#3、在hd1和hd2上创建hadoop用户
在hd1上
sudo useradd hadoop
sudo passwd hadoop
123456

在hd2上
sudo useradd hadoop
sudo passwd hadoop
123456

#4、hd1和hd2上安装ssh-server
在hd1上
sudo apt install openssh-server
sudo /etc/init.d/ssh start

sudo vim /etc/rc.local
在exit 0前加入
/etc/init.d/ssh start

在hd2上
sudo apt install openssh-server
sudo /etc/init.d/ssh start

sudo vim /etc/rc.local
在exit 0前加入
/etc/init.d/ssh start

#5、hd1和hd2上的双机(多机)互信
在hd1上
ssh-keygen -t rsa

在hd2上
ssh-keygen -t rsa

在hd1上
cat id_rsa.pub >> authorized_keys
scp authorized_keys hd2:/home/ubuntu/.ssh

在hd2上
cat id_rsa.pub >> authorized_keys
scp authorized_keys hd1:/home/ubuntu/.ssh

在hd1和hd2上
chmod 600 authorized_keys

测试:
ssh hd1 date
ssh hd2 date


#6、在hd1上下载hadoop 2.8.1
wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz

#7、在hd1上解压缩hadoop 2.8.1
tar zxvf hadoop-2.8.1.tar.gz

#8、在hd1和hd2上分别安装java
sudo apt install default-jre

测试:
java -version

#9、拷贝并建立相应的hadoop文件夹
在hd1上
mkdir /home/ubuntu/hadoop
mv /tmp/hadoop-2.8.1 /home/ubuntu/hadoop/hadoop
mkdir /home/ubuntu/hadoop/hdfs
mkdir /home/ubuntu/hadoop/namenode
mkdir /home/ubuntu/hadoop/tmp

在hd2上
mkdir /home/ubuntu/hadoop
mkdir /home/ubuntu/hadoop/hdfs
mkdir /home/ubuntu//hadoop/tmp

#10、配置hadoop集群文件
配置文件有7个:
/home/ubuntu/hadoop/hadoop/etc/hadoop/hadoop-env.sh
/home/ubuntu/hadoop/hadoop/etc/hadoop/yarn-env.sh
/home/ubuntu/hadoop/hadoop/etc/hadoop/slaves
/home/ubuntu/hadoop/hadoop/etc/hadoop/core-site.xml
/home/ubuntu/hadoop/hadoop/etc/hadoop/hdfs-site.xml
/home/ubuntu/hadoop/hadoop/etc/hadoop/mapred-site.xml
/home/ubuntu/hadoop/hadoop/etc/hadoop/yarn-site.xml

# /home/ubuntu/hadoop/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/
export HADOOP_HOME=/home/hadoop/hadoop

# /home/ubuntu/hadoop/hadoop/etc/hadoop/yarn-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/

# /home/ubuntu/hadoop/hadoop/etc/hadoop/slaves
hd1
hd2

# /home/ubuntu/hadoop/hadoop/etc/hadoop/core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hd1:9000</value>
</property>
<property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/ubuntu/hadoop/tmp</value>
</property>
<property>
    <name>hadoop.proxyuser.hduser.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hduser.groups</name>
    <value>*</value>
</property>

# /home/ubuntu/hadoop/hadoop/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hd1:50070</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hd1:9001</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/ubuntu/hadoop/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/ubuntu/hadoop/hdfs</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.support.append</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.support.broken.append</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
</configuration>


# /home/ubuntu/hadoop/hadoop/etc/hadoop/mapred-site.xml
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hd1:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hd1:19888</value>
</property>

# /home/ubuntu/hadoop/hadoop/etc/hadoop/yarn-site.xml


<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>hd1:8032</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hd1:8030</value>
</property>
<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hd1:8031</value>
</property>
<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hd1:8033</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hd1:8088</value>
</property>

#11、路径文件设置
在hd1上
sudo vim /etc/profile
加入
export PATH=$PATH:/home/ubuntu/hadoop/hadoop/bin:/home/ubuntu/hadoop/hadoop/sbin

在hd2上
sudo vim /etc/profile
加入
export PATH=$PATH:/home/ubuntu/hadoop/hadoop/bin:/home/ubuntu/hadoop/hadoop/sbin

在hd1上
source /etc/profile

#12、格式化hdfs
分发hadoop

scp -r /home/ubuntu/hadoop/hadoop hd2:/home/ubuntu/hadoop

hadoop namenode -format

#13、启动hdfs
start-dfs.sh
原创粉丝点击