Edit: I seem to have misunderstood the problem. See Omnifarious' answer, which is more appropritate.
If you take the length of the acceleration vector, that is not going to give you the total distance traveled. This is going to be a bit more complex than that:
- Set your distance (scalar) and velocity (vector) to 0 to start with.
- At each time interval, add the current acceleration vector to the velocity vector to compute an updated velocity vector.
- At each time interval, add the magnitude of the velocity vector to the distance to accumulate the distance traveled.
- If these intervals are not unit intervals in whatever time coordinate system you are using, then scale the acceleration and velocity vectors appropriately. For example, if you acceleration is expressed in m/s^2 and your sampling interval is 100ms, then scale the acceleration vector by 0.1 before adding it to the velocity vector. Likewise when accumulating velocity into distance.
For example, suppose you accelerate a bit and then travel at a steady speed, the acceleration vector is going to be 0. However, since some velocity has built up, the distance traveled should steadily keep on increasing.
If you want to track the actual position, then maintain that as a vector, and keep adding the current velocity vector to it at each interval of time.
This is inertial navigation by dead reckoning, and errors will start to accumulate (in the velocity vector, and hence over the distance) over time. You need to do some experimentation to see what kind of accuracy you can hope to get.