Harrison's deal is worth just over $27 million, according to CBSSports.com. His deal could reach $50 million.
Harrison finished ninth in voting for the National League Most Valuable Player last season, batting .315 with 13 home runs, 52 RBI, 18 stolen bases and a .347 on-base percentage in 143 games -- all career highs. He was named to the All-Star team for the first time in his career.
"We are pleased to make this commitment to Josh and that Josh has made this commitment to the Pirates," said Pirates general manager Neal Huntington in a press release. "Josh is a very talented, well-rounded player who helps our team win games offensively, defensively and on the bases. Additionally, he is an outstanding person who leads by example with his energy, grit and positivity. We look forward to continuing to work with Josh to achieve our shared goals."
Pittsburgh acquired Harrison from the Chicago Cubs on July 30, 2009. The native of Cincinnati, Ohio, made his big league debut in 2011 and has recorded a career average of .283 with 62 doubles, 20 home runs, 98 RBI and 143 runs scored in 373 games with the Pirates.