一、相关参数
- CentOS 7.3
- Jdk 1.8.1_181
- Hadoop 2.7.6
- 两台阿里云服务器、一台腾讯云服务器
二、修改服务器的主机名和hosts
-
可以通过hostname进行临时性的修改,但为便于管理,需直接进行永久性的修改
-
永久性的修改:hostnamectl set-hostname master将主机名修改为master
- 另外两台云服务器修改为slave1、slave2
- 重启后生效
-
修改/etc/hosts域名映射,master为内网IP、slave1|2为外网IP
- 这点非常重要,以slave1为例:slave1为内网IP、master和slave2为外网IP
三、srt上传文件
通过点击打开SFTP连接窗口,相关命令如下:
- 服务器命令不变,本地命令为在服务器命令之前加一个l,代表本地
- 如:
cd/lcd,ls/lls
- 上传文件是
put
,上传某个目录下的所有文件可以采用put ./*
- 下载文件是
get
,下载某个目录下的所有文件可以采用get ./*
四、jdk的安装(先把安装包上传到指定的目录下)
- 解压释放文件,如
tar -zvxf jdk-8u181-linux-x64.tar.gz
- 在/etc/profile文件中配置JAVA_HOME路径,如:
JAVA_HOME=/opt/soft/jdk1.8.0_181
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
- 保存/etc/profile文件,通过
source /etc/profile
进行更新操作 - 通过
java -version
查询是否安装成功
五、ssh免密码登陆
- 在每一个云服务器上通过
ssh-keygen -t rsa
生成一对公钥和私钥 (在/root/.ssh 目录下) - 通过scp命令将公钥传输到另一台云服务器,例如:
scp id_rsa.pub root@slave1:/root
- 切换到服务器 输入:
cat id_rsa.pub >>/root/.ssh/authorized_keys
六、关闭服务器的防火墙
-
systemctl stop firewalld.service
停止firewall
systemctl disable firewalld.service
禁止防火墙开机启动 - 通过
firewall-cmd --state
命令查看防火墙状态
七、hadoop集群的安装
1.下载hadoop安装包,并上传到服务器对应的管理目录下
- 然后将安装包进行解压,如
tar -zxvf hadoop-2.7.6.tar.gz
- 修改hadoop-env.sh配置文件,添加JAVA_HOME
JAVA_HOME=/opt/soft/jdk1.8.0_181
export JAVA_HOME
5.修改yarn-env.sh配置文件,添加JAVA_HOME同上
6.修改slaves配置文件,添加slave1、slave2
7.修改core-site.xml配置文件,添加如下内容
<property>
<name>fs.defaultFS</name>
#访问路径
<value>hdfs://vdata1:9000</value>
#为名称节点指定的名称和端口号
</property>
<property>
<name>hadoop.tmp.dir</name>
#元数据存放的位置(fsiamge 和 edits 元数据)
<value>/opt/workspace/hadoop/tmp</value>
#此处需要在主节点上创建这个目录
#而从节点不需要,运行时会自动创建
</property>
8.修改hdfs-site.xml配置文件,添加如下内容
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>vdata1:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
#名称节点本地文件 系统中存放元数据文件表的目录
<value>file:/opt/workspace/hadoop/namenode/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/workspace/hadoop/datanode/data</value>
</property>
<property>
<name>dfs.replication</name>
#副本数量
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
#是否开启web上操作HDFS
<value>true</value>
</property>
9.修改 mapred-site.xml配置文件
执行 cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
#决定作业是提交到YARN集群还是使用本作业执行器来本地运行
#该属性的合法值为yarn 或者 local
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>vdata1:10020</value>
#mapreduce的运行历史
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>vdata1:19888</value>
</property>
- 修改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>vdata1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>vdata1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>vdata1:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>vdata1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>vdata1:8088</value>
</property>
11.将相关的配置文件复制到其它的子节点上,如下:
scp * root@vdata3:/opt/soft/hadoop-2.6.0-cdh5.5.0/etc/hadoop/
八、格式化namenode
命令如下hdfs namenode -format
为了执行命令方便可以将HADOOP_HOME配置到/etc/profile的path路径下
HADOOP_HOME=/opt/soft/hadoop-2.7.6
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
九、启动集群
可以通过如下命令方式(sbin目录下)
start-all.sh
启动集群
stop-all.sh
停止集群
输入hadoop version
查看hadoop是否安装成功
十、hadoop常用的命令
显示命令目录:hdfs dfs –help
显示目录:hdfs dfs –ls <path>
创建目录:hdfs dfs –mkdir [-p] <path>
删除目录或文件:hadoop fs -rm [-r|-R] <path>
上传文件:hdfs dfs -put <localsrc > …… <dst>
查看文件内容:hdfs dfs -text <src>;hadoop fs -tail <src>;hadoop fs -cat <src>
配置集群需要远程复制的几点如下
- /etc/hosts
- /etc/profile
- hadoop的所有配置文件
因为备份是3分,所以集群最少的有三台
网友评论