接下来我们要配置静态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#网关
剩下一个就不贴出来了,一样的。
官网下载好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的版本我们就知道安装成功了。
: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可以只在主节点安装:
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
到网站下载对应的压缩文件到master的根目录或者任意目录下,由于出于学习的目的可以直接放置在根目录下即可。解压得到hadoop-3.0.0文件夹,进入目录/hadoop-3.0.0/etc/hadoop进行一系列配置
**core-site.xml**
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
file:///home/hadoop/hadoop-3.0.0/tmp
**hdfs-site.xml**
dfs.replication
2
dfs.namenode.name.dir
file:///home/hadoop/hadoop-3.0.0/hdfs/name
dfs.datanode.data.dir
file:///home/hadoop/hadoop-3.0.0/hdfs/data
dfs.namenode.secondary.http-address
slave1:9001
**yarn-site.xml**
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandle
yarn.resourcemanager.resource-tracker.address
master:8025
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.address
master:8040
**mapred-site.xml**
mapreduce.framework.name
yarn
mapreduce.application.classpath
/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/*
**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 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