构建Hadoop分布式集群搭建
首先在Linux系统中,创建了名为hadoop的用户,操作流程如下:
创建用户:sudo useradd -m hadoop -s /bin
设置密码; sudo passwd hadoop
为hadoop用户增加管理员权限:sudo adduser hadoop sudo
安装openjdk-8-jdk,安装好后找到相应路径,接着在~/.bashrc配置JAVA_HOME环境变量,
sudo vi ~/.bashrc
Export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
source ~/.bashrc
为了便于区分,修改三个节点的主机名称分别为master、slave1、slave2。设置桥接模式配置三台主机的hosts文件,重启生效。
配置SSH无密码登录节点,因为Ubuntu中默认没有安装SSH服务所以先执行如下命令:
sudo apt-get install openssh-server #安装服务
sudo /etc/init.d/ssh restart #启动服务
sudo ufw disable #关闭防火墙
执行以下命令查看是否成功运行,运行成功会出现两个进程,
ps -e|grep ssh
在master节点生成SSH公钥,公钥储存在/home/hadoop/.ssh中,
cd ~/.ssh
ssh-keygen -t rsa
让master节点可以无密码登录SSH本机,在maser节点上执行
cat ./id_rsa.pub>>./authorized_keys
在master节点上将公匙传输到 slave1节点,过程中需要输入 slave1 节点的密码,
scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/
在 slave1节点上,把公钥加入授权
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
对 slave2 重复上面俩步,这样 master 节点就可以无密码登陆俩个 slave 节点了。
1.1hadoop安装
将下载好的安装包放入 ~/下载路径中,将 Hadoop 安装至 /usr/local/ 中
sudo tar -zxf ~/下载/hadoop-2.7.7.tar.gz -C /usr/local
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop
配置 Hadoop 环境变量时将 Hadoop 安装目录加入环境变量中,方便在任意目录中使用 Hadoop 指令。在 master 节点执行如下命令:
sudo gedit ~/.bashrc
export HADOOP_PATH=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
source ~/.bashrc
修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件配置分布式集群环境。slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml;将 slave1,slave2 主机名字加入到slaves文件中,
core-site.xml 配置如下:
hdfs-site.xml 配置如下:有俩个 slave 节点,因此可以将 dfs.replication 的值设为 2
mapred-site.xml默认文件名为 mapred-site.xml.template ,此时需要重命名 mv mapred-site.xml.template mapred-site.xml
配置如下:
yarn-site.xml 配置如下:
配置好以后,将 master 节点上的 /usr/local/Hadoop 文件夹复制到剩余节点上。在 master 节点执行如下命令:
cd /usr/local
tar -zcf ~/hadoop.master.tar.gz ./hadoop
scp ./hadoop.master.tar.gz slave1:/home/hadoop
scp ./hadoop.master.tar.gz slave2:/home/hadoop
在另外两个slave节点上执行如下命令:
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
启动 Hadoop 需要将 master 节点格式化命令如下:
hdfs namenode -format
启动命令如下:
start-dfs.sh
start-yarn.sh
输入JPS命令查看各个节点的进程如下: