使用各类包版本:
来源网站
兰州大学开源社区
下载地址
https://mirror.lzu.edu.cn/ubuntu-releases/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
来源网站
virtualBox官网
下载地址
适用于Windows平台安装的virtualBox6.1
安装三台及以上Ubuntu虚拟机,确保在电脑能承受的极限下,分配的内存和硬盘尽可能大。当虚拟机台数较多时,将虚拟硬盘分配于固态硬盘可提升其性能,因为此时虚拟机瓶颈受到磁盘IO速度限制。
注意,主机的各个用户名必须都相同,这样后续SSH登录比较方便。
使用桥接模式,记录各台主机IP,并确保各台主机之间能相互ping通。
sudo apt install net-tools # 安装网络工具 ifconfig # 查询本机网络信息 ping IP # ping一下IP地址看看能否ping通
sudo apt install vim # 安装vim文本编辑器 sudo vim /etc/hosts # 使用vim编辑网络配置表
在配置表中添加:
第一台虚拟机的IP地址 namenode 第二台虚拟机的IP地址 datanode1 第三台虚拟机的IP地址 datanode2 ......
空格后的名称为此IP对应的虚拟机别名,保存后ping一下这个别名,看是否配置成功。
5. 安装JDK一开始安装了JDK版本比较高,导致部分功能无法运行。
经过查找资料,在此处改成安装 jdk 8 版本。
清华大学镜像
# wget 命令下载 wget -c https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz # 解压缩 tar -zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz # 移动到合适的目录下 sudo mv jdk8u312-b07 /usr/local/jdk8 # 修改环境变量 sudo vim /etc/profile
在环境变量文件末尾添加:
export JAVA_HOME=/usr/local/jdk8 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=.:${JAVA_HOME}/bin:$PATH
source /etc/profile # 使配置立即生效 java -version # 验证安装
openjdk 代表开源JDK,缺少商用插件,其它开源插件需要自己安装
headless 代表缺少显示用的插件,适用于服务器
sudo apt-get update # 更新升级 apt-get sudo apt-get install openssh-server # 安装ssh ssh localhost # 登录本地,设置密码 exit # 每次ssh登录完毕后,都需要退出登录 cd ~/.ssh/ # 进入ssh目录 ssh-keygen -t rsa # 生成rsa秘钥 cat ./id_rsa.pub >> ./authorized_keys # 放入指定目录下,实现免密登录
ssh localhost # 验证免密登录 exit7. 安装Hadoop
Hadoop安装包镜像
选择好安装包后使用wget下载并解压安装
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz tar -zxvf hadoop-3.3.1.tar.gz # 解压缩 sudo mv hadoop-3.3.1 /usr/local/hadoop # 移动到local目录下,注意所有虚拟机hadoop路径要一致8. 配置Hadoop
1)配置环境变量
vim ~/.profile # 编辑profile文件
添加Hadoop环境变量
export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
保存后执行:
source .profile # 刷新配置使其立即生效
执行以下命令验证配置成功:
hadoop version
2) 修改Hadoop配置文件
cd /usr/local/hadoop/etc/hadoop # 切换至hadoop安装目录下的etc/hadoop
修改此目录下的以下六个文件(修改方法参考自此篇博客)
A. core-site.xml:配置通用属性,例如HDFS和MapReduce常用的I/O设置等
B. hdfs-site.xml:Hadoop守护进程配置,包括namenode、辅助namenode和datanode等
C. mapred-site.xml:MapReduce守护进程配置
D. yarn-site.xml:资源调度相关配置
E. workers:有几个datanode工作节点,及每个节点的名称
F. hadoop-env.sh:添加JAVA安装位置
使用 vim 编辑 core-site.xml:
hadoop.tmp.dir file:/usr/local/hadoop/tmp Abase for other temporary directories. fs.defaultFS hdfs://namenode:9000
编辑 hdfs-site.xml(其中的数字3,代表数据副本数,默认为3):
dfs.replication 3 dfs.name.dir /usr/local/hadoop/hdfs/name dfs.data.dir /usr/local/hadoop/hdfs/data
编辑 mapred-site.xml:
mapreduce.framework.name yarn mapreduce.application.classpath $HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*
编辑 yarn-site.xml:
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname namenode yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME
编辑 workers(有几个datanode就写几个):
datanode1 datanode2
编辑 hadoop-env.sh 添加(JAVA安装位置的绝对路径):
export JAVA_HOME=/usr/local/jdk8
3) 启动hadoop
cd /usr/local/hadoop # 切换至安装目录
格式化namenode,第一次启动服务前执行的 *** 作,以后不需要执行。
bin/hadoop namenode -format
配置以下ssh,下述几条命令只需要在namenode上执行即可,其中关于datanode的那条,有几个datanode就分发几次,分发给所有的datanode主机。
echo "ssh" > /etc/pdsh/rcmd_default scp /home/username/.ssh/authorized_keys username@datanode1:~/.ssh/ # 分发秘钥给datanode1 scp /home/username/.ssh/authorized_keys username@datanode2:~/.ssh/ # 分发秘钥给datanode2
注意其中的 username 需要修改为自定义的主机用户名,前述说了所有主机名需要保持一致,具体原因参考此篇博客,如果用户名不一致似乎也有办法,请自行参见所链接博客评论区。
执行下述命令,启动hadoop
sbin/start-all.sh
用浏览器访问【namenode所在的IP地址+端口号9870】访问hadoop默认页面,可验证启动是否成功,或者在 namenode 执行下述命令来查看简要信息。
hadoop dfsadmin -report9. 安装Python miniconda环境
anaconda各版本下载地址
miniconda各版本下载地址
下载 miniconda
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sudo chmod 777 Miniconda3-latest-Linux-x86_64.sh # 赋予权限 sudo bash Miniconda3-latest-Linux-x86_64.sh # 执行
安装结束后执行
vim /etc/profile # 打开环境变量文件
在末尾追加:
export PATH="~/miniconda3/bin:$PATH" # 到安装好的bin目录下
保存后执行:
source /etc/profile # 立即生效
给 conda 添加清华大学镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
验证 conda 安装成功,并查看 conda 版本
conda -V10. 安装hdfs3包
conda install hdfs3 -c conda-forge11.使用hdfs3进行调用测试
输入python命令进入环境
python
测试一下:
from hdfs3 import HDFileSystem # 引用 hdfs3 包 hdfs = HDFileSystem(host='192.168.7.20', port=8020) # 链接 hadoop 8020 端口 # 此处 192.168.7.20 是我 Namenode 的 IP 地址 hdfs.ls('/') # 看一下根目录下有什么 hdfs.mkdir('/mytestPath') # 创建一个文件夹 hdfs.put('~/Desktop/001.txt','/mytestPath/001.txt') # 从本地传一个文件txt上去
其它一些命令参见此篇博客
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)