一.创建用户
- useradd -m hadoop -s /bin/bash
- passwd hadoop //接着使用如下命令设置密码,可简单设置为
- hadoop adduser hadoop sudo //可为 hadoop 用户增加管理员权限,方便部署
接下来我们要配置静态ip否则分配的ip一变就全完了。
第一:修改主机名——sudo vi /ettc/hostname——把主机名改成想要的设置的名字
第二:修改对应的hosts文件—— sudo vi /etc/hosts
配置/etc/network/interfaces,
配置如下:
主节点:
interfaces(6) file used by ifup(8) and ifdown(8)
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens33 #网卡名
iface ens33 inet static #静态配置
address 10.12.18.47
netmark 255.255.255.0
gateway 10.12.18.2#网关
次1节点:
interfaces(6) file used by ifup(8) and ifdown(8)
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens33 #网卡名
iface ens33 inet static #静态配置
address 10.12.18.48
netmark 255.255.255.0
gateway 10.12.18.2#网关
剩下一个就不贴出来了,一样的。
二.安装jdk
官网下载好linux版的对应位数的jdk,导入我们的ubuntu系统。
解压 tar -zxvf 下载好的jdk全名 -C /opt/
这下子我们就把解压到/opt/了
有了文件我们接下来就需要进行环境的配置了:
sudo vim /etc/profile
打开配置文件后,在文件的末尾添加以下的配置:
export JAVA_HOME=/home/hadoop/jdk1.6.0_45 #将“JDK安装路径”改为上述命令得到的路
$ export PATH=$JAVA_HOME/bin:$PATH export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
当我们把hadoop安装好之后将它添加进来,使得hadoop能够直接在终端执行。
expor tHADOOP_HOME=/home/cc/hadoop/hadoop-2.6.5/
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
配置完成之后输入命令:source /etc/profile
执行配置文件,
执行之后我们就可以在控制台输入:java -version
出现了java的版本我们就知道安装成功了。
三.安装ssh服务,命令如下
:sudo apt-get install ssh openssh-server
相关命令:
ssh localhost
cd ~/.ssh/
ssh-keygen -t rsa # 一直按enter键就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
赋予 authorized_keys 文件权限
chmod 600 .ssh/authorized_keys
这一步很重要如果authorized_keys的权限是免密登陆的重要依据,如果权限低你还是得输入密码,那样就没意义了。这一步每一个主机里都要配置。
(1)关闭防火墙
对每个虚拟机进行如下操作:
su
chkconfig iptables off
执行后重启虚拟机: reboot
上面的步骤我们需要在每台虚拟机上布置
安装hadoop可以只在主节点安装:
-
安装hadoop
相关命令:
sudo tar -xvzf hadoop-2.6.0.tar.gz -C /usr/local/ # 解压到/usr/local中
cd /usr/local/
sudo mv hadoop-2.6.0 ./hadoop # 改文件名
sudo chown -R hadoop ./hadoop # 修改所属用户与所属用户组
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息。
相关命令:
cd /usr/local/hadoop
bin/hadoop version
如图所示,hadoop的单机已经安装完毕
配置Hadoop3.0.0
到网站下载对应的压缩文件到master的根目录或者任意目录下,由于出于学习的目的可以直接放置在根目录下即可。解压得到hadoop-3.0.0文件夹,进入目录/hadoop-3.0.0/etc/hadoop进行一系列配置
**core-site.xml**
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///home/hadoop/hadoop-3.0.0/tmp</value>
</property>
</configuration>
**hdfs-site.xml**
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/hadoop-3.0.0/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoop/hadoop-3.0.0/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:9001</value>
</property>
</configuration>
**yarn-site.xml**
<configuration>
<!-- Site specific YARN configuration properties -->
<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.ShuffleHandle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8040</value>
</property>
</configuration>
**mapred-site.xml**
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/home/hadoop/hadoop-3.0.0/etc/hadoop,
/home/hadoop/hadoop-3.0.0/share/hadoop/common/*,
/home/hadoop/hadoop-3.0.0/share/hadoop/common/lib/*,
/home/hadoop/hadoop-3.0.0/share/hadoop/hdfs/*,
/home/hadoop/hadoop-3.0.0/share/hadoop/hdfs/lib/*,
/home/hadoop/hadoop-3.0.0/share/hadoop/mapreduce/*,
/home/hadoop/hadoop-3.0.0/share/hadoop/mapreduce/lib/*,
/home/hadoop/hadoop-3.0.0/share/hadoop/yarn/*,
/home/hadoop/hadoop-3.0.0/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
**workers**
注意这边修改的文件就是目录下的workers文件,加入两个slave机器名即可
slave1
slave2
**hadoop-env.sh**
在此文件中加入
export JAVA_HOME=/home/hadoop/tools/jdk1.8.0_161
**yarn-env.sh**
在此文件中加入
export JAVA_HOME=/home/hadoop/tools/jdk1.8.0_161
配置完成后,将hadoop-3.0.0整个文件夹复制到另外两台机器slave1和slave2
scp -r hadoop-3.0.0/ hadoop@slave1:/home/hadoop/
scp -r hadoop-3.0.0/ hadoop@slave2:/home/hadoop/
上面的两个命令也可以用于把主节点的公钥文件idrrsa_keys.pub复制到别的次节点,在移动到对应的authorized_keys文件里。
scp -r hadoop-3.0.0/ hadoop@slave1:/home/hadoop/
启动Hadoop
- 进入bin目录,./hdfs namenode -format
- 进入sbin目录,./start-dfs.sh ./start-yarn.sh
- 查看网页,http://master:8088和http://master:9870,如果打开显示正常则说明整体环境配置成功
测试WordCount小程序
- 查看文件系统中的文件,
hadoop fs -ls /
,其中/
代表根目录 - 在文件系统中创建目录,
hadoop fs -mkdir -p /user/hadoop/
,其中-p
代表把父级目录也同时创建 - 添加文件到文件系统中,
hadoop fs -put a.txt /user/hadoop/
,其中a.txt
为任意创建的一个文本作为词频统计的输入 - 运行
hadoop jar hadoop-3.0.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount a.txt wordcount
,无错误即可 - 查看结果,
hadoop fs -cat /user/hadoop/wordcount/part-r-00000