开源地址 https://github.com/wangxiaoleiAI/big-data
卜算子·大数据 目录
开源“卜算子·大数据”系列文章、源码,面向大数据(分布式计算)的编程、应用、架构——每周更新!Linux、Java、Hadoop、Spark、Sqoop、hive、pig、hbase、zookeeper、Oozie、flink…etc
本节主要内容:
通过wget下载linux版jdk
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz
Java解压缩、移动到/opt/java/路径下
#解压
tar -zxf
# 移动至/opt/java 下
tar -zxf jdk-8u172-linux-x64.tar.gz
sudo mkdir -p /opt/java
sudo mv jdk1.8.0_172/ /opt/java/
添加java环境变量
sudo vim /etc/profile.d/jdk-1.8.sh
添加如下内容
#!/bin/sh
# Author:wangxiaolei 王小雷
# Github: https://github.com/wangxiaoleiai
export JAVA_HOME=/opt/java/jdk1.8.0_172
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
Java环境变量生效
source /etc/profile
查看Java
java -version
Java配置过程结束,按此依次配置其他服务器
安装必要依赖
sudo apt install ssh
sudo apt install pdsh
配置Keygen
# 输入以下命令,一路回车完成
ssh-keygen -t rsa
修改hosts配置文件
sudo vim /etc/hosts
master免密登录到worker中
ssh-copy-id -i ~/.ssh/id_rsa.pub master
ssh-copy-id -i ~/.ssh/id_rsa.pub worker1
ssh-copy-id -i ~/.ssh/id_rsa.pub worker2
查看登录情况,此时不需要输入密码,就可以从Master登录到worker
ssh worker1
下载hadoop3.1.0压缩包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.0/hadoop-3.1.0.tar.gz
tar -zxf hadoop-3.1.0.tar.gz
cd hadoop-3.1.0/etc/hadoop
修改hadoop-env.sh文件
vim hadoop-env.sh
添加如下内容
export JAVA_HOME=/opt/java/jdk1.8.0_172/
vim core-site.xml
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://master:9000value>
property>
<property>
<name>io.file.buffer.sizename>
<value>131072value>
property>
configuration>
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dirname>
<value>/var/lib/hadoop/hdfs/name/value>
property>
<property>
<name>dfs.blocksizename>
<value>268435456value>
property>
<property>
<name>dfs.namenode.handler.count name>
<value>100value>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>/var/lib/hadoop/hdfs/data/value>
property>
<property>
<name>dfs.replicationname>
<value>1value>
property>
configuration>
vim yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>mastervalue>
property>
<property>
<name>yarn.nodemanager.env-whitelistname>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
configuration>
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.application.classpathname>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*value>
property>
configuration>
修改workers文件
vim workers
删除原本的localhost,新增集群worker
worker1
worker2
在master操作,master发送至worker1,worker2
scp -r hadoop-3.1.0 worker1:/home/hadoop/
scp -r hadoop-3.1.0 worker2:/home/hadoop/
在三台主机中操作
sudo mkdir -p /opt/hadoop
sudo mv hadoop-3.1.0 /opt/hadoop/
# 新建rcmd_default文件
# 设置rcmd_default入口,避免出现 master: rcmd: socket: Permission denied
sudo sh -c "echo "ssh" > /etc/pdsh/rcmd_default"
在 三台 服务器上操作如下
- 设置环境的编码
sudo vim /etc/environment
增加如下内容,解决Tab
报错
LANG=en_US.utf-8
LC_ALL=en_US.utf-8
sudo vim /etc/profile.d/hadoop-3.1.0.sh
#!/bin/sh
# Author:wangxiaolei 王小雷
# Github: https://github.com/wangxiaoleiai
export HADOOP_HOME="/opt/hadoop/hadoop-3.1.0"
export PATH="$HADOOP_HOME/bin:$PATH"
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
source /etc/profile
在 三台 主机上操作:在hdfs-site.xml中指定的hdfs文件路径,先创建出来,并把root改为hadoop,使得hadoop有读写权限
sudo mkdir /var/lib/hadoop
sudo chown hadoop:hadoop /var/lib/hadoop/
只在master上操作
cd /opt/hadoop/hadoop-3.1.0/
# 开始格式化
bin/hdfs namenode -format busuanzi
开启所有HDFS进程
sbin/start-dfs.sh
# 查看
jps
开启所有yarn进程
sbin/start-yarn.sh
# 查看
jps
开启
bin/mapred --daemon start historyserver
# 查看
jps
最终集群如下图
此处的web端集群情况查看的ip,为master的服务器ip。
在Master上操作
关闭HDFS进程
sbin/stop-dfs.sh
关闭YARN
sbin/stop-yarn.sh
关闭MapReduce JobHistory 服务
bin/mapred --daemon stop historyserver
# 删除HDFS文件
sudo rm -rf /var/lib/hadoop
# 删除日志文件
sudo rm -rf /opt/hadoop/hadoop-3.1.0/logs/
# 删除hadoop文件
sudo rm -rf /opt/hadoop/hadoop-3.1.0/
# 删除hadoop环境变量
sudo rm -rf /etc/profile.d/hadoop-3.1.0.sh
恭喜,至此,已经拥有了标准的完全分布式大数据集群环境了,你已经走进了大数据。开始探索大数据生态的奇妙之旅。一步一步来,大数据真没那么难。
开源地址:https://github.com/wangxiaoleiAI/big-data
大数据完整知识体系原创,请长按关注微信公众号【从入门到精通】,进群交流、获取一手更新资讯。