赞
踩
sudo ufw disable
sudo ufw status
#ubuntu 开启/关闭防火墙命令: sudo ufw enable|disable
1.添加用户
sudo adduser hadoop
#密码:hadoop
2.将用户添加到sudo组
sudo usermod -aG sudo Hadoop
3.配置使用sudo命令不需要输入密码
sudo vim /etc/sudoers
#在文件末尾添加以下内容,输入wq!保存退出
hadoop ALL=(ALL) NOPASSWD: ALL
1.添加两张网卡,VMnet1和VMnet8
2.设置网卡的网络模式,VMnet1设置为仅主机模式,用于本地连接,VMnet8设置为NAT模式,用于连接外网
3.配置静态ip地址(这里需要为网卡ens38配置ip地址,它对应的VMnet1网卡,ens33对应的是VMnet8网卡,它不需要配置,它会自动通过dhcp获取ip地址,从而是实现访问外网)
#先关闭再启动
4.查看ip配置情况
修改hostname
sudo vim /etc/hostname
#将用户名改为hadoop01
cat /etc/hostname
hadoop01
添加ip和hostname对应关系
sudo vim /etc/hosts
重启服务器
sudo reboot
1.设置时区
sudo timedatectl set-timezone Asia/Shanghai
2.同步时间
sudo ntpdate time.windows.com
3.加入定时任务
crontab -e
#选择第二个
* 2 * * * /usr/sbin/ntpdate time.windows.com
4.查看时间是否为当前时间
sudo apt install -y ssh
sudo /etc/init.d/ssh start
ssh-keygen
ssh-copy-id hadoop@hadoop01
验证无密码登录
1.创建存放各应用配置文件的目录
mkdir /home/hadoop/apps
2.使用rz命令上传hadoop,jdk等安装包到/home/hadoop目录下
cd /home/hadoop
rz
3.解压安装包
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /home/hadoop/apps/
4.添加以下内容到环境变量
vim /home/hadoop/.profile
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /home/hadoop/.profile
java -version
执行以下命令解压
tar -zxvf hadoop-3.2.4.tar.gz -C /home/hadoop/apps/
执行以下命令添加hadoop环境变量
vim /home/hadoop/.profile
#修改后的文件内容如下
#####HADOOP#####
export HADOOP_HOME=/home/hadoop/apps/hadoop-3.2.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
执行以下命令使得环境变量生效
source /home/hadoop/.profile
执行以下命令创建 HDFS 存储目录
cd /home/hadoop/apps/hadoop-3.2.4
mkdir dfs tmp
cd dfs
mkdir name data
目录的作用如下:
/dfs/name - 存储namenode文件
/dfs/data - 存储数据
/dfs/tmp - 存储临时文件
执行以下命令修改配置文件hadoop-env.sh和yarn-env.sh
vim /home/hadoop/apps/hadoop-3.2.4/etc/hadoop/hadoop-env.sh
#修改后的文件内容如下
// export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_151
vim /home/hadoop/apps/hadoop-3.2.4/etc/hadoop/yarn-env.sh
#修改后的文件内容如下
// export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_151
执行以下命令配置workers文件
vim /home/hadoop/apps/hadoop-3.2.4/etc/hadoop/workers
#修改后的文件内容如下
执行以下命令配置core-site.xml文件
vim /home/hadoop/apps/hadoop-3.2.4/etc/hadoop/core-site.xml ##<configuration></configuration>中加入 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/apps/hadoop-3.2.4/tmp</value> </property> <property> <name>io.file.buffer.size</name> <value>131702</value> </property> </configuration>
执行以下命令配置hdfs-site.xml文件
vim /home/hadoop/apps/hadoop-3.2.4/etc/hadoop/hdfs-site.xml ##<configuration></configuration>中加入 <configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop01:50070</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/apps/hadoop-3.2.4/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/apps/hadoop-3.2.4/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
执行以下命令配置mapred-site.xml
vim /home/hadoop/apps/hadoop-3.2.4/etc/hadoop/mapred-site.xml
##<configuration></configuration>中加入
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
执行以下命令配置yarn-site.xml
vim /home/hadoop/apps/hadoop-3.2.4/etc/hadoop/yarn-site.xml ##<configuration></configuration>中加入 <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop01</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> </configuration>
执行以下命令格式化文件系统
cd /home/hadoop/apps/hadoop-3.2.4/bin/
./hdfs namenode -format
执行以下命令启动hadoop
cd /home/hadoop/apps/hadoop-3.2.4/sbin/
./start-all.sh
执行以下命令查看进程
jps
访问Yarn管理页,浏览器输入: 192.168.1.215:8088
查看namenode管理页面,在浏览器输入: 192.168.1.215:9870
查看SecondaryNameNode管理页面,在浏览器输入: 192.168.1.215:50070
tar -zxvf /home/hadoop/apache-hive-3.1.2-bin.tar.gz -C /home/hadoop/apps/
mv /home/hadoop/apps/apache-hive-3.1.2-bin /home/hadoop/apps/hive
vi /home/hadoop/.bash_profile
#####HIVE#####
export HIVE_HOME=/home/hadoop/apps/hive
export PATH=$HIVE_HOME/bin:$PATH
source /home/hadoop/.bash_profile
#创建hive工作目录
hdfs dfs -mkdir -p /user/hive/warehouse
cd /home/hadoop/apps/hive/conf
touch hive-site.xml
chmod +x hive-site.xml
vi hive-site.xml #做如下配置 <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive3?characterEncoding=UTF-8&useSSL=false</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive3</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive3</value> <description>password to use against metastore database</description> </property> <!-- Hive 元数据存储版本的验证 --> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> <!--元数据存储授权--> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <!-- Hive 默认在 HDFS 的工作目录 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <!-- 指定 hiveserver2 连接的 host --> <property> <name>hive.server2.thrift.bind.host</name> <value>localhost</value> </property> <!-- 指定 hiveserver2 连接的端口号 --> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.active.passive.ha.enable</name> <value>true</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <property> <name>hive.server2.enable.doAs</name> <value>false</value> </property> </configuration>
mv mysql-connector-java-5.1.48.jar /home/hadoop/apps/hive/lib/
将和hadoop冲突包移走
mv /home/hadoop/apps/hive/lib/log4j-slf4j-impl-2.10.0.jar /home/hadoop/apps/hive/
mysql -uroot -p123456
#创建hive数据库和连接用户
mysql> create database hive3;
mysql> alter database hive3 character set latin1;
mysql> grant all on *.* to hive3@'%' identified by 'hive3';
mysql> flush privileges;
mysql> exit;
#重启mysql
sudo systemctl restart mysql
输入命令:
hadoop classpath
cd /home/hadoop/apps/hadoop-3.2.4/etc/hadoop/
vi yarn-site.xml
#将上面的hadoop classpath输出的添加到里面来
<property>
<name>yarn.application.classpath</name>
<value>复制的hadoop classpath信息</value>
</property>
cd /home/hadoop/apps/hive/bin
./schematool -dbType mysql -initSchema
cd /home/hadoop/apps/hive/bin
nohup hive --service metastore > /dev/null 2>&1 &
nohup hive --service hiveserver2 > /dev/null 2>&1 &
beeline -u jdbc:hive2://localhost:10000 -n hadoop
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。